44e2120ac15066624ba97bdc2cd6ef3fab865123
[gnulib.git] / ChangeLog
1 2009-11-13  Eric Blake  <ebb9@byu.net>
2
3         getgroups: avoid compilation failure
4         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
5         * modules/getgroups (Depends-on): Add stdint.
6
7 2009-11-13  Jim Meyering  <meyering@redhat.com>
8
9         test-getgroups: avoid compilation failure
10         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
11
12 2009-11-13  Eric Blake  <ebb9@byu.net>
13
14         mgetgroups: new module, taken from coreutils
15         * modules/mgetgroups: New file.
16         * lib/mgetgroups.h: Likewise.
17         * lib/mgetgroups.c (mgetgroups): Likewise.
18         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
19         * MODULES.html.sh (Users and groups): Mention it.
20
21         getgroups: don't expose GETGROUPS_T to user
22         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
23         an element at a time if GETGROUPS_T is wrong size.
24         * lib/getugroups.h (getugroups): Change signature.
25         * lib/unistd.in.h (getgroups): Likewise.
26         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
27         signature needs fixing.
28         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
29         AC_TYPE_GETGROUPS.
30         * modules/group-member (Depends-on): Add getgroups.
31         * lib/group-member.c (group_info, get_group_info): Use gid_t.
32         (group_member): Rely on getgroups replacement.
33         * lib/getugroups.c (getugroups): Use gid_t.
34         * tests/test-getgroups.c (main): Likewise.
35         * NEWS: Mention the signature change.
36         * doc/posix-functions/getgroups.texi (getgroups): Mention the
37         problem with signature.
38         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
39         GETGROUPS_T is still useful for setgroups.
40
41         getgroups, getugroups: provide stubs for mingw
42         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
43         * lib/getugroups.c (getugroups): Likewise.
44         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
45         function.  Modernize replacement scheme.
46         (gl_PREREQ_GETGROUPS): Delete.
47         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
48         * modules/getgroups (configure.ac): Declare witness.
49         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
50         * modules/unistd (Depends-on): Substitute witness.
51         * lib/unistd.in.h (getgroups): Declare replacement.
52
53         getgroups: avoid calling exit
54         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
55         drop xalloc.
56         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
57         dependencies.
58         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
59         exiting, in the rare case of malloc failure.
60
61         getgroups: fix logic error
62         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
63         has more than 20 groups.
64         * modules/getgroups-tests: New test.
65         * tests/test-getgroups.c: New file.
66
67 2009-11-13  Simon Josefsson  <simon@josefsson.org>
68
69         * tests/test-base64.c: Improve.
70
71 2009-11-13  Simon Josefsson  <simon@josefsson.org>
72
73         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
74         Blake <ebb9@byu.net>.
75
76 2009-11-13  Simon Josefsson  <simon@josefsson.org>
77
78         * tests/test-xvasprintf.c: Add %s%s related checks.
79
80 2009-11-12  Eric Blake  <ebb9@byu.net>
81
82         version-etc: match standards.texi style
83         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
84         and use <> only for URLs.
85
86 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
87
88         fts: do not fail on a submount during traversal
89         * lib/fts.c (fts_build): Read the stat info again after opening
90         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
91         Original report at http://bugzilla.redhat.com/501848.
92
93 2009-11-12  Jim Meyering  <meyering@redhat.com>
94
95         bootstrap: sync from coreutils
96         * build-aux/bootstrap (bootstrap_epilogue): New function.
97         Use git_modules_config in one more place.  This make bootstrap's
98         --gnulib-srcdir option more useful for testing.
99
100         bootstrap: generalize autoheader check
101         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
102         AC_CONFIG_HEADERS.
103
104 2009-11-11  Eric Blake  <ebb9@byu.net>
105
106         mkfifoat: use new modules for Solaris and BSD bugs
107         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
108         * lib/mkfifoat.c (mknodat): Split...
109         * lib/mknodat.c (mknodat): ...into new file.
110         * modules/mkfifoat (Files): Ship new file.
111         (Depends-on): Add mkfifo, mknod.
112         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
113         (Depends-on): Add symlink.
114         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
115         redundant with test_mkfifo.h.
116         (do_mkfifoat, do_mknodat): New helpers.
117
118         mknod: new module
119         * modules/mknod: New file.
120         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
121         * lib/mknod.c (mknod): Likewise.
122         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
123         defaults.
124         * modules/sys_stat (Makefile.am): Substitute them.
125         * lib/sys_stat.in.h (mknod): Declare replacement.
126         * MODULES.html.sh (Support for systems lacking POSIX:2008):
127         Document it.
128         * doc/posix-functions/mknod.texi (mknod): Likewise.
129         * modules/mknod-tests: New test.
130         * tests/test-mknod.c: Likewise.
131
132         mkfifo: new module
133         * modules/mkfifo: New file.
134         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
135         * lib/mkfifo.c (mkfifo): Likewise.
136         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
137         defaults.
138         * modules/sys_stat (Makefile.am): Substitute them.
139         * lib/sys_stat.in.h (mkfifo): Declare replacement.
140         * MODULES.html.sh (Support for systems lacking POSIX:2008):
141         Document it.
142         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
143         * modules/mkfifo-tests: New test.
144         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
145         from test-mkfifoat.c.
146         * tests/test-mkfifo.c: New file.
147
148         readlink: detect FreeBSD bug
149         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
150         slash on symlink.
151         * doc/posix-functions/readlink.texi (readlink): Document the bug.
152         * tests/test-readlink.h (test_readlink): Enhance test.
153
154         symlink: detect FreeBSD bug
155         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
156         slash on symlink.
157         * doc/posix-functions/symlink.texi (symlink): Document the bug.
158         * tests/test-symlink.h (test_symlink): Enhance test.
159
160 2009-11-10  Eric Blake  <ebb9@byu.net>
161
162         link: detect FreeBSD bug
163         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
164         symlink.
165         * doc/posix-functions/link.texi (link): Document the bug.
166         * tests/test-link.h (test_link): Enhance test.
167         * tests/test-linkat.c (main): Update caller.
168
169         unlink, remove: detect FreeBSD bug
170         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
171         slash on symlink.
172         * doc/posix-functions/unlink.texi (unlink): Document the bug.
173         * doc/posix-functions/remove.texi (remove): Likewise.
174         * tests/test-unlink.h (test_unlink): Enhance test.
175         * tests/test-remove.c (main): Likewise.
176
177 2009-11-09  Eric Blake  <ebb9@byu.net>
178
179         rename: detect FreeBSD bug
180         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
181         slash on symlink.
182         * modules/renameat-tests (Depends-on): Add filenamecat.
183         * tests/test-rename.h (test_rename): Allow one more errno.
184         * tests/test-renameat.c (main): Likewise.
185         * doc/posix-functions/rename.texi (rename): Document the bug.
186
187         open: detect FreeBSD bug
188         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
189         symlink.
190         * doc/posix-functions/open.texi (open): Document the bug.
191         * doc/posix-functions/utimes.texi (utimes): Likewise.
192         * tests/test-open.h (test_open): Add parameters, and test symlink
193         handling.
194         * tests/test-open.c (main): Adjust caller.
195         * tests/test-fcntl-safer.c (main): Likewise.
196         * modules/open-tests (Depends-on): Add stdbool, symlink.
197         * modules/fcntl-safer-tests (Depends-on): Likewise.
198         * tests/test-openat.c (main): Add test-open tests.
199
200         stat: detect FreeBSD bug
201         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
202         symlink.
203         * doc/posix-functions/stat.texi (stat): Document the bug.
204         * tests/test-stat.h (test_stat_func): Add argument.
205         * tests/test-stat.c (main): Adjust caller.
206         * tests/test-fstatat.c (main): Likewise.
207         * modules/stat-tests (Depends-on): Add stdbool, symlink.
208         Reported by Jim Meyering.
209
210 2009-11-09  James Youngman  <jay@gnu.org>
211
212         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
213         * lib/strftime.c: Correct placement of #include "ignore-value.h".
214
215 2009-11-08  Jim Meyering  <meyering@redhat.com>
216
217         utimens: remove invalid futimesat call
218         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
219         It used the file descriptor of the target file as the DIR_FD
220         parameter and NULL as the file name.  That caused failure with
221         errno == EFAULT on FreeBSD-8.0-rc2
222
223 2009-11-07  Eric Blake  <ebb9@byu.net>
224
225         fflush, freadseek: use fseeko, not fseek
226         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
227         (clear_ungetc_buffer): Avoid potential problems on large files.
228         * lib/freadseek.c (freadseek): Likewise.
229         * modules/freadseek (Depends-on): Add fseeko.
230         * modules/fseek (configure.ac): Set a witness.
231         * tests/test-fflush.c (main): Use fseeko.
232         * tests/test-fpurge.c (fseek): Disable link warning.
233         * tests/test-freadable.c (fseek): Likewise.
234         * tests/test-freading.c (fseek): Likewise.
235         * tests/test-fseeko.c (fseek): Likewise.
236         * tests/test-ftell.c (fseek): Likewise.
237         * tests/test-ftello.c (fseek): Likewise.
238         * tests/test-fwritable.c (fseek): Likewise.
239         * tests/test-fwriting.c (fseek): Likewise.
240
241 2009-11-06  Simon Josefsson  <simon@josefsson.org>
242
243         * modules/memchr (Depends-on): Drop getpagesize dependency.
244
245 2009-11-06  Simon Josefsson  <simon@josefsson.org>
246
247         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
248         Reported by Ludovic Courtès.
249         * build-aux/pmccabe2html: Improve example usage.
250         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
251
252 2009-11-06  Jim Meyering  <meyering@redhat.com>
253
254         do-release-commit-and-tag: New module.
255         Automate the release-commit and tag process.
256         * build-aux/do-release-commit-and-tag: New script, from coreutils.
257         * modules/do-release-commit-and-tag: New file.
258         * MODULES.html.sh (Support for maintaining and releasing): Add it.
259
260 2009-11-06  Simon Josefsson  <simon@josefsson.org>
261
262         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
263         because test-select.c uses inet_pton.
264
265 2009-11-06  Simon Josefsson  <simon@josefsson.org>
266
267         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
268         GETADDRINFO_LIB.  Bump serial number.
269         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
270         Suggested by Eric Blake <ebb9@byu.net>.
271
272 2009-11-05  Eric Blake  <ebb9@byu.net>
273
274         strtod: detect darwin bug
275         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
276         Reported by Leo Davis.
277
278         freopen-safer: new module
279         * modules/freopen-safer: New module.
280         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
281         * lib/freopen-safer.c (freopen_safer): New file.
282         * lib/stdio-safer.h (freopen_safer): New declaration.
283         * lib/stdio--.h (freopen): New override.
284         * MODULES.html.sh (File stream based Input/Output): Mention it.
285         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
286         freopen-safer module.
287         * doc/posix-functions/stderr.texi (stderr): Likewise.
288         * doc/posix-functions/stdin.texi (stdin): Likewise.
289         * doc/posix-functions/stdout.texi (stdout): Likewise.
290         * modules/freopen-safer-tests: New test.
291         * tests/test-reopen-safer.c: New file.
292
293 2009-11-05  Jim Meyering  <meyering@redhat.com>
294
295         maint.mk: Prohibit inclusion of "close-stream.h" without use.
296         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
297
298 2009-11-05  Simon Josefsson  <simon@josefsson.org>
299
300         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
301
302 2009-11-05  Simon Josefsson  <simon@josefsson.org>
303
304         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
305
306 2009-11-05  Simon Josefsson  <simon@josefsson.org>
307
308         Fix link error.
309         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
310         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
311
312 2009-11-05  Simon Josefsson  <simon@josefsson.org>
313
314         * tests/test-func.c: Also test value of __func__.
315
316 2009-11-05  Simon Josefsson  <simon@josefsson.org>
317
318         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
319         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
320
321 2009-11-05  Bruno Haible  <bruno@clisp.org>
322
323         Fix link error.
324         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
325         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
326         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
327
328 2009-11-05  Bruno Haible  <bruno@clisp.org>
329
330         Tests for module 'inet_pton'.
331         * modules/inet_pton-tests: New file.
332         * tests/test-inet_pton.c: New file.
333
334 2009-11-05  Bruno Haible  <bruno@clisp.org>
335
336         Tests for module 'inet_ntop'.
337         * modules/inet_ntop-tests: New file.
338         * tests/test-inet_ntop.c: New file.
339
340 2009-11-04  Eric Blake  <ebb9@byu.net>
341
342         stdlib-safer: wrap all mkstemp variants
343         * modules/mkostemp (configure.ac): Set witness.
344         * modules/mkostemps (configure.ac): Likewise.
345         * modules/mkstemps (configure.ac): Likewise.
346         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
347         (mkstemps_safer): Wrap more functions.
348         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
349         wrapping.
350         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
351         (mkstemps_safer): Implement the wrappers.
352
353         mkstemps, mkostemps: new modules
354         * modules/mkostemps: New module.
355         * modules/mkstemps: Likewise.
356         * lib/mkostemps.c (mkostemps): New file.
357         * lib/mkstemps.c (mkstemps): Likewise.
358         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
359         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
360         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
361         * modules/stdlib (Makefile.am): Substitute them.
362         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
363         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
364         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
365         * doc/gnulib.texi (Glibc stdlib.h): Include them.
366         * MODULES.html.sh (File system functions): Mention them.
367
368         tempname: resync from glibc
369         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
370         same values for __GT_FILE as glibc.  Abort even when assertions
371         are disabled.
372         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
373         match its value otherwise.  Allow idempotent inclusion.
374         * lib/mkdtemp.c (mkdtemp): Adjust caller.
375         * lib/mkostemp.c (mkostemp): Likewise.
376         * lib/mkstemp.c (mkstemp): Likewise.
377         * lib/tmpfile.c (tmpfile): Likewise.
378         * NEWS: Document this.
379
380         utimens: fix use of futimens on older Linux
381         * lib/utimens.c (fdutimens): Use updated, rather than original,
382         timespec to avoid bug in older Linux kernel.
383         Reported by Simon Josefsson.
384
385 2009-11-04  Bruno Haible  <bruno@clisp.org>
386
387         Make num_processors more flexible and consistent.
388         * lib/nproc.h (enum nproc_query): New type.
389         (num_processors): Add a 'query' argument.
390         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
391         (num_processors): Add a 'query' argument. Test the value of the
392         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
393         mingw, count the number of CPUs available for the current process.
394         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
395         Check for sched_getaffinity and sched_getaffinity_np.
396         * modules/nproc (Depends-on): Add c-ctype, extensions.
397         * NEWS: Mention the change.
398
399 2009-11-03  Bruno Haible  <bruno@clisp.org>
400
401         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
402
403 2009-11-03  Jim Meyering  <meyering@redhat.com>
404
405         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
406         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
407         if it is defined.
408
409 2009-11-02  Eric Blake  <ebb9@byu.net>
410
411         mktime, timegm: share common declaration
412         * lib/mktime-internal.h: New file.
413         * lib/mktime.c: Use it rather than open-coding a declaration.
414         * lib/timegm.c: Likewise.
415         * modules/mktime (Files): Ship it.
416         * modules/timegm (Files): Likewise.
417         Suggested by Bruno Haible.
418
419         test-update-copyright: update test to match script changes
420         * tests/test-update-copyright.sh: Avoid hard-coding perl
421         location.  Don't update *.bak created by earlier runs.
422
423 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
424             Simon Josefsson  <simon@josefsson.org>
425             Bruno Haible  <bruno@clisp.org>
426
427         Fix link error on Solaris 8.
428         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
429         also in libnsl. Define also INET_PTON_LIB.
430         * modules/inet_pton (Link): New section.
431
432 2009-11-02  Simon Josefsson  <simon@josefsson.org>
433             Bruno Haible  <bruno@clisp.org>
434
435         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
436         * modules/inet_ntop (Link): New section.
437         Reported by Boyan Kasarov <bkasarov@gmail.com>.
438
439 2009-11-02  Eric Blake  <ebb9@byu.net>
440
441         maint: avoid compiler warnings in m4 macros
442         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
443         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
444
445 2009-11-02  Simon Josefsson  <simon@josefsson.org>
446
447         * m4/pmccabe2html.m4: Remove file.
448         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
449         function.  Change maintainer.
450         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
451         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
452         Courtès).
453
454 2009-10-31  Eric Blake  <ebb9@byu.net>
455
456         fseeko: fix m4 regression
457         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
458         regression from 2009-10-27.
459         Reported by Ralf Wildenhues.
460
461 2009-10-31  Jim Meyering  <meyering@redhat.com>
462
463         inttostr: aesthetics and improved (compile-time) safety
464         Define inttype_is_signed rather than inttype_is_unsigned,
465         since the sole use is via "#if inttype_is_signed".
466         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
467         inttype_is_unsigned.
468         * lib/offtostr.c (inttype_is_signed): Likewise.
469         * lib/uinttostr.c (inttype_is_signed): Likewise.
470         * lib/umaxtostr.c (inttype_is_signed): Likewise.
471         * lib/inttostr.c (inttostr): Use verify to cross-check the
472         inttype_is_signed value and the signedness of the actual type.
473         * modules/inttostr (Depends-on): Add verify.
474
475 2009-10-30  Eric Blake  <ebb9@byu.net>
476
477         build: avoid compiler warnings
478         * lib/fchmodat.c (lchmod): Mark unused variables.
479         * lib/getopt.c (_getopt_initialize): Likewise.
480         * lib/mktime.c (__mktime_internal): Provide prototype.
481         * lib/inttostr.c (inttostr): Avoid compiler warning even with
482         older gcc that do not understand #pragma GCC diagnostic.
483         * lib/uinttostr.c (inttype_is_unsigned): Define.
484         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
485
486 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
487
488         stat: fix compilation on AIX
489         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
490         only see struct stat64.
491
492 2009-10-30  Eric Blake  <ebb9@byu.net>
493
494         exclude: make more robust
495         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
496         rather than masking a coding bug.
497         Suggested by Bruno Haible.
498
499 2009-10-30  Jim Meyering  <meyering@redhat.com>
500
501         perl scripts: remove #!/usr/bin/perl in favor of more portable...
502         Rather than putting #!/usr/bin/perl on the first line,
503         start with a variant of what's recommended by "man perlrun" that
504         invokes the first "perl" program from your shell's search path.
505         * build-aux/gitlog-to-changelog: Replace #!... as above.
506         Add a "Local Variables" perl mode setting.
507         Prompted by a patch from Ludovic Courtès.
508         Improved by Eric Blake.
509         * build-aux/useless-if-before-free: Likewise.
510         * build-aux/announce-gen: Likewise.
511         * build-aux/update-copyright: Likewise.
512
513 2009-10-29  Eric Blake  <ebb9@byu.net>
514
515         filenamecat-lgpl: adjust clients
516         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
517         filenamecat.
518         * modules/renameat (Depends-on): Likewise.
519
520         filenamecat: split into filenamecat-lgpl
521         * modules/filenamecat-lgpl: New module.
522         * modules/filenamecat (Files): Move library-safe files into
523         filenamecat-lgpl.
524         (Depends-on): Add filenamecat-lgpl.
525         (configure.ac): Declare witness.
526         * lib/filenamecat.h (file_name_concat): Only declare when using
527         GPL module.
528         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
529         Move...
530         * lib/filenamecat-lgpl.c: ...into new file.
531         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
532         (gl_FILE_NAME_CONCAT): Use it.
533         * MODULES.html.sh (File system functions): Mention new module.
534
535         argp: avoid memory leak
536         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
537         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
538         base_name, since the latter malloc()s and can call exit().
539         Leak introduced 2006-07-03.
540
541         dirname-lgpl: adjust clients that don't need full dirname
542         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
543         * modules/filenamecat (Depends-on): Likewise.
544         * modules/linkat (Depends-on): Likewise.
545         * modules/mkancesdirs (Depends-on): Likewise.
546         * modules/mkdir (Depends-on): Likewise.
547         * modules/openat (Depends-on): Likewise.
548         * modules/savewd (Depends-on): Likewise.
549         * modules/rename (Depends-on): Likewise.
550         (License): Relax license.
551         * modules/mkdir-tests (Depends-on): Drop progname.
552         (Makefile.am): Delete unneeded LDADD.
553         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
554
555         dirname: split into dirname-lgpl
556         * modules/dirname-lgpl: New module.
557         * modules/dirname (Files): Move library-safe files into
558         dirname-lgpl.
559         (Depends-on): Add dirname-lgpl.
560         (configure.ac): Declare witness.
561         * modules/double-slash-root (License): Relax license.
562         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
563         module.
564         * lib/dirname.c (dir_len, mdir_name): Move...
565         * lib/dirname-lgpl.c: ...into new file.
566         * lib/basename.c (last_component, base_len): Move...
567         * lib/basename-lgpl.c: ...into new file.
568         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
569         (gl_DIRNAME): Use it.
570         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
571         Mention new module.
572         * modules/dirname-tests (Depends-on): Add progname.
573         * tests/test-dirname.c (program_name): Delete.
574
575         mkdir: make safe for libraries
576         * modules/mkdir (Depends-on): Drop xalloc.
577         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
578         exit.
579
580         tests: avoid some compiler warnings
581         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
582         literals.
583         * tests/test-memchr.c (main): Avoid type mismatch.
584         * tests/test-arpa_inet.c (main): Avoid unused parameters.
585         * tests/test-base64.c (main): Likewise.
586         * tests/test-getdelim.c (main): Likewise.
587         * tests/test-gethostname.c (main): Likewise.
588         * tests/test-getline.c (main): Likewise.
589         * tests/test-netinet_in.c (main): Likewise.
590         * tests/test-select.c (open_server_socket, main): Likewise.
591         * tests/test-select-stdin.c (main): Likewise.
592         * tests/test-sockets.c (main): Likewise.
593         * tests/test-strsignal.c (main): Likewise.
594         * tests/test-sys_select.c (main): Likewise.
595         * tests/test-sys_socket.c (main): Likewise.
596         * tests/test-u64.c (main): Likewise.
597         * tests/test-xfprintf-posix.c (main): Likewise.
598         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
599
600         sockets: avoid compiler warning
601         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
602
603         maint: detect usage(1) and other suspicious exits
604         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
605
606 2009-10-29  Jim Meyering  <meyering@redhat.com>
607
608         timespec: long-to-int truncation could make timespec_cmp malfunction
609         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
610         a multiple of 2^32 nanoseconds as no difference.
611
612 2009-10-28  Jim Meyering  <meyering@redhat.com>
613
614         fprintftime: wrap macro code argument in "do {...} while(0)"
615         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
616         cpy macro must be a statement that can be followed by a semicolon.
617         Now that the else clause contains a comment and is hence longer
618         than one line, I require curly braces.  That in turn requires
619         that we wrap this code block in the standard do...while(0).
620
621         fprintftime: remove stray semicolon from previous change
622         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
623
624         fprintftime: avoid a warning about ignored fwrite return value
625         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
626         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
627         that is unsafe.
628         * modules/fprintftime (Depends-on): Add ignore-value.
629
630         exclude: avoid an unwarranted warning
631         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
632
633 2009-10-27  Eric Blake  <ebb9@byu.net>
634
635         fseek: avoid compilation failure when fflush is replaced
636         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
637         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
638         module is in use.
639         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
640         module is not in use; since REPLACE_FSEEK worked otherwise.
641         (GNULIB_FTELLO): Likewise for ftell.
642         Reported by Ian Beckwith and others.
643
644 2009-10-27  Bruno Haible  <bruno@clisp.org>
645
646         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
647         Reported by Jim Meyering.
648
649 2009-10-27  Jim Meyering  <jim@meyering.net>
650             Bruno Haible  <bruno@clisp.org>
651
652         Avoid warning despite dropping the return value of fwrite.
653         * lib/unicodeio.c: Include ignore-value.h.
654         (fwrite_success_callback): Explicitly ignore fwrite's return value.
655         * modules/unicodeio (Depends-on): Add ignore-value.
656
657 2009-10-26  Eric Blake  <ebb9@byu.net>
658
659         areadlinkat: fix fallback path
660         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
661         pointer and zero.
662
663 2009-10-22  Pádraig Brady  <P@draigBrady.com>
664
665         Use a better IO block size for modern systems
666         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
667         * lib/md2.c: Likewise.
668         * lib/md4.c: Likewise.
669         * lib/md5.c: Likewise.
670         * lib/sha1.c: Likewise.
671         * lib/sha256.c: Likewise.
672         * lib/sha512.c: Likewise.
673
674 2009-10-22  Eric Blake  <ebb9@byu.net>
675
676         tests: avoid several compiler warnings
677         * tests/test-getcwd.c (main): Avoid buffer underflow.
678         * tests/test-getdate.c (main): String literals are not safe with
679         putenv, so use setenv.  Declare unused argument.
680         * modules/getdate-tests (Depends-on): Add setenv.
681         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
682         problems with string literals in char *.
683         * tests/test-hash.c (main): Avoid shadowing declaration.
684         (insert_new): Treat string literals as char const *.
685         * tests/test-getopt.h (test_getopt): Likewise.
686         (getopt_loop): Alter types to minimize casting elsewhere.
687         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
688         (test_getopt_long_posix): Likewise.
689         (do_getopt_long): Add wrapper to minimize casting.
690         * tests/test-atexit.c (clear_temp_file): Use void.
691         * tests/test-areadlink-with-size.c (main): Declare unused
692         arguments.
693         * tests/test-areadlink.c (main): Likewise.
694         * tests/test-areadlinkat-with-size.c (main): Likewise.
695         * tests/test-areadlinkat.c (main): Likewise.
696         * tests/test-canonicalize-lgpl.c (main): Likewise.
697         * tests/test-canonicalize.c (main): Likewise.
698         * tests/test-dirent-safer.c (main): Likewise.
699         * tests/test-dirname.c (main): Likewise.
700         * tests/test-dup2.c (main): Likewise.
701         * tests/test-fchdir.c (main): Likewise.
702         * tests/test-fcntl-h.c (main): Likewise.
703         * tests/test-fcntl-safer.c (main): Likewise.
704         * tests/test-fdopendir.c (main): Likewise.
705         * tests/test-fdutimensat.c (main): Likewise.
706         * tests/test-fflush.c (main): Likewise.
707         * tests/test-filenamecat.c (main): Likewise.
708         * tests/test-filevercmp.c (main): Likewise.
709         * tests/test-fopen-safer.c (main): Likewise.
710         * tests/test-fopen.c (main): Likewise.
711         * tests/test-fpending.c (main): Likewise.
712         * tests/test-fpurge.c (main): Likewise.
713         * tests/test-freading.c (main): Likewise.
714         * tests/test-fstatat.c (main): Likewise.
715         * tests/test-fsync.c (main): Likewise.
716         * tests/test-futimens.c (main): Likewise.
717         * tests/test-getndelim2.c (main): Likewise.
718         * tests/test-gettimeofday.c (main): Likewise.
719         * tests/test-getopt.c (main): Likewise.
720         * tests/test-i-ring.c (main): Likewise.
721         * tests/test-inttypes.c (main): Likewise.
722         * tests/test-link.c (main): Likewise.
723         * tests/test-lstat.c (main): Likewise.
724         * tests/test-math.c (main): Likewise.
725         * tests/test-md5.c (main): Likewise.
726         * tests/test-memchr2.c (main): Likewise.
727         * tests/test-memrchr.c (main): Likewise.
728         * tests/test-mkdir.c (main): Likewise.
729         * tests/test-mkdirat.c (main): Likewise.
730         * tests/test-mkfifoat.c (main): Likewise.
731         * tests/test-open.c (main): Likewise.
732         * tests/test-openat-safer.c (main): Likewise.
733         * tests/test-openat.c (main): Likewise.
734         * tests/test-quotearg.c (main): Likewise.
735         * tests/test-rawmemchr.c (main): Likewise.
736         * tests/test-readlink.c (main): Likewise.
737         * tests/test-remove.c (main): Likewise.
738         * tests/test-rename.c (main): Likewise.
739         * tests/test-renameat.c (main): Likewise.
740         * tests/test-rmdir.c (main): Likewise.
741         * tests/test-sha1.c (main): Likewise.
742         * tests/test-signal.c (main): Likewise.
743         * tests/test-sigaction.c (main): Likewise.
744         * tests/test-stat.c (main): Likewise.
745         * tests/test-stat-time.c (main): Likewise.
746         * tests/test-stddef.c (main): Likewise.
747         * tests/test-stdint.c (main): Likewise.
748         * tests/test-stdio.c (main): Likewise.
749         * tests/test-stdlib.c (main): Likewise.
750         * tests/test-strchrnul.c (main): Likewise.
751         * tests/test-strerror.c (main): Likewise.
752         * tests/test-string.c (main): Likewise.
753         * tests/test-strtod.c (main): Likewise.
754         * tests/test-strverscmp.c (main): Likewise.
755         * tests/test-symlink.c (main): Likewise.
756         * tests/test-symlinkat.c (main): Likewise.
757         * tests/test-sys_stat.c (main): Likewise.
758         * tests/test-sys_time.c (main): Likewise.
759         * tests/test-time.c (main): Likewise.
760         * tests/test-unistd.c (main): Likewise.
761         * tests/test-unlink.c (main): Likewise.
762         * tests/test-unlinkat.c (main): Likewise.
763         * tests/test-utimens.c (main): Likewise.
764         * tests/test-utimensat.c (main): Likewise.
765         * tests/test-version-etc.c (main): Likewise.
766         * tests/test-wchar.c (main): Likewise.
767         * tests/test-wctype.c (main): Likewise.
768         * tests/test-xprintf-posix.c (main): Likewise.
769         * tests/test-posixtm.c (main): Likewise.
770         (STREQ): Delete unused macro.
771         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
772         shadowed variables.
773         * tests/test-memchr.c (main): Likewise.
774
775 2009-10-21  Eric Blake  <ebb9@byu.net>
776
777         areadlinkat: avoid failure on older glibc
778         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
779         rather than mis-comparing 0 against FUNC_RESULT of char*.
780
781 2009-10-21  Bruno Haible  <bruno@clisp.org>
782
783         * modules/stpncpy (License): Relicense under LGPLv2+.
784         Reported by David Lutterkort <lutter@redhat.com>.
785
786 2009-10-20  Eric Blake  <ebb9@byu.net>
787
788         utimensat: work around Solaris 9 bug
789         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
790         has trailing slash bugs.
791         * tests/test-lutimens.h (test_lutimens): Enhance test.
792         * tests/test-utimens.h (test_utimens): Likewise.
793         * doc/posix-functions/utime.texi (utime): Enhance documentation.
794         * doc/posix-functions/utimes.texi (utimes): Likewise.
795         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
796         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
797         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
798         * doc/posix-functions/futimens.texi (futimens): Likewise.
799
800         fdutimensat: new module
801         * modules/fdutimensat: New file.
802         * lib/fdutimensat.c (fdutimensat): Likewise.
803         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
804         * MODULES.html.sh (File system functions): Mention module.
805         * modules/fdutimensat-tests: New test.
806         * tests/test-fdutimensat.c: Likewise.
807
808         doc: regenerate INSTALL
809         * doc/INSTALL: Reflect recent autoconf update.
810         * doc/INSTALL.ISO: Likewise.
811         * doc/INSTALL.UTF-8: Likewise.
812
813 2009-10-20  Pádraig Brady  <P@draigBrady.com>
814
815         acl: warn if ACL support is not detected
816         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
817
818 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
819
820         * lib/nproc.h: Add extern "C" block for C++.
821
822 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
823             Bruno Haible  <bruno@clisp.org>
824
825         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
826         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
827         * doc/posix-functions/isalpha.texi: Likewise.
828         * doc/posix-functions/isblank.texi: Likewise.
829         * doc/posix-functions/iscntrl.texi: Likewise.
830         * doc/posix-functions/isdigit.texi: Likewise.
831         * doc/posix-functions/isgraph.texi: Likewise.
832         * doc/posix-functions/islower.texi: Likewise.
833         * doc/posix-functions/isprint.texi: Likewise.
834         * doc/posix-functions/ispunct.texi: Likewise.
835         * doc/posix-functions/isspace.texi: Likewise.
836         * doc/posix-functions/isupper.texi: Likewise.
837         * doc/posix-functions/isxdigit.texi: Likewise.
838
839 2009-10-18  Bruno Haible  <bruno@clisp.org>
840
841         Tests for module 'isblank'.
842         * modules/isblank-tests: New file.
843         * tests/test-isblank.c: New file.
844
845         New module 'isblank'.
846         * lib/isblank.c: New file.
847         * m4/isblank.m4: New file.
848         * modules/isblank: New file.
849         * doc/posix-functions/isblank.texi: Mention the new module.
850
851 2009-10-18  Bruno Haible  <bruno@clisp.org>
852
853         New module 'ctype'.
854         * lib/ctype.in.h: New file.
855         * m4/ctype.m4: New file.
856         * modules/ctype: New file.
857         * doc/posix-headers/ctype.texi: Mention the new module.
858
859 2009-10-18  Jim Meyering  <meyering@redhat.com>
860
861         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
862         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
863         right after its initialization, rather than farther down.
864         Keeping these in close proximity makes it easier to ensure
865         that each such variable is initialized.  E.g.,
866
867             LIB_CLOCK_GETTIME=
868             AC_SUBST([LIB_CLOCK_GETTIME])
869
870         This change also increments these serial numbers.
871         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
872         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
873         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
874
875 2009-10-18  Bruno Haible  <bruno@clisp.org>
876
877         Don't let environment variables perturb build.
878         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
879         (gl_PREREQ_GETHRXTIME): ... not here.
880
881 2009-10-18  Bruno Haible  <bruno@clisp.org>
882
883         Avoid symlink attack in localcharset module.
884         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
885         (O_NOFOLLOW): Define fallback.
886         (get_charset_aliases): Don't open the file if it is a symbolic link.
887         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
888         gl_FCNTL_H.
889         (gl_FCNTL_H): Require it.
890         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
891         * modules/localcharset (Files): Add m4/fcntl_h.m4.
892         Reported by Fergal Glynn <fglynn@veracode.com>.
893
894 2009-10-18  Bruno Haible  <bruno@clisp.org>
895
896         Implement nproc for mingw.
897         * lib/nproc.c: Include <windows.h>
898         (num_processors): On native Windows platforms, try GetSystemInfo.
899
900 2009-10-18  Bruno Haible  <bruno@clisp.org>
901
902         Implement nproc for IRIX.
903         * lib/nproc.c: Include <sys/sysmp.h>.
904         (num_processors): On IRIX systems, try sysmp.
905         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
906
907 2009-10-18  Bruno Haible  <bruno@clisp.org>
908
909         Implement nproc for HP-UX.
910         * lib/nproc.c: Include <sys/pstat.h>
911         (num_processors): On HP-UX systems, try pstat_getdynamic.
912         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
913         pstat_getdynamic.
914
915 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
916             Bruno Haible  <bruno@clisp.org>
917
918         Implement nproc for NetBSD, OpenBSD.
919         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
920         (ARRAY_SIZE): New macro.
921         (num_processors): On BSD systems, try sysctl of HW_NCPU.
922         * m4/nproc.m4: New file.
923         * modules/nproc (Files): Add m4/nproc.m4.
924         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
925         (Makefile.am): Instead, augment lib_SOURCES.
926
927 2009-10-18  Bruno Haible  <bruno@clisp.org>
928
929         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
930         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
931         sys/param.h.
932
933 2009-10-16  Eric Blake  <ebb9@byu.net>
934
935         utimensat: new module
936         * modules/utimensat: New file.
937         * lib/utimensat.c (utimensat): Likewise.
938         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
939         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
940         so we can work around Linux bugs.
941         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
942         * modules/sys_stat (Makefile.am): Substitute them.
943         * lib/sys_stat.in.h (utimensat): Declare it.
944         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
945         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
946         * modules/utimensat-tests: New test.
947         * tests/test-utimensat.c: Likewise.
948
949         utimens: let lutimens work on non-symlinks
950         * lib/utimens.c (lutimens): Fall back to utimens rather than
951         failing with ENOSYS, when file is not a symlink.
952         (utimens): Reduce redirection.
953         * tests/test-lutimens.h (test_lutimens): Update test to cover
954         non-symlinks.
955         * tests/test-utimens.h (test_utimens): Update test to cover
956         symlinks.
957         * tests/test-utimens.c (main): Update caller.
958
959         utimens: cache whether utimensat syscall works
960         * lib/utimens.c (utimensat_works_really): New cache variable.
961         (fdutimens, lutimens): Use it to avoid failing syscall.
962
963         test-stat-time, test-utimens: improve portability
964         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
965         ext4 on alpha, and for cygwin.
966         * tests/test-utimens-common.h: New file.
967         (nap): Factor delays into single function.
968         * tests/test-lutimens.h (test_lutimens): Use new header.
969         * tests/test-futimens.h (test_futimens): Likewise.
970         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
971         timestamps to occur from same machine, as was done previously for
972         test_utimens.
973         * modules/utimens-tests (Files): Ship new file.
974         * modules/futimens-tests (Files): Likewise.
975         Reported in part by Jim Meyering.
976
977         sys_stat: sort replacement declarations
978         * lib/sys_stat.in.h: Sort declarations.
979         * lib/futimens.c (futimens): Fix typo.
980
981 2009-10-15  Jim Meyering  <meyering@redhat.com>
982
983         don't let environment settings perturb build
984         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
985         could cause a configure-time and/or build-time malfunction.
986         Typically, a configure-time function-in-library test is performed
987         via code like this:
988
989           LIB_VAR=
990           AC_SUBST([LIB_VAR])
991           prefix_saved_LIBS=$LIBS
992             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
993                        [test "$ac_cv_search_FUNC" = "none required" ||
994                         LIB_VAR=$ac_cv_search_FUNC])
995           LIBS=$prefix_saved_LIBS
996
997         However, in each of the files affected by this change, the LIB_VAR=
998         initialization was omitted.  Thus, when set in the environment, its
999         value would propagate into generated Makefiles when FUNC is not found
1000         in LIB_NAME.
1001         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
1002         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
1003         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
1004
1005 2009-10-14  Eric Blake  <ebb9@byu.net>
1006
1007         fchdir: avoid infinite recursion in mingw
1008         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
1009         recursing.
1010
1011         test-stat-time: port to mingw
1012         * tests/test-stat-time.c (force_unlink): Return a value.
1013         (test_ctime) [W32]: Fix compilation error.
1014         (nap): Don't call usleep with too large an argument.  Use
1015         force_unlink.
1016         * doc/pastposix-functions/usleep.texi (usleep): Document the
1017         portability issue.
1018
1019 2009-10-13  Jim Meyering  <meyering@redhat.com>
1020
1021         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
1022         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
1023         * modules/pipe-filter-ii: Likewise.
1024         * modules/sys_socket-tests: Likewise.
1025         * modules/tsearch-tests: Likewise.
1026         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
1027         (check): Depend on it.
1028
1029 2009-10-12  Eric Blake  <ebb9@byu.net>
1030
1031         utimens-tests: port to NFS file systems
1032         * tests/test-utimens.h (test_utimens): Refactor utimecmp
1033         comparisons to avoid spurious failures from timestamp drift
1034         between NFS machines.
1035
1036 2009-10-12  Eric Blake  <ebb9@byu.net>
1037
1038         stat-time-tests: minor cleanups
1039         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
1040         * tests/test-stat-time.c (nap): Separate assignment from call.
1041         Suggested by Paolo Bonzini and Bruno Haible.
1042
1043         sys_stat: guarantee struct timespec
1044         * lib/sys_stat.in.h (includes): Always include <time.h>
1045         * modules/sys_stat (Depends-on): Add time.
1046         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
1047         mode_t permission values.
1048         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
1049         get at subsecond timestamps.
1050
1051 2009-10-10  Eric Blake  <ebb9@byu.net>
1052
1053         futimens: new module
1054         * modules/futimens: New file.
1055         * lib/futimens.c (futimens): Likewise.
1056         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
1057         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
1058         we can work around Linux bugs.
1059         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
1060         * modules/sys_stat (Makefile.am): Substitute them.
1061         * lib/sys_stat.in.h (futimens): Declare it.
1062         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
1063         * doc/posix-functions/futimens.texi (futimens): Likewise.
1064         * modules/futimens-tests: New test.
1065         * tests/test-futimens.c: Likewise.
1066
1067         utimens: introduce fdutimens
1068         * lib/utimens.h (fdutimens): New prototype.
1069         * lib/utimens.c (gl_futimens): Move guts...
1070         (fdutimens): ...to new interface.
1071         * tests/test-utimens.c (do_fdutimens): Use it.
1072
1073         utimens: add UTIME_NOW and UTIME_OMIT support
1074         * lib/utimens.c (validate_timespec, update_timespec): New helper
1075         functions.
1076         (gl_futimens, lutimens): Use them.
1077         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
1078         stdbool, sys_stat.
1079         (Link): Mention resulting library dependency.
1080         * modules/utimecmp (Link): Likewise.
1081         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
1082         (Makefile.am): Pick up library dependency.
1083         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
1084         definition.
1085         * tests/test-sys_stat.c: Test the definitions.
1086         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
1087         * NEWS: Document library dependency.
1088
1089         utimecmp: support symlink timestamps
1090         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
1091         hashing when possible.  Use pathconf when available.
1092         (SYSCALL_RESOLUTION): Recognize tighter resolution.
1093         * modules/utimecmp (Depends-on): Add lstat.
1094
1095         utimens: add lutimens interface
1096         * lib/utimens.c (lutimens): New function.
1097         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
1098         * lib/utimens.h (lutimens): Declare new interface.
1099         * tests/test-utimens.c (main): Enhance test.
1100         * tests/test-lutimens.h (test_lutimens): New file.
1101         * modules/utimens-tests (Files): Distribute it.
1102         (Depends-on): Add symlink.
1103         (configure.ac): Check for usleep.
1104
1105         utimens: validate futimens usage
1106         * lib/utimens.c (gl_futimens): Require valid fd up front, using
1107         fewer syscalls on failure later on.  Avoid compiler warning on
1108         mingw.
1109         * modules/utimens (Depends-on): Add dup2.
1110
1111         utimens: add test
1112         * modules/utimens-tests: New test.
1113         * tests/test-utimens.h: New file.
1114         * tests/test-futimens.h: Likewise.
1115         * tests/test-utimens.c: Likewise.
1116
1117         doc: mention timestamp portability issues
1118         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
1119         instead.
1120         * doc/posix-functions/utime.texi (utime): Likewise.
1121         * doc/posix-functions/utimes.texi (utimes): Likewise.
1122         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
1123         instead.
1124         * doc/posix-functions/futimens.texi (futimens): Mention utimens
1125         module.
1126         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
1127         Mention weakness with symlink timestamps.
1128         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
1129         to utimensat/futimens instead.
1130         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
1131
1132         test-dup2: enhance test
1133         * tests/test-dup2.c (main): Also check AT_FDCWD.
1134
1135         test-stat-time: avoid more spurious failures
1136         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
1137         xfs; and avoid race if the two timestamps cross quantization edge.
1138
1139         relocatable: prefer 'file system' over 'filesystem'
1140         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
1141         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
1142         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
1143         * doc/relocatable.texi (Enabling Relocatability): Likewise.
1144         * lib/relocatable.c (compute_curr_prefix): Likewise.
1145
1146 2009-10-10  Jim Meyering  <meyering@redhat.com>
1147
1148         stat-time-tests: check for the usleep function
1149         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
1150
1151 2009-10-10  Bruno Haible  <bruno@clisp.org>
1152
1153         * modules/xnanosleep: Put the Link section after the Include section.
1154
1155 2009-10-09  Eric Blake  <ebb9@byu.net>
1156
1157         dup2: work around FreeBSD 6.1 bug
1158         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
1159         * doc/posix-functions/dup2.texi (dup2): Document it.
1160         Reported by Nelson H. F. Beebe and Jim Meyering.
1161
1162         test-stat-time: port to buggy NFS clients
1163         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
1164         (test_ctime): Also skip test if mtime and ctime are skewed.
1165
1166         maint: prefer 'file system' over 'filesystem'
1167         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
1168         * doc/posix-functions/lstat.texi (lstat): Likewise.
1169         * lib/file-has-acl.c (file_has_acl): Likewise.
1170         * lib/fwriteerror.c [TEST]: Likewise.
1171         * tests/test-areadlink.h (test_areadlink): Likewise.
1172         * tests/test-areadlinkat-with-size.c (main): Likewise.
1173         * tests/test-areadlinkat.c (main): Likewise.
1174         * tests/test-canonicalize-lgpl.c (main): Likewise.
1175         * tests/test-canonicalize.c (main): Likewise.
1176         * tests/test-fstatat.c (main): Likewise.
1177         * tests/test-linkat.c (main): Likewise.
1178         * tests/test-lstat.h (test_lstat_func): Likewise.
1179         * tests/test-mkdir.h (test_mkdir): Likewise.
1180         * tests/test-readlink.h (test_readlink): Likewise.
1181         * tests/test-remove.c (main): Likewise.
1182         * tests/test-rename.h (test_rename): Likewise.
1183         * tests/test-renameat.c (main): Likewise.
1184         * tests/test-rmdir.h (test_rmdir_func): Likewise.
1185         * tests/test-symlink.h (test_symlink): Likewise.
1186         * tests/test-symlinkat.c (main): Likewise.
1187         * tests/test-unlink.h (test_unlink_func): Likewise.
1188         * tests/test-unlinkat.c (main): Likewise.
1189
1190         maint: make realtime library usage explicit
1191         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
1192         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
1193         * modules/settime (Link): Likewise.
1194         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
1195
1196         test-stat-time: speed up execution
1197         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
1198         warning on mingw.
1199         (nap): New helper function.
1200         (prepare_test): Use it to reduce sleep time.
1201         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
1202         execution.
1203         * modules/stat-time-tests (configure.ac): Check for usleep.
1204
1205 2009-10-09  Jim Meyering  <meyering@redhat.com>
1206
1207         selinux-h: always use getfilecon wrappers
1208         * lib/getfilecon.c: New file.
1209         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
1210         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
1211         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
1212         (fgetfilecon): Provide a stub.
1213         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
1214         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
1215         file unconditionally.
1216         When <selinux/selinux.h> is found, arrange to use wrappers.
1217         * modules/selinux-h (Files): Add getfilecon.c.
1218         (Makefile.am): Substitute include-next-related bits
1219         into the now-always-generated selinux/selinux.h file.
1220         * doc/glibc-functions/lgetfilecon.texi: New file.
1221         * doc/glibc-functions/fgetfilecon.texi: New file.
1222         * doc/glibc-functions/getfilecon.texi: New file.
1223         * doc/glibc-functions/getfilecon-desc.texi: New file.
1224         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
1225         which to pull in the new files.
1226         * MODULES.html.sh (Misc): Add selinux-h.
1227
1228 2009-10-08  Jim Meyering  <meyering@redhat.com>
1229
1230         unistd: fix comment typo
1231         * lib/unistd.in.h (euidaccess): Fix a comment typo.
1232
1233 2009-10-08  Eric Blake  <ebb9@byu.net>
1234
1235         areadlink: use SIZE_MAX consistently
1236         * modules/areadlink (Depends-on): Add stdint.
1237         * modules/areadlink-with-size (Depends-on): Likewise.
1238         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
1239         gives NULL; drop sys/types, since unistd gives size_t; and add
1240         stdint for SIZE_MAX.
1241         (SIZE_MAX): Rely on headers.
1242         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
1243         and add stdint.
1244         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
1245         (SIZE_MAX): Likewise.
1246         (INITIAL_BUF_SIZE): Turn into enum.
1247         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
1248
1249 2009-10-08  Jim Meyering  <meyering@redhat.com>
1250
1251         areadlinkat: avoid compilation failure
1252         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
1253         Fix typo in comment.
1254
1255 2009-10-07  Eric Blake  <ebb9@byu.net>
1256
1257         areadlinkat-with-size: new module
1258         * modules/areadlinkat-with-size: New module.
1259         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
1260         * lib/areadlink.h (areadlinkat): Declare it.
1261         * MODULES.html.sh (File system functions): Mention it.
1262         * modules/areadlinkat-with-size-tests: New test.
1263         * tests/test-areadlinkat-with-size.c: New file.
1264
1265         xreadlinkat: new module
1266         * modules/xreadlinkat: New module.
1267         * lib/xreadlinkat.c (xreadlinkat): New file.
1268         * lib/xreadlink.h (xreadlinkat): Declare it.
1269         * MODULES.html.sh (File system functions): Mention it.
1270
1271         areadlinkat: new module
1272         * lib/at-func.c (FUNC_FAIL): New define.
1273         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
1274         * modules/areadlinkat: New module.
1275         * lib/linkat.c (areadlinkat): Move...
1276         * lib/areadlinkat.c (areadlinkat): ...to new file.
1277         * lib/areadlink.h (areadlinkat): Declare it.
1278         * modules/linkat (Depends-on): Add areadlinkat.
1279         * MODULES.html.sh (File system functions): Mention it.
1280         * modules/areadlinkat-tests: New test.
1281         * tests/test-areadlinkat.c: New file.
1282
1283         areadlink, areadlink-with-size: add tests
1284         * modules/areadlink-tests: New test.
1285         * modules/areadlink-with-size-tests: Likewise.
1286         * tests/test-areadlink.h: New file.
1287         * tests/test-areadlink.c: Likewise.
1288         * tests/test-areadlink-with-size.c: Likewise.
1289
1290         maint: minor cleanups
1291         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
1292         _UNUSED_PARAMETER_ instead.
1293         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
1294         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
1295         * modules/linkat-tests (Files): Distribute test-link.h.
1296
1297         openat, utimens: whitespace cleanup
1298         * lib/openat.c: Prefer space throughout, rather than mix of 8
1299         spaces vs. tabs.
1300         * lib/at-func.c: Likewise.
1301         * lib/utimens.c: Likewise.
1302
1303         openat: avoid using wrong fd
1304         * lib/openat.c (openat_permissive): Reject user's fd if saving the
1305         working directory chooses same fd.
1306         * lib/at-func.c (AT_FUNC_NAME): Likewise.
1307
1308         mkdir, mkdirat: fix cygwin 1.5.x bug
1309         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
1310         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
1311         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
1312         bug.
1313         (gl_PREREQ_MKDIR): Delete unused macro.
1314         * modules/mkdir (Files): Track file rename.
1315         (configure.ac): Update macro name.
1316         * modules/openat (Depends-on): Add mkdir.
1317         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
1318
1319         mkdir, mkdirat: add tests
1320         * modules/mkdir-tests: New test.
1321         * tests/test-mkdir.h: New file.
1322         * tests/test-mkdir.c: Likewise.
1323         * tests/test-mkdirat.c: Likewise.
1324         * modules/openat-tests (Files): Add new files.
1325         (Makefile.am): Run new test.
1326
1327 2009-10-06  Eric Blake  <ebb9@byu.net>
1328
1329         doc: tweak *at function documentation
1330         * doc/posix-functions/faccessat.texi (faccessat): Mention
1331         known issue with replacement.
1332         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
1333         * doc/posix-functions/linkat.texi (linkat): Likewise.
1334         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
1335         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
1336         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
1337         * doc/posix-functions/renameat.texi (renameat): Likewise.
1338         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
1339
1340         openat: fix GNU/Hurd bug in unlinkat
1341         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
1342         broken.
1343         * doc/posix-functions/unlink.texi (unlink): Document this.
1344         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
1345
1346         fdopendir: fix GNU/Hurd bug
1347         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
1348         allowing non-directory fds.
1349         * lib/fdopendir.c (rpl_fdopendir): Work around it.
1350         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
1351         * modules/dirent (Makefile.am): Substitute it.
1352         * lib/dirent.in.h (fdopendir): Declare replacement.
1353         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
1354         * tests/test-fdopendir.c (main): Test something other than
1355         /dev/null, since on Hurd that behaves like a directory.
1356
1357         test-symlink: port to GNU/Hurd
1358         * tests/test-symlink.h (test_symlink): Relax expected errno.
1359
1360         doc: tweak more cygwin information
1361         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
1362         now compatible with glibc.
1363         * doc/posix-functions/getopt.texi (getopt): Likewise.
1364
1365         getopt-gnu: add another test
1366         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
1367         guarantee behavior relied on by m4.
1368         * tests/test-getopt.c (main): Use it.
1369         * modules/getopt-posix-tests (Depends-on): Add setenv.
1370         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
1371
1372         getopt: fix compilation on darwin
1373         * lib/getopt.in.h (includes): Leave breadcrumbs during system
1374         include.
1375         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
1376         Reported by Ludovic Courtès.
1377
1378 2009-10-06  Bruno Haible  <bruno@clisp.org>
1379
1380         * modules/size_max (Description): Discourage its use.
1381         Reported by Simon Josefsson.
1382
1383 2009-10-06  Jim Meyering  <meyering@redhat.com>
1384
1385         linkat: avoid compilation failure
1386         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
1387
1388 2009-10-05  Eric Blake  <ebb9@byu.net>
1389
1390         linkat: support Linux 2.6.17
1391         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
1392         linkat on Linux, but allow cache variable override.
1393         * lib/linkat.c (rpl_linkat): Define override.
1394         * modules/linkat (Depends-on): Add symlinkat.
1395         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
1396         * modules/unistd (Makefile.am): Substitute it.
1397         * lib/unistd.in.h (linkat): Declare replacement.
1398         Reported by Pádraig Brady.
1399
1400         quotearg: port test to systems with C.UTF-8 locale
1401         * tests/test-quotearg.c (struct result_strings): Add another
1402         member, differentiating between C.ASCII and C.UTF-8 handling.
1403         (compare_strings): Add parameter.
1404         (main): Adjust all callers.
1405
1406         getopt: avoid clash with FreeBSD _getopt_internal
1407         * lib/getopt.in.h (_getopt_internal): Override the name.
1408         * lib/getopt_int.h (includes): Pick up any overrides.
1409         Reported by Reuben Thomas.
1410
1411         hash: allow C89 compilation
1412         * lib/hash.c (check_tuning): Move declaration before statement.
1413         Reported by Reuben Thomas.
1414
1415 2009-10-05  Karl Berry  <karl@gnu.org>
1416
1417         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
1418
1419 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
1420             Bruno Haible  <bruno@clisp.org>
1421
1422         * lib/uname.c (uname): Use a table-driven algorithm to compute
1423         Windows NT versions.
1424
1425 2009-10-04  Bruno Haible  <bruno@clisp.org>
1426
1427         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
1428         program_invocation_short_name.
1429         * modules/progname (configure.ac): Test for presence of
1430         program_invocation_short_name.
1431         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
1432
1433 2009-10-04  Bruno Haible  <bruno@clisp.org>
1434
1435         * lib/progname.c (set_program_name): Fix comment.
1436         Reported by Jim Meyering.
1437
1438 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
1439             Bruno Haible  <bruno@clisp.org>
1440
1441         * lib/uname.c: Include <string.h>.
1442         (uname): Do only one call to GetVersionEx in the common case.
1443
1444 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
1445             Bruno Haible  <bruno@clisp.org>
1446
1447         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
1448         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
1449         (uname): Add support for Windows CE and various non-x86 CPU types.
1450
1451 2009-10-03  Bruno Haible  <bruno@clisp.org>
1452
1453         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
1454         invocation to tests/configure.ac.
1455         Reported by Ian Beckwith <ianb@erislabs.net>.
1456
1457 2009-10-02  Eric Blake  <ebb9@byu.net>
1458
1459         fchdir: avoid compiler warning
1460         * lib/fchdir.c (canonicalize_file_name)
1461         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
1462
1463         test-open: support mingw errno values
1464         * tests/test-open.h (test_open): Relax test.
1465         * tests/test-fopen.h (test_fopen): Likewise.
1466         * tests/test-openat-safer.c (main): Likewise.
1467
1468         open: fix opening directory on mingw
1469         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
1470
1471         test-open: on GNU/Hurd, /dev/null is a directory
1472         * tests/test-fopen.h (main): Rename...
1473         (test_fopen): ...to this.  Use a guaranteed non-directory when
1474         confirming open behavior on trailing slash.
1475         * tests/test-openat-safer.c (main): Likewise.
1476         * tests/test-open.h (main): Likewise....
1477         (test_open): ...to this.
1478         * tests/test-fopen.c (main): Adjust caller.
1479         * tests/test-fopen-safer.c (main): Likewise.
1480         * tests/test-open.c (main): Likewise.
1481         * tests/test-fcntl-safer.c (main): Likewise.
1482         Reported by Samuel Thibault.
1483
1484         rename, fchdir: don't ignore chdir failure
1485         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
1486         * lib/rename.c (rpl_rename) [W32]: Likewise.
1487         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
1488         an empty destination directory if source cannot be renamed,
1489         although there is still possibility for failure.
1490         * doc/posix-functions/rename.texi (rename): Document the race.
1491         Reported by Jim Meyering.
1492
1493         maint: cleanup whitespace in recent commits
1494         * lib/rename.c (rpl_rename): Remove tabs.
1495         * tests/test-link.h (test_link): Likewise.
1496         * lib/fchdir.c (get_name): Likewise.
1497         Reported by Jim Meyering.
1498
1499 2009-10-02  Ben Pfaff  <blp@gnu.org>
1500
1501         relocatable-prog-wrapper: Add missing dependency on
1502         double-slash-root.
1503         * modules/relocatable-prog-wrapper: Add dependency.
1504         Reported by Ian Beckwith <ianb@erislabs.net>.
1505
1506 2009-10-02  Eric Blake  <ebb9@byu.net>
1507
1508         renameat: fix Solaris bugs
1509         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
1510         needed fixing.
1511         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
1512         * modules/stdio (Makefile.am): Substitute it.
1513         * lib/stdio.in.h (renameat): Declare replacement.
1514         * lib/renameat.c (rpl_renameat): Implement fix.
1515
1516         renameat: new module
1517         * modules/renameat: New file.
1518         * lib/renameat.c (renameat): Likewise.
1519         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
1520         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
1521         * modules/stdio (Makefile.am): Substitute them.
1522         * lib/stdio.in.h (renameat): Declare it.
1523         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
1524         * doc/posix-functions/renameat.texi (renameat): Likewise.
1525         * modules/renameat-tests: New test.
1526         * tests/test-renameat.c: Likewise.
1527
1528         rename: fix mingw bugs
1529         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
1530         directory overwrite bugs.
1531
1532         rename: fix another cygwin 1.5 bug
1533         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
1534         checks.
1535         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
1536         unnecessary cygwin workarounds.  Also work around bug with moving
1537         full directory onto an empty one.
1538         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
1539
1540         rename-dest-slash: merge into rename module
1541         * modules/rename-dest-slash (Status): Mark obsolete.
1542         (Depends-on): Add rename.
1543         (Files): Let rename do it all.
1544         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
1545         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
1546         * m4/rename-dest-slash.m4: ...so this file can be deleted.
1547         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
1548         * lib/rename.c (rpl_rename): Update comments.
1549
1550         rename: fix cygwin 1.5.x bugs
1551         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
1552         * lib/rename.c (rpl_rename): Work around them.
1553         * modules/rename (Depends-on): Add same-inode.
1554
1555         rename: fix Solaris 10 bug
1556         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
1557         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
1558         was the only bug.
1559
1560         rename: fix Solaris 9 bug
1561         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
1562         on non-directory.  Avoid calling exit.
1563         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
1564         strdup.
1565         * modules/rename-tests (Depends-on): Drop lstat.
1566         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
1567         (gl_PREREQ_RENAME): Delete unused macro.
1568
1569         rename-dest-slash: fix NetBSD bug
1570         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
1571         links.
1572         * modules/rename-dest-slash (Depends-on): Add same-inode.
1573
1574         rename-tests: new test, exposes several platform bugs
1575         * modules/rename-tests: New file.
1576         * tests/test-rename.h: Likewise.
1577         * tests/test-rename.c: Likewise.
1578         * doc/posix-functions/rename.texi (rename): Improve documentation,
1579         including bugs that will eventually be fixed in gnulib.
1580
1581 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
1582
1583         * lib/uname.c: Include <stdlib.h>
1584         (uname): Assume version info is available.
1585
1586 2009-10-02  Jim Meyering  <meyering@redhat.com>
1587
1588         gnu-web-doc-update: correct --help output
1589         * build-aux/gnu-web-doc-update: Make --help output relevant.
1590
1591         gnu-web-doc-update: add standard options
1592         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
1593
1594         gnu-web-doc-update: New module.
1595         Use this script to automatically update the on-line web documentation
1596         for your GNU project at http://www.gnu.org/software/$pkg/manual/
1597         * modules/gnu-web-doc-update: New file, from coreutils.
1598         * build-aux/gnu-web-doc-update: New script.
1599
1600 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
1601
1602         link: LoadLibrary is not needed.
1603         * lib/link.c: Use GetModuleHandle.
1604
1605 2009-10-01  Eric Blake  <ebb9@byu.net>
1606
1607         getopt: bump serial number
1608         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
1609         change.
1610
1611         tests: tighten link, rmdir, and remove tests
1612         * tests/test-link.h (includes): No need to use <config.h> here.
1613         Clean up if directory hard link was created, otherwise test for
1614         trailing '.'.
1615         * tests/test-linkat.c (main): Simplify.
1616         * tests/test-remove.c (main): Enhance test for trailing '.'.
1617         * tests/test-rmdir.h (test_rmdir_func): Likewise.
1618
1619 2009-10-01  Jim Meyering  <meyering@redhat.com>
1620
1621         maint.mk: requiring "make major" was annoying, for a "minor" release.
1622         What is intended is "stable", to contrast with alpha and beta,
1623         so require "make stable", not "make major".
1624         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
1625         (get_tool_versions): Likewise.
1626         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
1627
1628 2009-09-30  Ben Pfaff  <blp@gnu.org>
1629
1630         Fix broken build of replacement for Windows tmpfile().
1631         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
1632         flags argument added along with the 'mkostemp' module.
1633
1634 2009-09-28  Bruno Haible  <bruno@clisp.org>
1635
1636         Avoid identifier clash with POSIX function 'remove' defined as a macro.
1637         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
1638         to 'remove_elt'.
1639         (gl_list_remove): Update.
1640         * lib/gl_list.c (gl_list_remove): Update.
1641         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
1642         to 'remove_elt'.
1643         (gl_oset_remove): Update.
1644         * lib/gl_list.c (gl_oset_remove): Update.
1645         Reported by Eric Blake.
1646
1647 2009-09-28  Eric Blake  <ebb9@byu.net>
1648
1649         doc: mention yet more cygwin 1.7 status
1650         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
1651         cygwin.
1652         * doc/glibc-functions/execvpe.texi (execvpe): New file.
1653         * doc/gnulib.texi (Glibc unistd.h): Mention it.
1654
1655         argp: fix test failure
1656         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
1657         that are not upper-case.  Pass correct range to tolower.
1658
1659 2009-09-27  Jim Meyering  <meyering@redhat.com>
1660
1661         test-yesno: work around sparc-dash here-document infelicity
1662         Without this change, the literal \177 byte in a here document
1663         would make dash 0.5.5.1-3 access uninitialized memory.
1664         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
1665         Instead, use a marker, "@", and filter through tr to create the desired
1666         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
1667
1668 2009-09-27  Bruno Haible  <bruno@clisp.org>
1669
1670         Disable untested support for new flavours of ACLs on AIX.
1671         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
1672         progress.
1673         * lib/set-mode-acl.c (qset_acl): Likewise.
1674
1675 2008-12-07  Bruno Haible  <bruno@clisp.org>
1676
1677         Add support for new flavours of ACLs on AIX. (Untested.)
1678         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
1679         (file_has_acl): Add support for newer AIX.
1680         * lib/set-mode-acl.c (qset_acl): Likewise.
1681         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
1682         Rainer Tammer <tammer@tammer.net>.
1683
1684 2009-09-26  Eric Blake  <ebb9@byu.net>
1685
1686         argp: fix compilation of getopt
1687         * lib/getopt.in.h (includes): Use different guard than glibc.
1688         Reported by Sergey Poznyakoff.
1689
1690         doc: mention more cygwin 1.7 status
1691         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
1692         bug.
1693         * doc/posix-functions/execl.texi (execl): Likewise.
1694         * doc/posix-functions/execle.texi (execle): Likewise.
1695         * doc/posix-functions/execlp.texi (execlp): Likewise.
1696         * doc/posix-functions/execv.texi (execv): Likewise.
1697         * doc/posix-functions/execve.texi (execve): Likewise.
1698         * doc/posix-functions/execvp.texi (execvp): Likewise.
1699         * doc/glibc-functions/canonicalize_file_name.texi
1700         (canonicalize_file_name): Cygwin 1.7 now provides this.
1701         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
1702         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
1703         on AT_SYMLINK_NOFOLLOW.
1704
1705 2009-09-24  Eric Blake  <ebb9@byu.net>
1706
1707         test-linkat: make test more robust
1708         * tests/test-linkat.c (main): Avoid collision with EEXIST.
1709
1710         getopt: fix inclusion guards for cygwin
1711         * modules/getopt-posix (Depends-on): Add include-next.
1712         (Makefile.am): Substitute more items in replacement header.
1713         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
1714         <getopt.h>.
1715         * lib/getopt.in.h (includes): Use split inclusion guard, and
1716         prefer <getopt.h> over include <unistd.h> when one is present.
1717         (option): Also override name of 'struct option'.
1718
1719         same-inode: revert prior change; it is not yet ready
1720         * NEWS: Undo mention of this change.
1721         * lib/same-inode.h (same-inode.h): Undo tri-state change.
1722         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
1723         * lib/cycle-check.c (cycle_check): Likewise.
1724         * lib/same.c (same_name): Likewise.
1725         * lib/at-func2.c (at_func2): Likewise.
1726
1727 2009-09-23  Eric Blake  <ebb9@byu.net>
1728
1729         linkat: new module
1730         * modules/linkat: New file.
1731         * lib/at-func2.c (at_func2): Likewise.
1732         * lib/linkat.c (linkat): Likewise.
1733         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
1734         * lib/openat-priv.h (at_func2): Add declaration.
1735         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
1736         * modules/unistd (Makefile.am): Substitute them.
1737         * lib/unistd.in.h (linkat): Declare it.
1738         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
1739         * doc/posix-functions/linkat.texi (linkat): Likewise.
1740         * doc/posix-functions/link.texi (link): Tweak wording.
1741         * tests/test-link.c (main): Move guts...
1742         * tests/test-link.h (test_link): ...into new file.
1743         * modules/linkat-tests: New test.
1744         * tests/test-linkat.c: Likewise.
1745         * modules/link-tests (Files): Ship new file.
1746         (Depends-on): Add stdbool.
1747
1748         dirname: add library-safe mdir_name
1749         * lib/dirname.h (mdir_name): New prototype.
1750         * lib/dirname.c (dir_name): Move guts...
1751         (mdir_name): ...to new function that avoids xalloc_die.
1752
1753         fchdir: another mingw fix
1754         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
1755         * lib/fchdir.c (get_name): New helper method; skips canonicalize
1756         on mingw (where it has not yet been ported), and make it optional
1757         elsewhere.
1758         (_gl_register_fd): Use it.
1759
1760         same-inode: make SAME_INODE tri-state, to port to mingw
1761         * NEWS: Mention this change.
1762         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
1763         st_ino always being 0.
1764         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
1765         * lib/cycle-check.c (cycle_check): Likewise.
1766         * lib/same.c (same_name): Likewise.
1767
1768         lstat: avoid mingw compilation error
1769         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
1770         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
1771         lstat ourselves.
1772         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
1773         was adequate.
1774         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
1775         the checks for lstat.
1776         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
1777
1778         link: fix test failure on Solaris 9
1779         * lib/link.c (rpl_link): Don't assume link will catch bogus
1780         trailing slash on source.
1781
1782         test-symlinkat: enhance test
1783         * tests/test-readlink.c (main): Move guts...
1784         * tests/test-readlink.h (test_readlink): ...into new file.
1785         * tests/test-symlink.c (main): Move guts...
1786         * tests/test-symlink.h (test_symlink): ...into new file.
1787         * tests/test-symlinkat.c (main): Use new files for further
1788         coverage.
1789         (do_symlink, do_readlink): New helper functions.
1790         * modules/symlink-tests (Files): Ship new file.
1791         (Depends-on): Add stdbool.
1792         * modules/readlink-tests (Files): Ship new file.
1793         (Depends-on): Add stdbool.
1794         * modules/symlinkat-tests (Files): Use new files.
1795
1796 2009-09-23  Eric Blake  <ebb9@byu.net>
1797
1798         readlink: document portability issue with symlink length
1799         * doc/posix-functions/lstat.texi (lstat): Mention that some file
1800         systems have bogus st_size on symlinks, and mention the
1801         areadlink-with-size module.
1802         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
1803         * doc/posix-functions/readlink.texi (readlink): Mention the
1804         areadlink module, and ERANGE failure.
1805         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
1806         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
1807
1808         readlink: fix Solaris 9 bug with trailing slash
1809         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
1810         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
1811         * doc/posix-functions/readlink.texi (readlink): Document this.
1812         * modules/readlink-tests: New test.
1813         * tests/test-readlink.c: Likewise.
1814
1815         readlink: fix cygwin 1.5.x bug with return type
1816         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
1817         * lib/unistd.in.h (readlink): Use ssize_t.
1818         * lib/readlink.c (readlink): Likewise.
1819         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
1820         * modules/unistd (Makefile.am): Substitute it.
1821         * lib/unistd.in.h (readlink): Declare replacement.
1822         * doc/posix-functions/readlink.texi (readlink): Document this.
1823
1824         symlink: use throughout gnulib
1825         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
1826         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
1827         symlink is not used.
1828         * modules/symlinkat (Depends-on): Add symlink.
1829         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
1830         * modules/canonicalize-tests (Depends-on): Likewise.
1831         * modules/lstat-tests (Depends-on): Likewise.
1832         * modules/openat-tests (Depends-on): Likewise.
1833         * modules/remove-tests (Depends-on): Likewise.
1834         * modules/rmdir-tests (Depends-on): Likewise.
1835         * modules/unlink-tests (Depends-on): Likewise.
1836         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
1837         * tests/test-canonicalize.c (symlink): Likewise.
1838         * tests/test-fstatat.c (symlink): Likewise.
1839         * tests/test-lstat.c (symlink): Likewise.
1840         * tests/test-remove.c (symlink): Likewise.
1841         * tests/test-rmdir.c (symlink): Likewise.
1842         * tests/test-unlink.c (symlink): Likewise.
1843         * tests/test-unlinkat.c (symlink): Likewise.
1844
1845         symlink: new module, for Solaris 9 bug
1846         * modules/symlink: New file.
1847         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
1848         * lib/symlink.c: Likewise.
1849         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
1850         * modules/unistd (Makefile.am): Substitute them.
1851         * lib/unistd.in.h (symlink): Declare replacement.
1852         * MODULES.html.sh (File system functions): Mention it.
1853         * doc/posix-functions/symlink.texi (symlink): Likewise.
1854         * modules/symlink-tests: New test.
1855         * tests/test-symlink.c: Likewise.
1856
1857 2009-09-23  Bruno Haible  <bruno@clisp.org>
1858
1859         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
1860         when needed.
1861         Test case: gnulib-tool --import --with-tests atexit inttypes.
1862         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
1863
1864 2009-09-23  Bruno Haible  <bruno@clisp.org>
1865
1866         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
1867         subcommand, not in a subshell.
1868
1869 2009-09-22  Eric Blake  <ebb9@byu.net>
1870
1871         unistd: sort replacement declarations
1872         * lib/unistd.in.h: Sort declarations.
1873
1874         open, openat: minor optimization
1875         * lib/open.c (open): If open succeeded, len is non-zero.
1876         * lib/openat.c (rpl_openat): Likewise.
1877
1878         link-follow: ensure correct result
1879         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
1880         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
1881         distinguish between possible failures.
1882
1883 2009-09-21  Eric Blake  <ebb9@byu.net>
1884
1885         fts: avoid compiler warning
1886         * lib/fts.c (dirent_inode_sort_may_be_useful)
1887         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
1888
1889 2009-09-19  Bruno Haible  <bruno@clisp.org>
1890
1891         * lib/progreloc.c (canonicalize_file_name): New declaration.
1892
1893 2009-09-19  Eric Blake  <ebb9@byu.net>
1894
1895         link: fix quoting
1896         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
1897
1898         openat: fix openat bugs on Solaris 9
1899         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
1900         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
1901         * modules/openat (Depends-on): Add open.
1902         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
1903         * modules/fcntl-h (Makefile.am): Substitute it.
1904         * lib/fcntl.in.h (openat): Declare replacement.
1905         * doc/posix-functions/openat.texi (openat): Document this.
1906
1907         openat: move fstatat and unlinkat into correct files
1908         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
1909         compiled.
1910         * lib/openat.c (fstatat, unlinkat): Move...
1911         * lib/fstatat.c (fstatat): ...into correct files.
1912         * lib/unlinkat.c (unlinkat): Likewise.
1913
1914         openat: fix unlinkat bugs on Solaris 9
1915         * lib/unlinkat.c (unlinkat): New file.
1916         * modules/openat (Depends-on): Add unlink.
1917         (Files): Distribute it.
1918         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
1919         trailing slash behavior is broken.
1920         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
1921         * modules/unistd (Makefile.am): Substitute it.
1922         * lib/unistd.in.h (unlinkat): Declare replacement.
1923         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
1924
1925         openat: fix fstatat bugs on Solaris 9
1926         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
1927         stat.
1928         * doc/posix-functions/fstatat.texi (fstatat): Document this.
1929
1930         test-unlinkat: enhance test, to expose Solaris 9 bug
1931         * tests/test-unlink.c (main): Factor guts...
1932         * tests/test-unlink.h (test_rmdir_func): ...into new file.
1933         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
1934         * tests/test-rmdir.c (main): Adjust caller.
1935         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
1936         (unlinker): New helper function.
1937         (rmdirat): Enhance check.
1938         * modules/rmdir-tests (Depends-on): Add stdbool.
1939         * modules/unlink-tests (Depends-on): Likewise.
1940         (Files): Add test-unlink.h.
1941         * modules/openat-tests (Files): Likewise.
1942         (Depends-on): Add unlinkdir.
1943
1944         test-fstatat: new test, to expose Solaris 9 bugs
1945         * tests/test-stat.c (main): Factor guts...
1946         * tests/test-stat.h (test_stat_func): ...into new file.
1947         * tests/test-lstat.c (main): Factor guts...
1948         * tests/test-lstat.h (test_lstat_func): ...into new file.
1949         * tests/test-fstatat.c: New file.
1950         * modules/stat-tests (Files): Add test-stat.h.
1951         * modules/lstat-tests (Files): Add test-lstat.h.
1952         (Depends-on): Add stdbool.
1953         * modules/openat-tests (Depends-on): Add pathmax.
1954         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
1955         (Makefile.am): Run new test.
1956
1957         remove: new module, for mingw and Solaris 9 bugs
1958         * modules/remove: New file.
1959         * lib/remove.c: Likewise.
1960         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
1961         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
1962         * modules/stdio (Makefile.am): Use them.
1963         * lib/stdio.in.h (remove): Declare replacement.
1964         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
1965         * doc/posix-functions/remove.texi (remove): Likewise.
1966         * modules/remove-tests: New test.
1967         * tests/test-remove.c: Likewise.
1968
1969         unlink: new module, for Solaris 9 bug
1970         * modules/unlink: New file.
1971         * lib/unlink.c: Likewise.
1972         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
1973         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
1974         * modules/unistd (Makefile.am): Use them.
1975         * lib/unistd.in.h (stat): Declare replacement.
1976         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
1977         * doc/posix-functions/unlink.texi (unlink): Likewise.
1978         * modules/unlink-tests: New test.
1979         * tests/test-unlink.c: Likewise.
1980
1981         lstat: fix Solaris 9 bug
1982         * lib/lstat.c (lstat): Also check for trailing slash on
1983         non-symlink, non-directories.  Use stat module to simplify logic.
1984         * doc/posix-functions/lstat.texi (lstat): Document it.
1985         * modules/lstat-tests (Depends-on): Add errno, same-inode.
1986         (configure.ac): Check for symlink.
1987         * tests/test-lstat.c (main): Add more tests.
1988
1989         stat: add as dependency to other modules
1990         * modules/chown (Depends-on): Add stat.
1991         * modules/euidaccess (Depends-on): Likewise.
1992         * modules/fchdir (Depends-on): Likewise.
1993         * modules/isdir (Depends-on): Likewise.
1994         * modules/link (Depends-on): Likewise.
1995         * modules/lstat (Depends-on): Likewise.
1996         * modules/mkdir-p (Depends-on): Likewise.
1997         * modules/modechange (Depends-on): Likewise.
1998         * modules/open (Depends-on): Likewise.
1999         * modules/readlink (Depends-on): Likewise.
2000         * modules/same (Depends-on): Likewise.
2001
2002         stat: fix Solaris 9 bug
2003         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
2004         slash.
2005         * lib/stat.c (rpl_stat): Work around it.
2006         * doc/posix-functions/stat.texi (stat): Update documentation.
2007
2008         stat: new module, for mingw bug
2009         * modules/stat: New file.
2010         * lib/stat.c: Likewise.
2011         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2012         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
2013         * modules/sys_stat (Makefile.am): Use them.
2014         * lib/sys_stat.in.h (stat): Declare replacement.
2015         * lib/openat.c (fstatat): Deal with lstat and stat being function
2016         macros.
2017         * modules/openat (Depends-on): Add inline.
2018         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
2019         * doc/posix-functions/stat.texi (stat): Likewise.
2020         * modules/stat-tests: New test.
2021         * tests/test-stat.c: Likewise.
2022
2023 2009-09-19  Jim Meyering  <meyering@redhat.com>
2024
2025         syntax-check: detect unnecessary inclusion of canonicalize.h
2026         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
2027
2028 2009-09-19  Eric Blake  <ebb9@byu.net>
2029
2030         canonicalize-lgpl: adjust clients to use correct header
2031         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2032         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
2033         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
2034         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
2035         * lib/progreloc.c (includes): Likewise.
2036
2037 2009-09-19  Jim Meyering  <meyering@redhat.com>
2038
2039         test-posixtm.c: correct a comment
2040         * tests/test-posixtm.c: Correct first-line comment.
2041         Spotted by Eric Blake.
2042
2043 2009-09-16  Jim Meyering  <meyering@redhat.com>
2044
2045         posixtm-tests: make T const-correct; add a test case
2046         * tests/test-posixtm.c (T): Declare const.
2047         Add a test for -(2^31+1).
2048         Remove useless can-succeed-only-in-2002 test.
2049
2050         posixtm-tests: adjust the sole failing test
2051         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
2052         expected output matches what mktime now produces.  Cross-checked via
2053         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
2054
2055         posixtm: move #ifdef'd tests into a new module
2056         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
2057         * tests/test-posixtm.c: ... this new file.
2058         * modules/posixtm-tests: New module.
2059
2060 2009-09-19  Eric Blake  <ebb9@byu.net>
2061
2062         openat: simplify use of at-func.c
2063         * lib/at-func.c (includes): Include prerequisites here, to
2064         simplify requirements on client files.
2065         * lib/openat-priv.h: Add double-inclusion guard.
2066         * lib/faccessat.c (includes): Simplify.
2067         * lib/fchmodat.c (includes): Likewise.
2068         * lib/fchownat.c (includes): Likewise.
2069         * lib/mkdirat.c (includes): Likewise.
2070         * lib/mkfifoat.c (includes): Likewise.
2071         * lib/symlinkat.c (includes): Likewise.
2072
2073         openat: allow return of fd 0
2074         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
2075         * modules/save-cwd (Depends-on): Replace fcntl-safer with
2076         unistd-safer.
2077         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
2078         <fcntl.h>; this module does not leak fds.
2079         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
2080         must be allowed to return 0, leaving openat_safer to add the
2081         safety.
2082         (openat_permissive): Avoid writing to just-opened fd 2 if
2083         restoring the current directory fails.
2084         * lib/openat-die.c (openat_restore_fail): Add comment.
2085         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
2086         (save_cwd): Guarantee safe fd, but without use of open_safer.
2087         * tests/test-openat.c: New test.
2088         * modules/openat-tests (Files, Makefile.am): Distribute and build
2089         new file.
2090
2091         relocatable-prog-wrapper: fix build
2092         * modules/relocatable-prog-wrapper (Files): Update name of
2093         canonicalize m4 file, broken on 2009-09-17.
2094         Reported by emad hajjar <aleppos@hotmail.com>.
2095
2096 2009-09-19  Bruno Haible  <bruno@clisp.org>
2097
2098         * lib/safe-alloc.h: Use the standard header with GPL copyright.
2099         * lib/safe-alloc.c: Likewise.
2100         Reported by Ian Beckwith <ianb@erislabs.net>.
2101
2102 2009-09-18  Bruno Haible  <bruno@clisp.org>
2103
2104         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
2105         Reported by <erobles@sensacd.com.mx>.
2106
2107 2009-09-17  Eric Blake  <ebb9@byu.net>
2108
2109         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
2110         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
2111         slashes when checking if last component is missing.
2112         * tests/test-canonicalize.c (main): Test this.
2113
2114         canonicalize, canonicalize-lgpl: honor // if distinct from /
2115         * modules/canonicalize (Files): Add double-slash-root.m4.
2116         * modules/canonicalize-lgpl (Files): Likewise.
2117         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2118         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
2119         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
2120         fallback definition.
2121         (canonicalize_filename_mode): Use it to protect //.
2122         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
2123         (__realpath): Likewise.
2124         * tests/test-canonicalize.c (main): Test this.
2125         * tests/test-canonicalize-lgpl.c (main): Likewise.
2126         * modules/canonicalize-tests (Depends-on): Add same-inode.
2127         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
2128
2129         canonicalize-lgpl: fix glibc bug with trailing slash
2130         * m4/canonicalize-lgpl.m4: Move contents...
2131         * m4/canonicalize.m4: ...here.
2132         (gl_CANONICALIZE_LGPL): Factor realpath check...
2133         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
2134         glibc 2.3.5 bug, fixed 2005-04-27.
2135         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
2136         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
2137         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
2138         * modules/canonicalize-lgpl (Files): Manage file rename.
2139         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
2140         * modules/stdlib (Makefile.am): Substitute witness.
2141         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
2142         is needed.
2143         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
2144         replacement is required.
2145         * lib/canonicalize.c (canonicalize_file_name): Likewise.
2146         * doc/glibc-functions/canonicalize_file_name.texi
2147         (canonicalize_file_name): Document this.
2148         * doc/posix-functions/realpath.texi (realpath): Likewise.
2149
2150         canonicalize-lgpl: reject non-directory with trailing slash
2151         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
2152         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
2153         catches failures in glibc 2.3.5.
2154         * tests/test-canonicalize.c (main): Likewise.
2155
2156         canonicalize-lgpl: use native realpath if it works
2157         * lib/canonicalize-lgpl.c (realpath): Guard with
2158         FUNC_REALPATH_WORKS.
2159         * lib/stdlib.in.h (realpath): Make declaration optional based on
2160         HAVE_REALPATH.
2161         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
2162         native realpath works.
2163         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
2164         * modules/stdlib (Makefile.am): Substitute witness.
2165
2166         canonicalize, canonicalize-lgpl: use <stdlib.h>
2167         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
2168         (Include): Mention <stdlib.h>.
2169         (configure.ac): Mention functions we provide.
2170         * modules/canonicalize (configure.ac): Likewise.
2171         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
2172         realpath if canonicalize_file_name is missing.
2173         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
2174         * modules/stdlib (Makefile.am): Substitute witnesses.
2175         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
2176         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
2177         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
2178         * NEWS: Document this.
2179         * doc/glibc-functions/canonicalize_file_name.texi
2180         (canonicalize_file_name): Likewise.
2181         * doc/posix-functions/realpath.texi (realpath): Likewise.
2182         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
2183
2184         test-canonicalize: consolidate into single C program
2185         * tests/test-canonicalize.sh: Delete; move setup into...
2186         * tests/test-canonicalize.c (main): ...the program, making it
2187         easier to run in debugger.  Add some tests.
2188         * modules/canonicalize-tests (Files): Remove unused file.
2189         (Depends-on): Add progname.
2190         (configure.ac, Makefile.am): Simplify.
2191
2192         test-canonicalize-lgpl: consolidate into single C program
2193         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
2194         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
2195         easier to run in debugger.  Add some tests.
2196         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
2197         (configure.ac, Makefile.am): Simplify.
2198
2199         canonicalize: avoid resolvepath
2200         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
2201         unnecessary checks.
2202         * lib/canonicalize.c (includes): Simplify.
2203         (canonicalize_file_name): Drop resolvepath implementation.
2204         * modules/canonicalize (Depends-on): Drop filenamecat.
2205
2206         canonicalize: don't lose errno
2207         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
2208         over calls to free.
2209
2210         canonicalize: simplify errno handling
2211         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
2212         assignment.
2213
2214         canonicalize, canonicalize-lgpl: update module dependencies
2215         * modules/canonicalize (Depends-on): Add extensions, lstat,
2216         pathmax, stdlib.
2217         (Files): Drop pathmax.h.
2218         (configure.ac): Adjust macro name.
2219         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
2220         lstat, stdlib, sys_stat.
2221         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
2222         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
2223         extensions.
2224         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
2225         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
2226         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
2227         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
2228         declaration, if available.
2229         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
2230         we can rely on the readlink module.
2231         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
2232         (includes): Use <unistd.h> unconditionally.
2233
2234 2009-09-17  Eric Blake  <ebb9@byu.net>
2235
2236         maint: make Include sections of modules consistent
2237         * modules/alloca: Use only header name; no need to list #include.
2238         * modules/alloca-opt: Likewise.
2239         * modules/arpa_inet: Likewise.
2240         * modules/canon-host: Likewise.
2241         * modules/configmake: Likewise.
2242         * modules/dirent: Likewise.
2243         * modules/eealloc: Likewise.
2244         * modules/environ: Likewise.
2245         * modules/fchdir: Likewise.
2246         * modules/fcntl: Likewise.
2247         * modules/fcntl-h: Likewise.
2248         * modules/gethrxtime: Likewise.
2249         * modules/gettime: Likewise.
2250         * modules/ignore-value: Likewise.
2251         * modules/inet_ntop: Likewise.
2252         * modules/inet_pton: Likewise.
2253         * modules/inttypes: Likewise.
2254         * modules/isnand-nolibm: Likewise.
2255         * modules/isnanf-nolibm: Likewise.
2256         * modules/mbchar: Likewise.
2257         * modules/mbfile: Likewise.
2258         * modules/mbiter: Likewise.
2259         * modules/mbuiter: Likewise.
2260         * modules/netdb: Likewise.
2261         * modules/netinet_in: Likewise.
2262         * modules/nproc: Likewise.
2263         * modules/pagealign_alloc: Likewise.
2264         * modules/poll: Likewise.
2265         * modules/printf-frexp: Likewise.
2266         * modules/pthread: Likewise.
2267         * modules/putenv: Likewise.
2268         * modules/random_r: Likewise.
2269         * modules/relocatable-prog: Likewise.
2270         * modules/search: Likewise.
2271         * modules/select: Likewise.
2272         * modules/selinux-h: Likewise.
2273         * modules/settime: Likewise.
2274         * modules/signal: Likewise.
2275         * modules/size_max: Likewise.
2276         * modules/socklen: Likewise.
2277         * modules/ssize_t: Likewise.
2278         * modules/stdarg: Likewise.
2279         * modules/stdbool: Likewise.
2280         * modules/stddef: Likewise.
2281         * modules/stdint: Likewise.
2282         * modules/stdio: Likewise.
2283         * modules/stdlib: Likewise.
2284         * modules/string: Likewise.
2285         * modules/strings: Likewise.
2286         * modules/sys_file: Likewise.
2287         * modules/sys_ioctl: Likewise.
2288         * modules/sys_select: Likewise.
2289         * modules/sys_socket: Likewise.
2290         * modules/sys_stat: Likewise.
2291         * modules/sys_time: Likewise.
2292         * modules/sys_times: Likewise.
2293         * modules/sys_utsname: Likewise.
2294         * modules/sys_wait: Likewise.
2295         * modules/sysexits: Likewise.
2296         * modules/time: Likewise.
2297         * modules/times: Likewise.
2298         * modules/tmpfile: Likewise.
2299         * modules/trim: Likewise.
2300         * modules/unistd: Likewise.
2301         * modules/wchar: Likewise.
2302         * modules/wctype: Likewise.
2303
2304 2009-09-17  Bruno Haible  <bruno@clisp.org>
2305
2306         Make getdate.y compile on QNX and NetBSD 5 / i386.
2307         * m4/getdate.m4 (gl_GETDATE): Conditionally define
2308         TIME_T_FITS_IN_LONG_INT.
2309         * lib/getdate.y (long_time_t): New type.
2310         (relative_time): Change type of 'seconds' field to long_time_t.
2311         (get_date): Update types of local variables. Check against overflow
2312         during conversion from long_time_t to time_t.
2313         Reported by Matt Kraai <kraai@ftbfs.org>
2314         and Hasso Tepper <hasso@netbsd.org>.
2315
2316 2009-09-17  Bruno Haible  <bruno@clisp.org>
2317
2318         * modules/COPYING: Update copyright years.
2319         * modules/README: Likeiwse.
2320         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
2321         Reported by Ian Beckwith <ianb@erislabs.net>.
2322
2323 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
2324
2325         * users.txt: Update references for gnuit package.
2326
2327 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
2328
2329         * m4/getdelim.m4: Fix typo in copyright line.
2330
2331 2009-09-17  Bruno Haible  <bruno@clisp.org>
2332
2333         * lib/atoll.c: Use the standard header with GPL copyright.
2334         * lib/argz.in.h: Likewise.
2335         * lib/glob.c: Likewise.
2336         * lib/glob-libc.h: Likewise.
2337         * lib/random_r.c: Likewise.
2338         * lib/siglist.h: Likewise.
2339         * lib/strsignal.c: Likewise.
2340         Reported by Ian Beckwith <ianb@erislabs.net>.
2341
2342 2009-09-17  Eric Blake  <ebb9@byu.net>
2343
2344         rmdir: ensure correct dependency order
2345         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
2346
2347 2009-09-17  Bruno Haible  <bruno@clisp.org>
2348
2349         Disable assertion that fails on NetBSD 5 / i386.
2350         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
2351         Reported by Sam Steingold <sds@gnu.org>
2352         and Hasso Tepper <hasso@netbsd.org>.
2353
2354 2009-09-16  Eric Blake  <ebb9@byu.net>
2355
2356         unlinkdir: port to mingw
2357         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
2358         on which no one can unlink a directory.
2359
2360         stdlib: sort witness names
2361         * modules/stdlib (Makefile.am): Sort replacements.
2362         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
2363         * lib/stdlib.in.h: Likewise.
2364
2365         parse-duration-tests: avoid link failure
2366         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
2367         LIBINTL.
2368         Reported by Tom G. Christensen.
2369
2370         openat-tests: ensure unlinkat behaves like rmdir
2371         * tests/test-rmdir.c (main): Factor guts...
2372         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
2373         * modules/rmdir-tests (Files): Ship new file.
2374         * modules/openat-tests: New test.
2375         * tests/test-unlinkat.c: Likewise.
2376
2377         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
2378         * modules/rmdir-errno (Status, Notice): Now obsolete.
2379
2380         rmdir: work around cygwin 1.5.x and mingw bugs
2381         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
2382         * lib/rmdir.c (rmdir): Work around it.
2383         * modules/rmdir (Status, Notice): No longer obsolete.
2384         (Files): Add dos.m4.
2385         (Depends-on): Add unistd.
2386         (configure.ac): Set witnesses.
2387         (License): Relax to LGPLv2+.
2388         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
2389         * modules/unistd (Makefile.am): Substitute witnesses.
2390         * lib/unistd.in.h (rmdir): Declare replacement.
2391         * doc/posix-functions/rmdir.texi (rmdir): Document this.
2392         * modules/rmdir-tests: New tests.
2393         * tests/test-rmdir.c: Likewise.
2394
2395 2009-09-15  Eric Blake  <ebb9@byu.net>
2396
2397         fchdir: improve use of replacement functions
2398         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
2399         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
2400         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
2401         REPLACE_CLOSEDIR.
2402         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
2403         * modules/sys_stat (Makefile.am): Substitute correct witness.
2404         * modules/dirent (Makefile.am): Likewise.
2405         * modules/unistd (Makefile.am): Likewise.
2406         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
2407         * lib/unistd.in.h (dup): Likewise.
2408         * lib/sys_stat.in.h (fstat): Likewise.
2409
2410         maint: ignore gnulib-tool temp files
2411         * .gitignore: Ignore files created during gnulib-tool --test.
2412
2413 2009-09-13  Jim Meyering  <meyering@redhat.com>
2414
2415         posixtm: don't reject a time that specify "60" as the number of seconds
2416         * lib/posixtm.c (posixtime): The code to reject invalid dates
2417         would also reject a time specified with the .60 suffix.
2418         But POSIX allows that, in order to accommodate leap seconds.
2419         So don't reject it.
2420         (main): Adjust tests accordingly.
2421         * modules/posixtm (Depends-on): Add stpcpy.
2422
2423 2009-09-11  Jim Meyering  <meyering@redhat.com>
2424
2425         announce-gen: include [$release_type] in emitted Subject:
2426         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
2427         e.g., [stable] in the emitted Subject: line.
2428
2429 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2430
2431         Remove obsolete macros from several modules.
2432         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
2433         obsolete Autoconf macros with their modern counterparts.
2434         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
2435         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
2436         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
2437         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
2438         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
2439         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
2440         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
2441         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
2442         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
2443         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
2444         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
2445         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
2446         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
2447         * m4/sockets.m4 (gl_SOCKETS): Likewise.
2448         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
2449         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
2450         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
2451         * m4/time_r.m4 (gl_TIME_R): Likewise.
2452         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
2453         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
2454         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
2455
2456         Fix copyright header in build-aux scripts.
2457         * build-aux/git-version-gen: Fix copyright header to match GPLv3
2458         recommendation.
2459         * build-aux/ncftpput-ftp: Likewise.
2460         * build-aux/update-copyright: Likewise.
2461
2462 2009-09-09  Eric Blake  <ebb9@byu.net>
2463
2464         test-link: allow Linux choice of errno
2465         * tests/test-link.c (main): Relax test for alternate error.
2466
2467         strndup: fix improper m4 caching
2468         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
2469         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
2470         (gl_PREREQ_STRNDUP): Delete.
2471         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
2472         * modules/string (Makefile.am): Substitute it.
2473         * lib/string.in.h (strndup): Modernize prototype.
2474
2475         getcwd: port to mingw
2476         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
2477         different from the POSIX assumptions made throughout the getcwd
2478         module; fortunately, the mingw getcwd does not need replacement.
2479         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
2480         * modules/getcwd-tests: New test.
2481         * tests/test-getcwd.c: Likewise.
2482
2483         link: fix platform bugs
2484         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
2485         * lib/link.c (link): Work around them.  Fix related mingw bug.
2486         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
2487         * modules/unistd (Makefile.am): Substitute it.
2488         * lib/unistd.in.h (link): Declare replacement.
2489         * doc/posix-functions/link.texi (link): Document this.
2490         * modules/link (Depends-on): Add strdup-posix, sys_stat.
2491
2492         test-link: consolidate into single C program, test more cases
2493         * tests/test-link.sh: Delete.
2494         * tests/test-link.c: Test more error conditions.  Exposes bugs on
2495         at least Cygwin and Solaris.
2496         * modules/link-tests (Files): Remove unused file.
2497         (Depends-on): Add errno, sys_stat.
2498         (Makefile.am): Simplify.
2499
2500 2009-09-08  Bruno Haible  <bruno@clisp.org>
2501
2502         Work around towlower, towupper bug on mingw.
2503         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
2504         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
2505         * doc/posix-functions/towlower.texi: Mention the mingw bug.
2506         * doc/posix-functions/towupper.texi: Likewise.
2507         Reported by Eric Blake.
2508
2509 2009-09-08  Jim Meyering  <meyering@redhat.com>
2510
2511         build: don't try to run autoheader if we don't use it
2512         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
2513         is not used in configure.ac.
2514
2515 2009-09-08  Eric Blake  <ebb9@byu.net>
2516
2517         euidaccess: fix compilation error
2518         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
2519
2520         rawmemchr: relax license
2521         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
2522         okay.
2523         Reported by Jim Meyering.
2524
2525         mkfifoat: new module
2526         * modules/mkfifoat: New file.
2527         * lib/mkfifoat.c: Likewise.
2528         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
2529         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
2530         * modules/sys_stat (Makefile.am): Use them.
2531         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
2532         * MODULES.html.sh (File system functions): Mention module.
2533         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
2534         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
2535         * modules/mkfifoat-tests: New test.
2536         * tests/test-mkfifoat.c: Likewise.
2537
2538         strchrnul: relax license
2539         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
2540         okay.
2541         Reported by Jim Meyering.
2542
2543 2009-09-08  Eric Blake  <ebb9@byu.net>
2544
2545         fstatat: fix compilation on Solaris
2546         * lib/fstatat.c (includes): Add fcntl.h.
2547         Reported by Pádraig Brady.
2548
2549 2009-09-07  Eric Blake  <ebb9@byu.net>
2550
2551         rename: modernize replacement
2552         * modules/rename (Depends-on): Add stdio.
2553         (configure.ac): Declare witness.
2554         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
2555         stdio take care of replacement.
2556         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
2557         * modules/stdio (Makefile.am): Substitute them.
2558         * lib/stdio.in.h (rename): Declare replacement.
2559         * lib/rename.c (includes): Allow cross-compilation to non-windows
2560         machines.
2561         * doc/posix-functions/rename.texi (rename): Improve
2562         documentation.
2563
2564         stdio: sort witness names
2565         * modules/stdio (Makefile.am): Sort replacements.
2566         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
2567         * lib/stdio.in.h: Likewise.
2568
2569         getcwd: minor cleanups
2570         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
2571         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
2572
2573         openat: provide more convenience names
2574         * modules/faccessat (configure.ac): Add C witness.
2575         * lib/unistd.in.h (readlinkat): Fix typo.
2576         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
2577         convenience wrappers.
2578         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
2579         wrappers in syntax checks.
2580
2581 2009-09-06  Eric Blake  <ebb9@byu.net>
2582
2583         doc: fix comments in recent patches
2584         * lib/faccessat.c: Mention correct function.
2585         * lib/fchmodat.c: Likewise.
2586         * lib/fchownat.c: Likewise.
2587         * lib/symlinkat.c: Likewise.
2588         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
2589         constants.
2590
2591         faccessat, symlinkat: continue cleanup of previous patch
2592         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
2593         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
2594         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
2595         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
2596         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
2597         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
2598         set.
2599
2600 2009-09-06  Bruno Haible  <bruno@clisp.org>
2601
2602         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
2603         (fstatat): Declare if GNULIB_FSTATAT is set.
2604         (mkdirat): Declare if GNULIB_MKDIRAT is set.
2605         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
2606         (unlinkat): Declare if GNULIB_UNLINKAT is set.
2607         * modules/fcntl-h (Files): Remove m4/openat.m4.
2608         * modules/sys_stat (Files): Remove m4/openat.m4.
2609         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
2610         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
2611         * modules/unistd (Files): Remove m4/openat.m4.
2612         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
2613         GNULIB_OPENAT.
2614         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
2615         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
2616         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
2617         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
2618         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
2619         gl_OPENAT_DEFAULTS.
2620         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
2621         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
2622         Don't require gl_OPENAT_DEFAULTS.
2623         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
2624         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
2625         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
2626         (gl_OPENAT_DEFAULTS): Remove macro.
2627
2628 2009-09-06  Bruno Haible  <bruno@clisp.org>
2629
2630         * modules/openat (configure.ac): Remove unneeded witness.
2631
2632 2009-09-06  Bruno Haible  <bruno@clisp.org>
2633
2634         Set errno to ENOSYS when a function is entirely unsupported.
2635         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
2636         EOPNOTSUPP.
2637         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
2638         * modules/chown (Depends-on): Remove errno.
2639
2640 2009-09-06  Bruno Haible  <bruno@clisp.org>
2641
2642         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
2643
2644 2009-09-06  Bruno Haible  <bruno@clisp.org>
2645
2646         * lib/sys_stat.in.h: Fix preprocessor command indentation.
2647
2648 2009-09-06  Ben Pfaff  <blp@gnu.org>
2649             Bruno Haible  <bruno@clisp.org>
2650
2651         Work around a glibc bug in strtok_r.
2652         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
2653         Undefine if UNDEFINE_STRTOK_R is set.
2654         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
2655         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
2656         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
2657         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
2658         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
2659         UNDEFINE_STRTOK_R.
2660         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
2661
2662 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
2663
2664         exclude: minor fix
2665         * lib/exclude.c: Include wctype.h
2666
2667 2009-09-06  Akim Demaille  <demaille@gostai.com>
2668
2669         bootstrap: improve error message
2670         * build-aux/bootstrap (find_tool): Upon failure, report the list
2671         of candidates.
2672         Honor the initial value of the envvar.
2673
2674 2009-09-05  Eric Blake  <ebb9@byu.net>
2675
2676         symlinkat: new module
2677         * modules/symlinkat: New file.
2678         * lib/symlinkat.c: Likewise.
2679         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
2680         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
2681         * modules/unistd (Makefile.am): Use them.
2682         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
2683         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
2684         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
2685         * MODULES.html.sh (File system functions): Mention module.
2686         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
2687         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
2688         * modules/symlinkat-tests: New test.
2689         * tests/test-symlinkat.c: Likewise.
2690
2691         test-openat-safer: add more checks
2692         * tests/test-openat-safer.c (main): Check more code paths.
2693
2694 2009-09-05  Jim Meyering  <meyering@redhat.com>
2695
2696         syntax-check: detect unnecessary inclusion of openat.h
2697         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
2698
2699 2009-09-05  Bruno Haible  <bruno@clisp.org>
2700
2701         Support towlower, towupper.
2702         * doc/posix-functions/towlower.texi: Mention module wctype.
2703         * doc/posix-functions/towupper.texi: Likewise.
2704         * lib/wctype.in.h (towlower, towupper): New functions.
2705         * tests/test-wctype.c: Include stdio.h, stdlib.h.
2706         (ASSERT): New macro.
2707         (e): New variable.
2708         (main): Test also towlower, towupper. Test WEOF argument.
2709         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
2710
2711 2009-09-05  Bruno Haible  <bruno@clisp.org>
2712
2713         Fix conversion behaviour when the input is invalid.
2714         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
2715         mark occurring in first pass of indirect conversion.
2716         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
2717         input.
2718         Found by clang's static analyzer.
2719
2720 2009-09-05  Bruno Haible  <bruno@clisp.org>
2721
2722         * tests/test-striconveh.c (main): Test indirect conversion on platforms
2723         where direct conversion is possible.
2724
2725 2009-09-04  Eric Blake  <ebb9@byu.net>
2726
2727         openat: fail with ENOENT on empty name
2728         * lib/openat-proc.c (openat_proc_name): Special-case the empty
2729         buffer.
2730
2731         link-follow: fix logic bug in prior patch
2732         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
2733         reversed sense of yes and no in prior patch.  Avoid confusing
2734         compilation failure with desired semantics.
2735
2736         link-follow: accomodate mingw and cross-compilation
2737         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
2738         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
2739         cross-compilation results to -1, to make linkat easier to
2740         implement when cross-compiling.  Trivially support mingw.
2741         * modules/link-follow (configure.ac): Call new name.
2742         * NEWS: Mention this.
2743
2744 2009-09-03  Eric Blake  <ebb9@byu.net>
2745
2746         faccessat: compile replacement
2747         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
2748         needed.
2749
2750         fts: fix compilation error
2751         * lib/fts.c (includes): Re-add "openat.h", for
2752         openat_needs_fchdir.
2753
2754         faccessat: new module
2755         * modules/faccessat: New file.
2756         * lib/faccessat.c: Likewise.
2757         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
2758         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
2759         * modules/unistd (Makefile.am): Use it.
2760         * lib/unistd.in.h (faccessat): Declare it.
2761         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
2762         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
2763         * MODULES.html.sh (File system functions): Mention it.
2764         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
2765         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
2766
2767         euidaccess: prefer POSIX over non-standard implementation
2768         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
2769         * lib/euidaccess.c (euidaccess): Use it if available.
2770
2771         openat: make template easier to use
2772         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
2773         AT_FUNC_F2 to be undefined.
2774         (VALIDATE_FLAG): New macro; use it to reject bad flags.
2775         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
2776         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
2777         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
2778         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
2779         Likewise.
2780         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
2781         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
2782         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
2783         Likewise.
2784
2785         openat: declare in POSIX headers
2786         * NEWS: Mention this.
2787         * modules/openat (configure.ac): Declare witnesses.
2788         (Depends-on): Add fcntl-h, sys_stat, unistd.
2789         (Include): Mention correct headers.
2790         * modules/fcntl-h (Depends-on): Add link-warning.
2791         (Files): Add openat.m4.
2792         (Makefile.am): Substitute witnesses.
2793         * modules/sys_stat (Files, Makefile.am): Likewise.
2794         * modules/unistd (Files, Makefile.am): Likewise.
2795         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
2796         (gl_OPENAT_DEFAULTS): New macro.
2797         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
2798         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
2799         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
2800         (SYS_STAT_H): Remove unused variable.
2801         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
2802         * lib/fcntl--.h (includes): Remove unneeded header.
2803         * lib/openat-safer.c (includes): Likewise.
2804         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
2805         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
2806         appropriate headers.
2807         (__OPENAT_PREFIX): Delete.
2808         * lib/fcntl.in.h (openat): Provide declaration.
2809         (AT_FDCWD): Fix Solaris bug.
2810         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
2811         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
2812         * lib/fchmodat.c (includes):  Adjust to find declaration.
2813         * lib/fchownat.c (includes): Likewise.
2814         * lib/mkdirat.c (includes): Likewise.
2815         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
2816         still visible.
2817
2818 2009-09-02  Eric Blake  <ebb9@byu.net>
2819
2820         errno: use consistently
2821         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
2822         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
2823         * lib/canonicalize.c (ELOOP): Likewise.
2824         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
2825         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
2826         * lib/lchown.c (EOPNOTSUPP): Likewise.
2827         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
2828         * lib/savewd.c (ESTALE): Likewise.
2829         * lib/settime.c (ENOSYS): Likewise.
2830         * lib/utimens.c (ENOSYS): Likewise.
2831         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
2832         * lib/chdir-safer.c (ELOOP): Likewise.
2833         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
2834         * modules/c-stack (Depends-on): Add errno.
2835         * modules/canonicalize (Depends-on): Likewise.
2836         * modules/chdir-safer (Depends-on): Likewise.
2837         * modules/fdopendir (Depends-on): Likewise.
2838         * modules/inet_ntop (Depends-on): Likewise.
2839         * modules/inet_pton (Depends-on): Likewise.
2840         * modules/lchown (Depends-on): Likewise.
2841         * modules/openat (Depends-on): Likewise.
2842         * modules/savewd (Depends-on): Likewise.
2843         * modules/settime (Depends-on): Likewise.
2844         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
2845
2846         fts: avoid leaking fds
2847         * modules/fts (Depends-on): Add cloexec.
2848         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
2849         flag.
2850
2851         fts: make directory fds more robust
2852         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
2853         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
2854
2855         backupfile, chdir-long, fts, savedir: make safer
2856         * lib/backupfile.c (includes): Use "dirent--.h", since
2857         numbered_backup can write to stderr during readdir.
2858         * lib/savedir.c (includes): Likewise.
2859         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
2860         emulation can write to stderr on failure.
2861         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
2862         * lib/getcwd.c: Document why opendir_safer is unused.
2863         * lib/glob.c: Likewise.
2864         * lib/scandir.c: Likewise.
2865         * lib/openat-proc.c: Likewise, for open_safer.
2866         * modules/backupfile (Depends-on): Add dirent-safer.
2867         * modules/savedir (Depends-on): Likewise.
2868         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
2869         * modules/chdir-long (Depends-on): Add openat-safer.
2870
2871         openat-safer: new module
2872         * modules/openat-safer: New file.
2873         * lib/openat-safer.c: Likewise.
2874         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
2875         * lib/fcntl-safer.h (openat_safer): Declare.
2876         * lib/fcntl--.h (openat): Override.
2877         * MODULES.html.sh (File descriptor based I/O): Mention it.
2878         * lib/openat.h: Add double-inclusion guards.
2879         * lib/openat.c (includes): Only include "fcntl-safer.h", not
2880         "fcntl--.h", so we can implement openat.
2881         * modules/openat-safer-tests: New test.
2882         * tests/test-openat-safer.c: New file.
2883
2884         dirent-safer: new module
2885         * modules/dirent-safer: New file.
2886         * lib/dirent--.h: Likewise.
2887         * lib/dirent-safer.h: Likewise.
2888         * lib/opendir-safer.c: Likewise.
2889         * m4/dirent-safer.m4: Likewise.
2890         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
2891         * modules/dirent-safer-tests: New test.
2892         * tests/test-dirent-safer.c: New file.
2893         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
2894
2895         fdopendir: optimize on mingw
2896         * lib/unistd.in.h (_gl_directory_name): New prototype.
2897         * lib/fchdir.c (_gl_directory_name): Implement it.
2898         (fchdir): Use it to simplify implementation.
2899         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
2900         fchdir, when available, to avoid calling [f]chdir().
2901
2902         fdopendir: split into its own module
2903         * lib/openat.c (fdopendir): Move...
2904         * lib/fdopendir.c: ...into new file.
2905         * modules/fdopendir: New module.
2906         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
2907         * modules/openat (Depends-on): Add fdopendir.
2908         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
2909         fdopendir here.
2910         * modules/savedir (Depends-on): Only need fdopendir, not full
2911         openat.
2912         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
2913         * lib/openat.h (fdopendir): Drop prototype.
2914         * lib/dirent.in.h (fdopendir): Provide prototype.
2915         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
2916         * modules/dirent (Makefile.am): Substitute them.
2917         * MODULES.html.sh (File system functions): Mention it.
2918         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
2919         * modules/fdopendir-tests: New file.
2920         * tests/test-fdopendir.c: Likewise.
2921
2922         fchdir: use more consistent macro convention
2923         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
2924         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
2925         REPLACE_FCHDIR, rather than relying on config.h macros.
2926         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
2927         inside a single make-time REPLACE_FCHDIR block, rather than using
2928         the config.h FCHDIR_REPLACEMENT.
2929         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
2930         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
2931         Manage fstat replacement.
2932         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
2933         REPLACE_FCHDIR.
2934         * modules/sys_stat (Files): Add m4/unistd_h.m4.
2935         (Makefile.am): Substitute REPLACE_FCHDIR.
2936         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
2937         FCHDIR_REPLACEMENT.
2938         * lib/dup-safer.c (dup_safer): Likewise.
2939         * lib/dup2.c (rpl_dup2): Likewise.
2940         * lib/dup3.c (rpl_dup3): Likewise.
2941         * lib/open.c (rpl_open): Likewise.
2942
2943         fchdir: simplify error handling, and support dup3
2944         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
2945         stdbool, malloc-posix, realloc-posix.
2946         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
2947         (ensure_dirs_slot): Return false on allocation failure.
2948         (rpl_dup2): Delete.
2949         (_gl_register_dup): New function.
2950         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
2951         (_gl_register_fd): Close fd on allocation failure.
2952         * lib/fcntl.in.h (_gl_register_fd): Update signature.
2953         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
2954         prototype.
2955         (rpl_dup2_fchdir): Delete prototype.
2956         * lib/open.c (open): Update caller.
2957         * lib/dup2.c (dup2): Track fchdir metadata.
2958         * lib/dup3.c (dup3): Likewise.
2959         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
2960         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
2961
2962 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2963
2964         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
2965         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
2966         don't pass arguments to AC_OUTPUT.
2967
2968 2009-09-02  Bruno Haible  <bruno@clisp.org>
2969
2970         * modules/mkdtemp (License): Relicense under LGPLv2+.
2971         Reported by Paolo Bonzini.
2972
2973 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2974
2975         Replace uses of obsolete autoconf macros in Jim's modules.
2976         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
2977         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
2978         can evoke a warning from autoconf when run with -Wobsolete
2979         enabled.  They were declared obsolete for good reasons (see
2980         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
2981         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
2982         should not continue using the deprecated macros.
2983         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
2984         obsolete Autoconf macros with modern counterparts.
2985         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
2986         * m4/dos.m4 (gl_AC_DOS): Likewise.
2987         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
2988         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
2989         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
2990         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
2991         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
2992         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
2993         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
2994         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
2995         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
2996         Likewise.
2997         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
2998         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
2999         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
3000         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
3001         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
3002         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
3003
3004 2009-09-01  Eric Blake  <ebb9@byu.net>
3005
3006         fchdir: fix off-by-one bug in previous patch
3007         * lib/fchdir.c (rpl_fstat): Use correct bounds.
3008         (_gl_unregister_fd): Delete useless if.
3009
3010 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
3011
3012         maint.mk: sort the list of syntax-check rules
3013         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
3014         easier to get a sense of progress when the rules are run sequentially
3015         and take a long time.
3016
3017 2009-09-01  Simon Josefsson  <simon@josefsson.org>
3018
3019         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
3020         * modules/netinet_in: Likewise.
3021         * modules/sys_file: Likewise.
3022         * modules/sys_ioctl: Likewise.
3023         * modules/sys_select: Likewise.
3024         * modules/sys_socket: Likewise.
3025         * modules/sys_stat: Likewise.
3026         * modules/sys_time: Likewise.
3027         * modules/sys_times: Likewise.
3028         * modules/sys_utsname: Likewise.
3029         * modules/sys_wait: Likewise.
3030
3031 2009-09-01  Jim Meyering  <meyering@redhat.com>
3032
3033         fts: help ensure that return values are not ignored
3034         * lib/fts_.h (__GNUC_PREREQ): Define.
3035         (__attribute_warn_unused_result__): Define.
3036         (fts_children, fts_close, fts_open, fts_read): Declare with
3037         __attribute_warn_unused_result__.
3038
3039         fts: fts_close now fails also when closing a dir file descriptor fails
3040         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
3041         and propagate to caller, along with errno.
3042
3043         announce-gen: correct formatting in --help output
3044         * build-aux/announce-gen (usage): Move the one-line description in
3045         --help output "up", to where it belongs, just after Usage:.
3046
3047 2009-08-31  Eric Blake  <ebb9@byu.net>
3048
3049         fchdir: port to mingw
3050         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
3051         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
3052         opened, then use a substitute.
3053         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
3054         replacement.
3055         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
3056         (_gl_register_fd): No need to check stat if open already filters
3057         all directories.
3058         (fchdir): Fix error condition to match POSIX.
3059         * modules/fchdir (Depends-on): Add sys_stat.
3060         * doc/posix-functions/open.texi (open): Document the limitation.
3061         * modules/fchdir-tests: New file.
3062         * tests/test-fchdir.c: Likewise.
3063
3064         canonicalize: allow cross-testing from cygwin to mingw
3065         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
3066         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
3067         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
3068         Likewise.
3069         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
3070         target does not support symlinks.
3071         * tests/test-canonicalize-lgpl.sh: Likewise.
3072
3073         chown: avoid compilation warning on mingw
3074         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
3075         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
3076         mingw.
3077         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
3078         * modules/chown (Depends-on): Add errno.
3079
3080 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
3081
3082         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
3083         command.
3084
3085 2009-08-31  Jim Meyering  <meyering@redhat.com>
3086
3087         canonicalize: remove useless initialization
3088         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
3089         initialization of local, "end".
3090
3091 2009-08-30  Bruno Haible  <bruno@clisp.org>
3092
3093         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
3094         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
3095         ENOSYS.
3096
3097 2009-08-30  Bruno Haible  <bruno@clisp.org>
3098
3099         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
3100         /usr/xpg4/bin/tr when it exists.
3101         * tests/test-pipe-filter-gi1.sh: Likewise.
3102
3103 2009-08-30  Bruno Haible  <bruno@clisp.org>
3104
3105         Work around deficient /usr/bin/id program on Solaris.
3106         * tests/test-file-has-acl.sh (ID): New variable.
3107         * tests/test-set-mode-acl.sh (ID): Likewise.
3108         * tests/test-copy-acl.sh (ID): Likewise.
3109         * tests/test-copy-file.sh (ID): Likewise.
3110
3111 2009-08-30  Bruno Haible  <bruno@clisp.org>
3112
3113         New module 'xstriconveh'.
3114         * lib/xstriconveh.h: New file.
3115         * lib/xstriconveh.c: New file.
3116         * modules/xstriconveh: New file.
3117
3118 2009-08-30  Bruno Haible  <bruno@clisp.org>
3119
3120         Make it easier to use mem_cd_iconveh.
3121         * lib/striconveh.h (iconveh_t): New type.
3122         (iconveh_open, iconveh_close): New declarations.
3123         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
3124         with a single 'const iconveh_t *' argument.
3125         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
3126         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
3127         with a single 'const iconveh_t *' argument.
3128         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
3129         * tests/test-striconveh.c (main): Update.
3130         * NEWS: Mention the change.
3131
3132 2009-08-30  Bruno Haible  <bruno@clisp.org>
3133
3134         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
3135         problem.
3136
3137 2009-08-30  Bruno Haible  <bruno@clisp.org>
3138
3139         Work around iconv_open problem on Solaris.
3140         * lib/iconv_open-solaris.gperf: New file.
3141         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
3142         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
3143         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
3144         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
3145         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
3146         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
3147
3148 2009-08-29  Jim Meyering  <meyering@redhat.com>
3149
3150         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
3151         * top/maint.mk (cvs-check): Remove target; it was just an alias
3152         to the better-named vc-diff-check.
3153         (maintainer-distcheck): Remove rule.  It was used only from
3154         the (alpha/beta/major) target, and all of its commands but one
3155         were coreutils-specific.
3156         (vc-dist): Remove rule.
3157         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
3158         Run vc-diff-check, not vc-dist.
3159         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
3160
3161 2009-08-27  Bruno Haible  <bruno@clisp.org>
3162
3163         * tests/test-bitrotate.c (main): Remove test that uses a shift count
3164         of 0.
3165
3166 2009-08-27  Bruno Haible  <bruno@clisp.org>
3167
3168         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
3169         compilers.
3170         * doc/func.texi: Document the SunPRO C bug.
3171
3172 2009-08-27  Bruno Haible  <bruno@clisp.org>
3173
3174         Fix link error on Solaris.
3175         * tests/test-parse-duration.c (xstrdup): Remove function.
3176
3177 2009-08-26  Pádraig Brady  <P@draigbrady.com>
3178
3179         ignore-value: handle pointer types, too
3180         * lib/ignore-value.h (__attribute__): Remove definition.
3181         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
3182         of a more concise and more-often effective "(void) i" statement.
3183         (ignore_ptr): New function to suppress warnings from functions that
3184         return pointers, and to make it explicit that one function doesn't
3185         handle all cases.
3186
3187 2009-08-25  Bruno Haible  <bruno@clisp.org>
3188
3189         dup2: work around a Linux bug.
3190         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
3191         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
3192         * doc/posix-functions/dup2.texi: Mention the Linux bug.
3193         Reported by Simon Josefsson.
3194
3195 2009-08-25  Jim Meyering  <meyering@redhat.com>
3196
3197         libguestfs uses gnulib
3198         * users.txt: Add libguestfs.
3199
3200 2009-08-24  Eric Blake  <ebb9@byu.net>
3201
3202         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
3203         * lib/pipe2.c (includes): Add binary-io.h.
3204         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
3205
3206 2009-08-24  Bruno Haible  <bruno@clisp.org>
3207
3208         Tolerate declared but missing accept4 syscall.
3209         * lib/accept4.c (accept4): Invoke original accept4 function first, if
3210         available.
3211         * lib/sys_socket.in.h (accept4): If the function is already present,
3212         override it.
3213         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
3214         * modules/accept4 (Makefile.am): Compile accept4.c always.
3215         Reported by Paolo Bonzini and Eric Blake.
3216
3217 2009-08-23  Bruno Haible  <bruno@clisp.org>
3218
3219         New module 'accept4'.
3220         * lib/sys_socket.in.h (accept4): New declaration.
3221         * lib/accept4.c: New file.
3222         * m4/accept4.m4: New file.
3223         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
3224         GNULIB_ACCEPT4, HAVE_ACCEPT4.
3225         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
3226         HAVE_ACCEPT4.
3227         * modules/accept4: New file.
3228         * doc/glibc-functions/accept4.texi: Mention the new module.
3229
3230 2009-08-24  Jim Meyering  <meyering@redhat.com>
3231
3232         progname: also set global program_invocation_name, when possible
3233         Before this change, a libtool-enabled program that calls glibc's
3234         error function would report the program name as
3235         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
3236         * modules/progname (configure.ac): Check for a declaration of
3237         program_invocation_name.
3238         * lib/progname.c:  Include <errno.h>.
3239         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
3240         Set program_invocation_name.
3241
3242 2009-08-23  Bruno Haible  <bruno@clisp.org>
3243
3244         * lib/dup3.c: Include <string.h>.
3245
3246 2009-08-23  Bruno Haible  <bruno@clisp.org>
3247
3248         * lib/dup3.c (dup3): Test only once whether the system actually exists.
3249         * lib/pipe2.c (pipe2): Likewise.
3250         Suggested by Eric Blake.
3251
3252 2009-08-23  Bruno Haible  <bruno@clisp.org>
3253
3254         Tolerate declared but missing dup3 syscall.
3255         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
3256         * lib/unistd.in.h (dup3): If the function is already present,
3257         override it.
3258         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
3259         * modules/dup3 (Makefile.am): Compile dup3.c always.
3260         Reported by Paolo Bonzini.
3261
3262 2009-08-23  Bruno Haible  <bruno@clisp.org>
3263
3264         Tolerate declared but missing pipe2 syscall.
3265         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
3266         available.
3267         * lib/unistd.in.h (pipe2): If the function is already present,
3268         override it.
3269         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
3270         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
3271         Reported by Paolo Bonzini.
3272
3273 2009-08-23  Bruno Haible  <bruno@clisp.org>
3274
3275         * lib/pipe2.c (pipe2): Move #ifs inside function.
3276
3277 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
3278
3279         quotearg: document limitations of quote_these_too
3280         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
3281         those limitations are created.
3282         * lib/quotearg.h (set_char_quoting): Document that digits and
3283         letters that are special after backslash are not permitted.
3284         (quotearg_char): Cross-reference set_char_quoting documentation.
3285
3286 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
3287
3288         quotearg: implement custom_quoting_style
3289         * lib/quotearg.c: (struct quoting_options): Add left_quote and
3290         right_quote fields.
3291         (set_custom_quoting): New public function.
3292         (quotearg_buffer_restyled): Add left_quote and right_quote
3293         arguments, handle them very much like locale quoting, and update
3294         all uses.
3295         (quotearg_n_custom): New public function.
3296         (quotearg_n_custom_mem): New public function.
3297         (quotearg_custom): New public function.
3298         (quotearg_custom_mem): New public function.
3299         * lib/quotearg.h: Prototype and document new public functions.
3300         (enum quoting_style): For escape_quoting_style and
3301         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
3302         ignored even though they're otherwise like c_quoting_style.
3303         Add custom_quoting_style member and document with comparison to
3304         clocale_quoting_style.
3305         * tests/test-quotearg.c (custom_quotes): New array.
3306         (custom_results): New array.
3307         (main): Extend to test custom quoting.
3308
3309 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
3310
3311         quotearg: fix right quote escaping when it's in quote_these_too
3312         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
3313         quote, be sure to prepend only one backslash.
3314         * tests/test-quotearg.c (use_quote_double_quotes): New function.
3315         (main): Test it.
3316
3317 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
3318
3319         quotearg-tests: test escaping of embedded locale quotes
3320         * tests/test-quotearg.c (struct result_strings): Add member for
3321         new input.
3322         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
3323         (inputs): Add new input.
3324         (results_g): Add expected results.
3325         (flag_results): Likewise.
3326         (locale_results): Likewise.
3327         (compare_strings): Check those.
3328
3329 2009-08-23  Bruno Haible  <bruno@clisp.org>
3330
3331         Tests for module 'dup3'.
3332         * modules/dup3-tests: New file.
3333         * tests/test-dup3.c: New file.
3334
3335         New module 'dup3'.
3336         * lib/unistd.in.h (dup3): New declaration.
3337         * lib/dup3.c: New file.
3338         * m4/dup3.m4: New file.
3339         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
3340         HAVE_DUP3.
3341         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
3342         * modules/dup3: New file.
3343         * doc/glibc-functions/dup3.texi: Mention the new module.
3344
3345 2009-08-23  Bruno Haible  <bruno@clisp.org>
3346
3347         Tweak the dup2 test.
3348         * tests/test-dup2.c (main): Create the test file empty. Verify that an
3349         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
3350         the test file is still empty. Fix argument order of lseek.
3351
3352 2009-08-23  Bruno Haible  <bruno@clisp.org>
3353
3354         Avoid test link errors when the modules getopt-gnu, gettext are used.
3355         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
3356         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3357
3358 2009-08-23  Bruno Haible  <bruno@clisp.org>
3359
3360         Fix getdtablesize() on mingw.
3361         * lib/getdtablesize.c (getdtablesize): Implement differently.
3362         * lib/unistd.in.h (getdtablesize): Improve comment.
3363
3364 2009-08-23  Bruno Haible  <bruno@clisp.org>
3365
3366         New module 'mkostemp'.
3367         Based on Ulrich Drepper's 2007-08-10 change in glibc.
3368         * lib/stdlib.in.h (mksotemp): New declaration.
3369         * lib/mkostemp.c: New file, from glibc with modifications.
3370         * lib/tempname.h (GT_FILE): Remove outdated comment.
3371         (gen_tempname): Add flags argument.
3372         * lib/tempname.c (__GT_BIGFILE): Remove macro.
3373         (__GT_FILE): Map to 1.
3374         (small_open, large_open): Remove macros.
3375         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
3376         * lib/mkstemp.c (mkstemp): Update.
3377         * lib/mkdtemp.c (mkdtemp): Likewise.
3378         * m4/mkostemp.m4: New file.
3379         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
3380         HAVE_MKOSTEMP.
3381         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
3382         HAVE_MKOSTEMP.
3383         * modules/mkostemp: New file, based on modules/mkstemp.
3384         * doc/glibc-functions/mkostemp.texi: Mention the new module.
3385         * NEWS: Mention the change.
3386
3387 2009-08-23  Bruno Haible  <bruno@clisp.org>
3388
3389         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
3390         Reported by Eric Blake.
3391
3392 2009-08-23  Bruno Haible  <bruno@clisp.org>
3393
3394         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
3395         Reported by Eric Blake.
3396
3397 2009-08-23  Bruno Haible  <bruno@clisp.org>
3398
3399         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
3400         * modules/pipe2 (Depends-on): Likewise.
3401
3402 2009-08-23  Eric Blake  <ebb9@byu.net>
3403
3404         fcntl-h: add O_TTY_INIT support
3405         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
3406         * tests/test-fcntl-h.c (o): Test it.
3407         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
3408
3409         fcntl-h: rename from fcntl, in preparation for fcntl(2)
3410         * modules/fcntl: Move <fcntl.h> header replacement...
3411         * modules/fcntl-h: ...to new name, so as not to collide with
3412         like-named function.
3413         * tests/test-fcntl.c: Rename...
3414         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
3415         * modules/fcntl-tests: Rename...
3416         * modules/fcntl-h-tests: ...to this.  Update test file name.
3417         * modules/chdir-long (Depends-on): Update clients.
3418         * modules/chdir-safer (Depends-on): Likewise.
3419         * modules/fcntl-safer (Depends-on): Likewise.
3420         * modules/fts (Depends-on): Likewise.
3421         * modules/mkancesdirs (Depends-on): Likewise.
3422         * modules/mkdir-p (Depends-on): Likewise.
3423         * modules/open (Depends-on): Likewise.
3424         * modules/savewd (Depends-on): Likewise.
3425         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
3426         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
3427
3428 2009-08-22  Bruno Haible  <bruno@clisp.org>
3429
3430         * modules/binary-io (License): Relicense under LGPL.
3431         * modules/pipe2 (License): Likewise.
3432
3433 2009-08-22  Bruno Haible  <bruno@clisp.org>
3434
3435         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
3436         return value.
3437         * lib/pipe-filter-gi.c (filter_init): Likewise.
3438         Reported by Eric Blake.
3439
3440 2009-08-22  Bruno Haible  <bruno@clisp.org>
3441
3442         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
3443         * modules/pipe (Depends-on): Add pipe2.
3444
3445 2009-08-22  Bruno Haible  <bruno@clisp.org>
3446
3447         Tests for module 'pipe2'.
3448         * modules/pipe2-tests: New file.
3449         * tests/test-pipe2.c: New file.
3450
3451         New module 'pipe2'.
3452         * lib/unistd.in.h (pipe2): New declaration.
3453         * lib/pipe2.c: New file.
3454         * m4/pipe2.m4: New file.
3455         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
3456         HAVE_PIPE2.
3457         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
3458         * modules/pipe2: New file.
3459         * doc/glibc-functions/pipe2.texi: Mention the new module.
3460
3461 2009-08-22  Bruno Haible  <bruno@clisp.org>
3462
3463         Reference some new glibc functions.
3464         * doc/glibc-functions/accept4.texi: New file.
3465         * doc/glibc-functions/dup3.texi: New file.
3466         * doc/glibc-functions/mkostemp.texi: New file.
3467         * doc/glibc-functions/pipe2.texi: New file.
3468         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
3469         (Glibc sys/socket.h): Refer to accept4.
3470         (Glibc unistd.h): Refer to dup3, pipe2.
3471         Reported by Eric Blake.
3472
3473 2009-08-22  Jim Meyering  <meyering@redhat.com>
3474             Bruno Haible  <bruno@clisp.org>
3475
3476         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
3477         This makes it so packages using automake-1.11's silent-rules option
3478         can print e.g., a single "GEN    configmake.h" line, rather than
3479         the 30+ statements that perform the job.  If you want to see the
3480         actual commands, you can still run "make V=1".
3481         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
3482         so that make output is abbreviated when those variables are defined
3483         appropriately.
3484         * modules/argz: Likewise.
3485         * modules/arpa_inet: Likewise.
3486         * modules/byteswap: Likewise.
3487         * modules/configmake: Likewise.
3488         * modules/dirent: Likewise.
3489         * modules/errno: Likewise.
3490         * modules/fcntl: Likewise.
3491         * modules/float: Likewise.
3492         * modules/fnmatch: Likewise.
3493         * modules/getopt-posix: Likewise.
3494         * modules/glob: Likewise.
3495         * modules/iconv_open: Likewise.
3496         * modules/inttypes: Likewise.
3497         * modules/localcharset: Likewise.
3498         * modules/locale: Likewise.
3499         * modules/math: Likewise.
3500         * modules/netdb: Likewise.
3501         * modules/netinet_in: Likewise.
3502         * modules/poll: Likewise.
3503         * modules/posix_spawnp-tests: Likewise.
3504         * modules/sched: Likewise.
3505         * modules/search: Likewise.
3506         * modules/selinux-h: Likewise.
3507         * modules/signal: Likewise.
3508         * modules/spawn: Likewise.
3509         * modules/stdarg: Likewise.
3510         * modules/stdbool: Likewise.
3511         * modules/stddef: Likewise.
3512         * modules/stdint: Likewise.
3513         * modules/stdio: Likewise.
3514         * modules/stdlib: Likewise.
3515         * modules/string: Likewise.
3516         * modules/strings: Likewise.
3517         * modules/sys_file: Likewise.
3518         * modules/sys_ioctl: Likewise.
3519         * modules/sys_select: Likewise.
3520         * modules/sys_socket: Likewise.
3521         * modules/sys_stat: Likewise.
3522         * modules/sys_time: Likewise.
3523         * modules/sys_times: Likewise.
3524         * modules/sys_utsname: Likewise.
3525         * modules/sys_wait: Likewise.
3526         * modules/sysexits: Likewise.
3527         * modules/time: Likewise.
3528         * modules/unistd: Likewise.
3529         * modules/wchar: Likewise.
3530         * modules/wctype: Likewise.
3531
3532 2009-08-22  Jim Meyering  <meyering@redhat.com>
3533
3534         announce-gen: detect write failure
3535         * build-aux/announce-gen: Add Coda at end.
3536         Remove equivalent-but-more-verbose block at top.
3537
3538 2009-08-19  Akim Demaille  <demaille@gostai.com>
3539
3540         bootstrap: --help to stdout.
3541         * bootstrap (usage): Don't send --help to stderr.
3542         Use a here doc instead of a long string.
3543
3544 2009-08-21  Eric Blake  <ebb9@byu.net>
3545
3546         test-popen-safer: split from test-popen
3547         * tests/test-popen.c (main): Move...
3548         * tests/test-popen.h: ...into new file.
3549         * tests/test-popen-safer2.c: New file.
3550         * modules/popen-tests (Files): Add test-popen.h.
3551         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
3552         Suggested by Bruno Haible.
3553
3554         test-fcntl-safer: split from test-open
3555         * tests/test-open.c (main): Move...
3556         * tests/test-open.h: ...into new file.
3557         * tests/test-fcntl-safer.c: New file.
3558         * modules/open-tests (Files): Add test-open.h.
3559         * modules/fcntl-safer-tests: New file.
3560         Suggested by Bruno Haible.
3561
3562         test-fopen-safer: split from test-fopen
3563         * tests/test-fopen.c (main): Move...
3564         * tests/test-fopen.h: ...into new file.
3565         * tests/test-fopen-safer.c: New file.
3566         * modules/fopen-tests (Files): Add test-fopen.h.
3567         * modules/fopen-safer-tests: New file.
3568         Suggested by Bruno Haible.
3569
3570 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
3571
3572         popen-safer: test O_CLOEXEC at run-time.
3573         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
3574
3575 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
3576
3577         fcntl: move more flags to the header
3578         * lib/cloexec.c: Do not define FD_CLOEXEC here.
3579         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
3580         * lib/fcntl.in.h: Do both things here.
3581
3582 2009-08-21  Jim Meyering  <meyering@redhat.com>
3583
3584         consistently remove $@-t before redirecting to it
3585         * modules/argz: Remove $@-t and $@ before redirecting to the former.
3586         * modules/alloca-opt: Likewise.
3587         * modules/byteswap: Likewise.
3588         * modules/fnmatch: Likewise.
3589         * modules/getopt-posix: Likewise.
3590         * modules/glob: Likewise.
3591         * modules/poll: Likewise.
3592         * modules/posix_spawnp-tests: Likewise.
3593         * modules/sys_socket: Likewise.
3594         * modules/sysexits: Likewise.
3595
3596 2009-08-21  Eric Blake  <ebb9@byu.net>
3597
3598         popen: simplify access to original popen
3599         * lib/popen.c (rpl_popen): No need to worry about popen being a
3600         macro.
3601         Reported by Bruno Haible.
3602
3603 2009-08-20  Eric Blake  <ebb9@byu.net>
3604
3605         build: avoid some compiler warnings
3606         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
3607         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
3608         type.
3609         (new_exclude_segment, excluded_file_pattern_p)
3610         (excluded_file_name_p): Reduce scope.
3611         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
3612         old-style declaration.
3613
3614 2009-08-20  Simon Josefsson  <simon@josefsson.org>
3615
3616         * tests/test-exclude1.sh: Handle Windows EOL.
3617         * tests/test-exclude2.sh: Likewise.
3618         * tests/test-exclude3.sh: Likewise.
3619         * tests/test-exclude4.sh: Likewise.
3620         * tests/test-exclude5.sh: Likewise.
3621         * tests/test-exclude6.sh: Likewise.
3622         * tests/test-exclude7.sh: Likewise.
3623
3624 2009-08-19  Akim Demaille  <demaille@gostai.com>
3625
3626         bootstrap: find sha1sum when named gsha1sum.
3627         * bootstrap (find_tool): New.
3628         ($SHA1SUM): New.
3629         Use it.
3630
3631 2009-08-20  Jim Meyering  <meyering@redhat.com>
3632
3633         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
3634         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
3635         expression that converts "." in a file name to "\." in the resulting
3636         regexp.  Start with a dummy statement, so that prior shell variable
3637         definitions are expanded portably.  Reported by Simon Josefsson.
3638
3639 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
3640
3641         Fix polling for writeability of a screen buffer.
3642         * lib/poll.c: Distinguish input and screen buffers for the
3643         Win32 implementation.
3644         * lib/select.c: Likewise.
3645
3646 2009-08-19  Eric Blake  <ebb9@byu.net>
3647
3648         popen-safer: prevent popen from clobbering std descriptors
3649         * modules/popen-safer: New file.
3650         * lib/popen-safer.c: Likewise.
3651         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
3652         * lib/stdio--.h (popen): Provide override.
3653         * lib/stdio-safer.h (popen_safer): Provide declaration.
3654         * tests/test-popen.c (includes): Partially test this.
3655         * modules/popen-safer-tests: New file, for more tests.
3656         * tests/test-popen-safer.c: Likewise.
3657         * MODULES.html.sh (file stream based Input/Output): Mention it.
3658
3659         tests: test some of the *-safer modules
3660         * modules/fopen-safer (Depends-on): Add fopen.
3661         * modules/fcntl-safer (Depends-on): Add fcntl.
3662         * modules/stdlib-safer (Depends-on): Add stdlib.
3663         (configure.ac): Set indicator.
3664         * modules/unistd-safer (configure.ac): Likewise.
3665         * modules/tmpfile-safer (configure.ac): Likewise.
3666         (Depends-on): Add tmpfile.
3667         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
3668         active.
3669         * tests/test-fopen.c (includes): Test safer versions when they are
3670         in use.
3671         * tests/test-open.c (includes): Likewise.
3672
3673         popen: fix cygwin 1.5 bug when stdin closed
3674         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
3675         * modules/popen: New file.
3676         * modules/popen-tests: Likewise.
3677         * tests/test-popen.c: Likewise.
3678         * m4/popen.m4: Likewise.
3679         * lib/popen.c: Likewise.
3680         * lib/stdio.in.h (popen): New declaration.
3681         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
3682         * modules/stdio (Makefile.am): Likewise.
3683         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
3684
3685 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
3686
3687         maint.mk: give full control over update-copyright exclusions
3688         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
3689         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
3690         (update-copyright): Don't force inclusion of top-level
3691         ChangeLog.  Don't force exclusion of all COPYING files, but make
3692         them the default exclusion instead.
3693
3694 2009-08-16  Bruno Haible  <bruno@clisp.org>
3695
3696         Fix test failures on Solaris 10.
3697         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
3698         tests when Solaris iconv() is used.
3699         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
3700         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
3701         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
3702         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
3703         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
3704
3705 2009-08-16  Bruno Haible  <bruno@clisp.org>
3706
3707         Fix test failures on Solaris 10.
3708         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
3709         'tr' program and pass it as first argument.
3710         * tests/test-pipe-filter-gi1.sh: Likewise.
3711         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
3712         program as first argument.
3713         * tests/test-pipe-filter-gi1.c (main): Likewise.
3714
3715 2009-08-16  Eric Blake  <ebb9@byu.net>
3716
3717         fpurge: fix previous commits
3718         * modules/fpurge (Makefile.am): Make replacement conditional,
3719         partially reverting 2007-04-29 change; missed in previous
3720         attempt.
3721         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
3722         is missing.
3723
3724 2009-08-16  Bruno Haible  <bruno@clisp.org>
3725
3726         Clarify fpurge's effect on the file position.
3727         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
3728         * tests/test-fpurge.c (main): Make a second pass for checking the file
3729         position.
3730
3731 2009-08-16  Bruno Haible  <bruno@clisp.org>
3732
3733         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
3734         declaration of fpurge is missing.
3735         * tests/test-fpurge.c (main): Check that the file has not more contents
3736         than expected. Close the file before removing it.
3737
3738 2009-08-15  Eric Blake  <ebb9@byu.net>
3739
3740         fpurge: don't wrap working cygwin implementation
3741         * lib/fpurge.c (fpurge): Fix comment typo.
3742         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
3743         1.7 to avoid replacement.
3744         * tests/test-fpurge.c (main): Enhance test.
3745
3746 2009-08-15  Eric Blake  <ebb9@byu.net>
3747         and Jim Meyering  <meyering@redhat.com>
3748
3749         test-update-copyright: skip if perl is insufficient
3750         * tests/test-update-copyright.sh: Failure to run maintainer tool
3751         should not cause testsuite failure on cygwin 1.5.
3752
3753 2009-08-14  Eric Blake  <ebb9@byu.net>
3754
3755         doc: mention more functions added in cygwin 1.7.0
3756         * doc/posix-headers/limits.texi (limits.h): Update for recent
3757         cygwin additions.
3758         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
3759         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
3760         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
3761         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
3762         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
3763
3764 2009-08-14  Eric Blake  <ebb9@byu.net>
3765
3766         maint.mk: simplify update-copyright rule
3767         * top/maint.mk (update-copyright-local): Delete, and document how
3768         to do it in cfg.mk instead.
3769         (update-copyright-exclude-regexp): Delete, and document how to do
3770         it in .x-update-copyright instead.
3771         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
3772         exclude ChangeLog.
3773
3774 2009-08-14  Bruno Haible  <bruno@clisp.org>
3775
3776         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
3777
3778 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
3779
3780         maint.mk: support update-copyright-env
3781         * top/maint.mk (update-copyright-env): Define place-holder.
3782         (update-copyright): Expand $(update-copyright-env) before
3783         invoking update-copyright.
3784
3785 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
3786
3787         update-copyright: implement forced reformatting
3788         * build-aux/update-copyright: Implement and document
3789         UPDATE_COPYRIGHT_FORCE.
3790         * tests/test-update-copyright.sh: Test it.
3791
3792 2009-08-14  Eric Blake  <ebb9@byu.net>
3793         and Bruno Haible  <bruno@clisp.org>
3794
3795         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
3796         * tests/test-locale.c: Revert previous patch related to NULL.
3797         * tests/test-stdio.c: Likewise.
3798         * tests/test-stdlib.c: Likewise.
3799         * tests/test-string.c: Likewise.
3800         * tests/test-unistd.c: Likewise.
3801         * modules/time-tests (Depends-on): Add verify.
3802         * modules/wchar-tests (Depends-on): Likewise.
3803         * tests/test-time.c: Test for NULL compliance.
3804         * tests/test-wchar.c: Likewise.
3805         * modules/locale (Depends-on): Add stddef.
3806         * modules/stdio (Depends-on): Likewise.
3807         * modules/stdlib (Depends-on): Likewise.
3808         * modules/string (Depends-on): Likewise.
3809         * modules/time (Depends-on): Likewise.
3810         * modules/unistd (Depends-on): Likewise.
3811         * modules/wchar (Depends-on): Likewise.
3812         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
3813         * lib/stdlib.in.h (includes): Likewise.
3814         * lib/string.in.h (includes): Likewise.
3815         * lib/time.in.h (includes): Likewise.
3816         * lib/unistd.in.h (includes): Likewise.
3817         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
3818         replaced.
3819         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
3820         * m4/stddef_h.m4: New file.
3821         * modules/stddef: Likewise.
3822         * lib/stddef.in.h: Likewise.
3823         * modules/stddef-tests: Likewise.
3824         * tests/test-stddef.c: Likewise.
3825         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
3826         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
3827         * doc/posix-headers/locale.texi (locale.h): Likewise.
3828         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
3829         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
3830         * doc/posix-headers/string.texi (string.h): Likewise.
3831         * doc/posix-headers/time.texi (time.h): Likewise.
3832         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
3833         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
3834
3835 2009-08-14  Eric Blake  <ebb9@byu.net>
3836
3837         doc: improve git diff of texinfo files
3838         * .gitattributes: Add rule for *.texi files, with hint on how to
3839         use it.
3840         Copied from m4, and based on a report by Bruno Haible.
3841
3842 2009-08-14  Bruno Haible  <bruno@clisp.org>
3843
3844         Disable multithread support by default on Cygwin 1.5.x for real.
3845         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
3846
3847 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
3848
3849         update-copyright: much ado about intervals
3850         * build-aux/update-copyright: Implement and document
3851         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
3852         of copyright year intervals.
3853         Also, document UPDATE_COPYRIGHT_YEAR.
3854         * tests/test-update-copyright.sh: Test it.
3855
3856         update-copyright: convert 2-digit to 4-digit years
3857         * build-aux/update-copyright: Implement and document.
3858         * tests/test-update-copyright.sh: Update.
3859
3860 2009-08-14  Jim Meyering  <meyering@redhat.com>
3861
3862         test-exclude: avoid coreutils "make check" failure
3863         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
3864         just as in test-argmatch.c.
3865
3866 2009-08-13  Eric Blake  <ebb9@byu.net>
3867
3868         test-dup2: fix bad assumption
3869         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
3870         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
3871
3872         test-version-etc: fix CRLF portability issue
3873         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
3874         recognize \r.
3875         * tests/test-argp-version-etc-1.sh: Likewise.
3876
3877         getopt: update client modules
3878         * modules/argp (Depends-on): Use getopt-gnu.
3879         * modules/git-merge-changelog (Depends-on): Likewise.
3880         * modules/long-options (Depends-on): Likewise.
3881         * modules/xstrtol (Depends-on): Likewise.
3882
3883 2009-08-13  Simon Josefsson  <simon@josefsson.org>
3884
3885         * tests/test-version-etc.sh: Don't fail on different
3886         project/version.  Don't fail on CRLF differences.  Rewrite to use
3887         multiple -e instead of multiple sed forks, suggested by Eric Blake
3888         <ebb9@byu.net>.
3889         * tests/test-argp-version-etc-1.sh: Likewise.
3890
3891 2009-08-13  Simon Josefsson  <simon@josefsson.org>
3892
3893         * tests/test-version-etc.sh: Don't fail on different
3894         project/version.
3895
3896 2009-08-12  Bruno Haible  <bruno@clisp.org>
3897
3898         Tests for modules 'getopt-posix', 'getopt-gnu'.
3899         * modules/getopt-posix-tests: New file.
3900         * tests/test-getopt.c: New file.
3901         * tests/test-getopt.h: New file.
3902         * tests/test-getopt_long.h: New file.
3903
3904         New modules 'getopt-posix', 'getopt-gnu'.
3905         * modules/getopt-gnu: New file, renamed from modules/getopt.
3906         * modules/getopt-posix: New file.
3907         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
3908         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
3909         (gl_GETOPT): Remove macro.
3910         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
3911         Disable the test against BSD systems that declare optreset. Test
3912         against mingw bug. Test against lack of support of optional arguments
3913         on many platforms.
3914         * doc/glibc-headers/getopt.texi: Update module name and list of
3915         relevant platforms.
3916         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
3917         'getopt-gnu' and more portability problems.
3918         * NEWS: Mention the changes.
3919
3920 2009-08-12  Bruno Haible  <bruno@clisp.org>
3921
3922         Ensure that optarg etc. get declared by <unistd.h>.
3923         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
3924         AC_USE_SYSTEM_EXTENSIONS.
3925         * modules/getopt (Depends-on): Add 'extensions'.
3926
3927 2009-08-12  Bruno Haible  <bruno@clisp.org>
3928
3929         Avoid test link errors.
3930         * modules/pipe-filter-ii-tests (Makefile.am): Define
3931         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
3932         * modules/pipe-filter-gi-tests (Makefile.am): Define
3933         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
3934         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3935
3936 2009-08-12  Bruno Haible  <bruno@clisp.org>
3937
3938         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
3939         gl_GETOPT_SUBSTITUTE before.
3940         (gl_GETOPT): Use it.
3941         * m4/argp.m4 (gl_ARGP): Update.
3942         Reported by Sergey Poznyakoff.
3943
3944         * m4/getopt.m4: Reorder macros.
3945         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
3946         (gl_GETOPT_SUBSTITUTE): Remove macro.
3947
3948 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
3949
3950         Minor improvement in gitlog-to-changelog
3951
3952         * build-aux/gitlog-to-changelog: New option `--format' makes
3953         output format string configurable.
3954
3955 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
3956
3957         Optimize exclude: use hash tables for non-wildcard patterns.
3958
3959         * lib/exclude.c: Include hash.h and mbuiter.h
3960         (struct exclude_pattern, exclude_segment): New data types.
3961         (struct exclude): Rewrite.
3962         (fnmatch_pattern_has_wildcards): New function.
3963         (new_exclude_segment, free_exclude_segment): New functions.
3964         (excluded_file_pattern_p, excluded_file_name_p): New functions.
3965         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
3966         * lib/exclude.h (is_fnmatch_pattern): New prototype.
3967         * modules/exclude: Depend on hash and mbuiter.
3968
3969         * modules/exclude-tests: New file.
3970         * tests/test-exclude.c: New file.
3971         * tests/test-exclude1.sh: New file.
3972         * tests/test-exclude2.sh: New file.
3973         * tests/test-exclude3.sh: New file.
3974         * tests/test-exclude4.sh: New file.
3975         * tests/test-exclude5.sh: New file.
3976         * tests/test-exclude6.sh: New file.
3977         * tests/test-exclude7.sh: New file.
3978
3979 2009-08-12  Bruno Haible  <bruno@clisp.org>
3980
3981         Ensure that getopt() gets declared by <unistd.h>.
3982         * lib/unistd.in.h: Conditionally include getopt.h.
3983         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
3984         Set GNULIB_UNISTD_H_GETOPT.
3985         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
3986         GNULIB_UNISTD_H_GETOPT.
3987         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
3988
3989 2009-08-12  Bruno Haible  <bruno@clisp.org>
3990
3991         Clarify logic.
3992         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
3993         gl_replace_getopt instead of GETOPT_H.
3994
3995 2009-08-12  Bruno Haible  <bruno@clisp.org>
3996
3997         * m4/getopt.m4: Add comments.
3998
3999 2009-08-12  Bruno Haible  <bruno@clisp.org>
4000
4001         Disable multithread support by default on Cygwin 1.5.x.
4002         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
4003         set gl_use_threads=no if not specified otherwise.
4004
4005 2009-08-11  Bruno Haible  <bruno@clisp.org>
4006
4007         Avoid compilation error on NetBSD 5.0.
4008         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
4009         * tests/test-stdio.c: Likewise.
4010         * tests/test-stdlib.c: Likewise.
4011         * tests/test-string.c: Likewise.
4012         * tests/test-unistd.c: Likewise.
4013         Reported by Greg Troxel <gdt@ir.bbn.com>
4014         at <https://savannah.gnu.org/support/?106973>.
4015
4016 2009-08-11  Bruno Haible  <bruno@clisp.org>
4017
4018         * modules/dup2-tests (Depends-on): Remove close.
4019
4020         Undo 2009-07-19 commit.
4021         * modules/acl-tests (Depends-on): Remove close.
4022         * modules/binary-io-tests (Depends-on): Likewise.
4023         * modules/closein-tests (Depends-on): Likewise.
4024         * modules/flock-tests (Depends-on): Likewise.
4025         * modules/fsync-tests (Depends-on): Likewise.
4026         * modules/lseek-tests (Depends-on): Likewise.
4027         * modules/pipe-tests (Depends-on): Likewise.
4028         * modules/posix_spawn-tests (Depends-on): Likewise.
4029         * modules/posix_spawnp-tests (Depends-on): Likewise.
4030         * modules/stat-time-tests (Depends-on): Likewise.
4031         * modules/yesno-tests (Depends-on): Likewise.
4032
4033 2009-08-10  Bruno Haible  <bruno@clisp.org>
4034
4035         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
4036
4037 2009-08-10  Bruno Haible  <bruno@clisp.org>
4038
4039         Fix a gcc warning.
4040         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
4041
4042 2009-08-10  Bruno Haible  <bruno@clisp.org>
4043
4044         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
4045         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
4046         not only the first time.
4047         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
4048         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
4049         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
4050         is 1, not only the the first time.
4051
4052 2009-08-10  Bruno Haible  <bruno@clisp.org>
4053
4054         Make it possible to use module 'gethostname' without module 'close'.
4055         * lib/unistd.in.h (close): Evoke a link error only if
4056         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
4057         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4058         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4059         * modules/unistd (Makefile.am): Substitute
4060         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4061         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
4062         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
4063         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
4064         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4065         * modules/sys_ioctl (Makefile.am): Substitute
4066         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4067         * modules/socket (configure.ac): On native Windows, set
4068         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
4069         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4070         Reported by Sam Steingold <sds@gnu.org>.
4071
4072 2009-08-10  Bruno Haible  <bruno@clisp.org>
4073
4074         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
4075         * modules/ioctl (configure.ac): Likewise.
4076
4077 2009-08-10  Bruno Haible  <bruno@clisp.org>
4078
4079         Avoid collision between gnulib wrapper and libintl wrapper.
4080         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
4081         already defined in intl/printf.c.
4082         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
4083         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
4084
4085 2009-08-09  Bruno Haible  <bruno@clisp.org>
4086
4087         Make <sys/select.h> really self-contained, also on Solaris 10.
4088         * lib/sys_select.in.h: Include <string.h>.
4089         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
4090         Solaris 10 problem.
4091         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
4092         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
4093         Reported by Jim Meyering.
4094
4095 2009-08-09  Bruno Haible  <bruno@clisp.org>
4096
4097         Avoid warnings from 'aclocal' that are due to a use of macro name
4098         AM_XGETTEXT_OPTION that is not defined in automake.
4099         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
4100         automake.
4101         * modules/error (configure.ac): Likewise.
4102         * modules/propername (configure.ac): Likewise.
4103         * modules/vasprintf (configure.ac): Likewise.
4104         * modules/verror (configure.ac): Likewise.
4105         * modules/xprintf (configure.ac): Likewise.
4106         * modules/xvasprintf (configure.ac): Likewise.
4107
4108 2009-08-08  Bruno Haible  <bruno@clisp.org>
4109
4110         Avoid compilation error in C++ mode.
4111         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
4112         Reported by Sam Steingold <sds@gnu.org>.
4113
4114 2009-08-08  Bruno Haible  <bruno@clisp.org>
4115
4116         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
4117         for the various Unix platforms.
4118         * doc/posix-headers/limits.texi: Update platforms list regarding
4119         HOST_NAME_MAX.
4120         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4121
4122 2009-08-07  Jim Meyering  <meyering@redhat.com>
4123
4124         selinux-at: fix typo in a comment
4125         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
4126         Spotted by Paolo Bonzini.
4127
4128         selinux-at: remove redundant m4 code, add documentation
4129         * modules/selinux-at (configure.ac): Remove redundant code.
4130         LIB_SELINUX is already set via the dependent module, selinux-h.
4131         (Include): Add quotes around selinux-at.h.
4132         * lib/selinux-at.h: Add documentation.
4133         Reported by Bruno Haible in
4134         http://marc.info/?l=gnulib-bug&m=124958988300749
4135
4136 2009-08-07  Bruno Haible  <bruno@clisp.org>
4137
4138         Avoid link error on MacOS X 10.3 and 10.4.
4139         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
4140         on non-ELF systems.
4141         * lib/argp-pv.c (argp_program_version): Likewise.
4142         Reported by Simon Josefsson.
4143
4144 2009-08-07  Simon Josefsson  <simon@josefsson.org>
4145
4146         * tests/test-version-etc.sh: Use $EXEEXT.
4147
4148 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
4149
4150         update-copyright: update documentation to point to maint.mk
4151         * build-aux/update-copyright: Here.
4152
4153 2009-08-06  Jim Meyering  <meyering@redhat.com>
4154
4155         maint.mk: support update-copyright-local
4156         * top/maint.mk (update-copyright-local): Define place-holder.
4157         (update-copyright): Depend on $(update-copyright-local).
4158
4159 2009-08-06  Jim Meyering  <meyering@redhat.com>
4160
4161         selinux-at: new module
4162         Initially written for coreutils, this module will soon be
4163         used by findutils, too.
4164         * MODULES.html.sh [Misc]: Add selinux-at.
4165         * lib/selinux-at.h: New file, from coreutils.
4166         * lib/selinux-at.c: Likewise.
4167         * modules/selinux-at: Likewise.
4168         (License): Change from LGPL to GPL, since it depends
4169         on the GPL'd openat module.
4170
4171         doc: update README
4172         * README: Remove references to cogito.
4173         Remove cvs-repo-updating instructions from 2007.
4174         Don't imply that CVS is better if you have limited disk space.
4175
4176 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4177
4178         update-copyright: support C-style comments
4179         * build-aux/update-copyright: Implement and document.
4180         * tests/test-update-copyright.sh: Test.
4181
4182 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4183
4184         update-copyright: support omitted "(C)"
4185         * build-aux/update-copyright: Implement and document.  Also,
4186         allow variable whitespace before "(C)".
4187         * tests/test-update-copyright.sh: Test.
4188
4189 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4190
4191         update-copyright: don't trip on non-FSF copyright statements
4192         * build-aux/update-copyright: Fix so that the first correctly
4193         formatted FSF copyright statement is recognized no matter what
4194         appears before it.  Update documentation.
4195         * tests/test-update-copyright.sh: Test that.
4196
4197 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4198
4199         update-copyright: clean up code a little
4200         * build-aux/update-copyright: Append "_re" to the name of any
4201         variable holding a regular expression.
4202         Replace "old" and "new" with "stmt" in variable names.
4203         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
4204         handled correctly.
4205         Format code more consistently.
4206
4207 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4208
4209         update-copyright-tests: improve portability
4210         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
4211         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
4212
4213 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
4214
4215         update-copyright: support @copyright{} and &copy;
4216         * build-aux/update-copyright: Implement and document.
4217         * tests/test-update-copyright.sh: Test.
4218
4219 2009-08-04  Jim Meyering  <meyering@redhat.com>
4220
4221         update-copyright-tests: correctly test EOL=\r\n handling
4222         * tests/test-update-copyright.sh: Put \r at the end of some lines
4223         for the dos-eol tests.  Based on a patch by Joel E. Denny.
4224
4225         maint.mk: make update-copyright exclusion list more configurable
4226         * top/maint.mk (update-copyright): Default to excluding COPYING,
4227         but allow an override, in case someone does want to update that file.
4228
4229         maint.mk: don't update copyright date in COPYING
4230         * top/maint.mk (update-copyright): Exclude COPYING.
4231
4232         maint.mk: add a copyright-updating rule
4233         * top/maint.mk (update-copyright): New rule.
4234         Derived from coreutils/Makefile.am.
4235
4236         update-copyright: rename some variables
4237         * build-aux/update-copyright: Rename a few variables for clarity.
4238         Tweak syntax.  List Joel E. Denny as coauthor.
4239
4240 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
4241
4242         update-copyright: fix bug for 2-digit last year and add tests
4243         * build-aux/update-copyright: Fix bug.
4244         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
4245         specified.
4246         * modules/update-copyright-tests: New
4247         * tests/test-update-copyright.sh: New.
4248
4249 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
4250
4251         update-copyright: handle leading tabs in line prefix
4252         * build-aux/update-copyright: Count leading tabs as 8 spaces
4253         when computing margin.  This helps with the formatting of
4254         ChangeLogs, for example.
4255         Fix documentation a little.
4256
4257 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
4258
4259         update-copyright: support EOL=\r\n
4260         * build-aux/update-copyright: Implement that.
4261
4262 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
4263
4264         update-copyright: automatically format copyright statements
4265         * build-aux/update-copyright: Implement that.
4266         Also, be a little more predictable and safer by always failing
4267         when the full copyright format is not perfectly recognized as an
4268         unbroken whole.  Discussed at
4269         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
4270         Rewrite documentation.
4271
4272 2009-08-03  Bruno Haible  <bruno@clisp.org>
4273
4274         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
4275
4276 2009-08-02  Bruno Haible  <bruno@clisp.org>
4277
4278         Tests for module 'uname'.
4279         * modules/uname-tests: New file.
4280         * tests/test-uname.c: New file.
4281
4282         New module 'uname'.
4283         * lib/uname.c: New file.
4284         * m4/uname.m4: New file.
4285         * modules/uname: New file.
4286         * doc/posix-functions/uname.texi: Mention the new module.
4287
4288 2009-08-02  Bruno Haible  <bruno@clisp.org>
4289
4290         Tests for module 'sys_utsname'.
4291         * modules/sys_utsname-tests: New file.
4292         * tests/test-sys_utsname.c: New file.
4293
4294         New module 'sys_utsname'.
4295         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
4296         * m4/sys_utsname_h.m4: New file.
4297         * modules/sys_utsname: New file.
4298         * doc/posix-headers/sys_utsname.texi: Mention the new module.
4299
4300 2009-08-02  Bruno Haible  <bruno@clisp.org>
4301
4302         Implicitly initialize the sockets library.
4303         * lib/gethostname.c: Include sockets.h.
4304         (rpl_gethostname): Invoke gl_sockets_startup.
4305         * lib/socket.c: Include sockets.h.
4306         (rpl_socket): Invoke gl_sockets_startup.
4307         * modules/gethostname (Depends-on): Add sockets.
4308         * modules/socket (Depends-on): Likewise.
4309         * tests/test-poll.c: Don't include sockets.h.
4310         (main): Don't invoke gl_sockets_startup.
4311         * tests/test-select.c: Don't include sockets.h.
4312         (main): Don't invoke gl_sockets_startup.
4313
4314 2009-08-02  Bruno Haible  <bruno@clisp.org>
4315
4316         Allow multiple calls to gl_sockets_startup.
4317         * lib/sockets.c (initialized_sockets_version): New variable.
4318         (gl_sockets_startup): Do nothing if already called for this or a higher
4319         version.
4320         (gl_sockets_cleanup): Reset initialized_sockets_version.
4321
4322 2009-08-03  Simon Josefsson  <simon@josefsson.org>
4323
4324         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
4325         different project/version.
4326
4327 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
4328             Bruno Haible  <bruno@clisp.org>
4329
4330         Tests for module 'pipe-filter-gi'.
4331         * modules/pipe-filter-gi-tests: New file.
4332         * tests/test-pipe-filter-gi1.sh: New file.
4333         * tests/test-pipe-filter-gi1.c: New file.
4334         * tests/test-pipe-filter-gi2.sh: New file.
4335         * tests/test-pipe-filter-gi2-main.c: New file.
4336         * tests/test-pipe-filter-gi2-child.c: New file.
4337
4338         New module 'pipe-filter-gi'.
4339         * lib/pipe-filter-gi.c: New file.
4340         * modules/pipe-filter-gi: New file.
4341
4342 2009-08-02  Bruno Haible  <bruno@clisp.org>
4343             Paolo Bonzini  <bonzini@gnu.org>
4344
4345         Tests for module 'pipe-filter-ii'.
4346         * modules/pipe-filter-ii-tests: New file.
4347         * tests/test-pipe-filter-ii1.sh: New file.
4348         * tests/test-pipe-filter-ii1.c: New file.
4349         * tests/test-pipe-filter-ii2.sh: New file.
4350         * tests/test-pipe-filter-ii2-main.c: New file.
4351         * tests/test-pipe-filter-ii2-child.c: New file.
4352
4353         New module 'pipe-filter-ii'.
4354         * lib/pipe-filter.h: New file.
4355         * lib/pipe-filter-ii.c: New file.
4356         * lib/pipe-filter-aux.h: New file.
4357         * modules/pipe-filter-ii: New file.
4358
4359 2009-08-02  Simon Josefsson  <simon@josefsson.org>
4360
4361         * lib/gc-libgcrypt.c: Change copyright to FSF.
4362         * lib/gc-gnulib.c: Likewise.
4363
4364 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
4365
4366         * lib/gethostname.c: Include limits.h.
4367
4368 2009-08-02  Simon Josefsson  <simon@josefsson.org>
4369             Bruno Haible  <bruno@clisp.org>
4370
4371         Ensure HOST_NAME_MAX as part of the gethostname module.
4372         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
4373         define also HOST_NAME_MAX.
4374         * tests/test-gethostname.c: Include <limits.h>.
4375         (main): Check also HOST_NAME_MAX.
4376         * doc/posix-headers/limits.texi: Document the mingw problem.
4377
4378 2009-08-02  Bruno Haible  <bruno@clisp.org>
4379
4380         * lib/gethostname.c (gethostname): Fix handling of large len argument.
4381         Add comments.
4382
4383 2009-03-31  Simon Josefsson  <simon@josefsson.org>
4384
4385         * lib/gethostname.c: Add Windows wrapper.
4386         * m4/gethostname.m4: Look for gethostname in -lws2_32.
4387         * modules/gethostname: Depend on sys_socket & errno, for also
4388         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
4389         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
4390
4391 2009-07-31  Jim Meyering  <meyering@redhat.com>
4392
4393         getloadavg: fix symbol name in comment
4394         * lib/getloadavg.c: Correct a typo I introduced when adding
4395         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
4396         Matt Kraai spotted the problem.
4397
4398 2009-07-29  Matt Kraai  <mkraai@beckman.com>
4399
4400         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
4401         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
4402         code also if ! defined N_NAME_POINTER.
4403         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
4404         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
4405         but the n_name member is a 12-byte array.
4406
4407 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
4408
4409         update-copyright: generalize comment handling
4410         * build-aux/update-copyright: Handle copyright statements
4411         within more comment styles.
4412         Document usage.
4413         Report any file with an external copyright holder or parse failure.
4414
4415 2009-07-29  Jim Meyering  <meyering@redhat.com>
4416
4417         mktime: correct setting of REPLACE_MKTIME
4418         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
4419
4420         update-copyright: new module
4421         * modules/update-copyright: New file.
4422         * build-aux/update-copyright: New file.
4423         * MODULES.html.sh (maint+release support): Add update-copyright.
4424
4425 2009-07-27  Bruno Haible  <bruno@clisp.org>
4426
4427         Fix compilation error when <ctime> is used and mktime is replaced.
4428         * lib/time.in.h (mktime): New declaration.
4429         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
4430         REPLACE_MKTIME instead of defining mktime in config.h.
4431         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
4432         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
4433         Reported by Ross McFarland <rwmcfa1@neces.com>.
4434
4435 2009-07-27  Bruno Haible  <bruno@clisp.org>
4436
4437         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
4438         Reported by Matt Kraai <mkraai@beckman.com>.
4439
4440 2009-07-25  Jim Meyering  <meyering@redhat.com>
4441
4442         maint.mk: avoid warnings about missing files
4443         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
4444         diagnostic when .prev-version does not exist.
4445         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
4446         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
4447         nonexistent cfg.mk.
4448         Suggestions from Simon Josefsson.
4449
4450 2009-07-25  Bruno Haible  <bruno@clisp.org>
4451
4452         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
4453         defined as macros. Needed on QNX 6.4.1.
4454         Reported by Matt Kraai <mkraai@beckman.com>.
4455
4456 2009-07-23  Jim Meyering  <meyering@redhat.com>
4457
4458         maint.mk: invoke "make dist" with a working value of XZ_OPT
4459         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
4460
4461 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
4462
4463         Make fseeko.c compile on QNX.
4464         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
4465
4466 2009-07-22  Peter Simons  <simons@cryp.to>
4467
4468         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
4469         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
4470         * lib/md4.h: Likewise.
4471         * lib/md5.h: Likewise.
4472         * lib/sha1.h: Likewise.
4473         * lib/sha256.h: Likewise.
4474         * lib/sha512.h: Likewise.
4475
4476         tests-sha1: don't assign literal string to 'char *' variable
4477         * tests/test-sha1.c (main): Declare locals with "const" to match
4478         attributes of the right hand side.
4479
4480 2009-07-21  Eric Blake  <ebb9@byu.net>
4481
4482         dup2: fix more mingw problems
4483         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
4484         fd to itself.
4485         * doc/posix-functions/dup2.texi (dup2): Document the bug.
4486         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
4487         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
4488         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
4489         care of mingw bugs.
4490
4491 2009-07-21  Jim Meyering  <meyering@redhat.com>
4492
4493         vc-list-files: avoid failure when /bin/sh is dash
4494         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
4495         On some Debian based systems, /bin/sh is a symlink to dash, and running
4496         this command would omit the "/" following each 'tests' prefix:
4497           dash -x build-aux/vc-list-files -C . tests
4498         That is because bash and dash work differently:
4499           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
4500           bash ok
4501           dash odd
4502
4503 2009-07-21  Eric Blake  <ebb9@byu.net>
4504
4505         dup2-tests: test previous patch
4506         * modules/dup2-tests: New file.
4507         * tests/test-dup2.c: Likewise.
4508         * tests/test-open.c (main): Avoid unspecified behavior.
4509         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
4510         test.
4511
4512         dup2: work around mingw and cygwin 1.5 bug
4513         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
4514         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
4515         * modules/unistd (Makefile.am): Substitute it.
4516         * lib/unistd.in.h (dup2): Declare the replacement.
4517         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
4518         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
4519         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
4520         * modules/execute (Depends-on): Add dup2.
4521         * modules/fseterr (Depends-on): Likewise.
4522         * modules/pipe (Depends-on): Likewise.
4523         * modules/posix_spawn-internal (Depends-on): Likewise.
4524
4525 2009-07-21  Bruno Haible  <bruno@clisp.org>
4526
4527         * modules/.gitattributes: New file.
4528
4529 2009-07-20  Bruno Haible  <bruno@clisp.org>
4530
4531         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
4532         (main): Use it.
4533
4534 2009-07-20  Eric Blake  <ebb9@byu.net>
4535
4536         test-pipe: make a bit more robust.
4537         * tests/test-pipe.c (myerr): Allow error messages regardless of
4538         what we do to stderr.
4539         (test_pipe): Rearrange to avoid deadlock.
4540         (child_main): Try a larger read, to ensure we avoided deadlock.
4541         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
4542         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
4543         if misused.
4544
4545 2009-07-19  Jim Meyering  <meyering@redhat.com>
4546
4547         fts: avoid false-positive cycle-detection
4548         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
4549         for each new command line argument.
4550
4551 2009-07-19  Bruno Haible  <bruno@clisp.org>
4552
4553         Fix build error on mingw with the modules sys_select and unistd.
4554         * modules/acl-tests (Depends-on): Add close.
4555         * modules/binary-io-tests (Depends-on): Likewise.
4556         * modules/closein-tests (Depends-on): Likewise.
4557         * modules/flock-tests (Depends-on): Likewise.
4558         * modules/fsync-tests (Depends-on): Likewise.
4559         * modules/lseek-tests (Depends-on): Likewise.
4560         * modules/pipe-tests (Depends-on): Likewise.
4561         * modules/posix_spawn-tests (Depends-on): Likewise.
4562         * modules/posix_spawnp-tests (Depends-on): Likewise.
4563         * modules/stat-time-tests (Depends-on): Likewise.
4564         * modules/yesno-tests (Depends-on): Likewise.
4565
4566 2009-07-19  Bruno Haible  <bruno@clisp.org>
4567
4568         Unify conditionals.
4569         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
4570         macros, not at the compiler macros.
4571         * lib/pipe.c: Likewise.
4572         * lib/execute.c: Likewise.
4573         * lib/spawni.c: Likewise.
4574
4575 2009-07-19  Bruno Haible  <bruno@clisp.org>
4576
4577         Fix handling of closed stdin/stdout/stderr on mingw.
4578         * lib/w32spawn.h: Include unistd.h.
4579         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
4580         file descriptor with O_NOINHERIT flag.
4581         (fd_safer_noinherit): New function, based on fd-safer.c.
4582         (dup_safer_noinherit): New function, based on dup-safer.c.
4583         (undup_safer_noinherit): New function.
4584         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
4585         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
4586         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
4587         instead of fd_safer.
4588         * tests/test-pipe.c: Include <windows.h>.
4589         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
4590
4591         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
4592         from main.
4593         (test_pipe): Pass an extra argument for disambiguation.
4594         (main): Invoke parent_main or child_main.
4595
4596         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
4597         consistently.
4598
4599 2009-07-18  Eric Blake  <ebb9@byu.net>
4600
4601         test-pipe: fix mingw build
4602         * tests/test-pipe.c (main): Avoid fcntl on mingw.
4603
4604 2009-07-18  Bruno Haible  <bruno@clisp.org>
4605
4606         * modules/pipe-tests (Makefile.am): Fix typo.
4607
4608 2009-07-18  Eric Blake  <ebb9@byu.net>
4609
4610         error: fix mingw build
4611         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
4612         Reported by Bruno Haible.
4613
4614         error: avoid undefined use of stdout
4615         * lib/error.c (error, error_at_line): Check that fd 1 is open
4616         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
4617         is handling faults and the close_stdout module wants to report the
4618         detection of closed stdout as an error.
4619
4620 2009-07-17  Eric Blake  <ebb9@byu.net>
4621
4622         pipe: be robust in face of closed fds
4623         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
4624         should cause child to misbehave.
4625         * modules/pipe-tests: New module.
4626         * tests/test-pipe.c: New file.
4627         * tests/test-pipe.sh: New file.
4628         Reported by Akim Demaille.
4629
4630 2009-07-14  Bruno Haible  <bruno@clisp.org>
4631
4632         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
4633         Reported by anonymous kc.
4634
4635 2009-07-07  Jim Meyering  <meyering@redhat.com>
4636
4637         maint.mk: don't look for translatable strings in *.m4 or *.mk
4638         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
4639         when searching for translatable strings.
4640
4641 2009-07-05  Jim Meyering  <meyering@redhat.com>
4642
4643         remove superfluous parentheses in STREQ definition
4644         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
4645         * lib/getugroups.c (STREQ): Likewise.
4646         * lib/fnmatch.c (STREQ): Likewise.
4647         Spotted by Bruno Haible.
4648
4649 2009-07-04  Jim Meyering  <meyering@redhat.com>
4650
4651         argv-iter: new module
4652         * MODULES.html.sh: Add argv-iter.
4653         * lib/argv-iter.c, lib/argv-iter.h: New files.
4654         * modules/argv-iter: New file.
4655         * modules/argv-iter-tests: New file.
4656         * tests/test-argv-iter.c: Test it.
4657
4658 2009-07-04  Bruno Haible  <bruno@clisp.org>
4659
4660         Fix assertion.
4661         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
4662         contains more exact copies of a given entry than file2, leave the extra
4663         copies unpaired rather than aborting.
4664         Reported by Eric Blake.
4665
4666 2009-07-02  Bruno Haible  <bruno@clisp.org>
4667
4668         Speedup git-merge-changelog for git cherry-pick.
4669         * lib/git-merge-changelog.c (struct entries_mapping): New type.
4670         (entries_mapping_get): New function, extracted from compute_mapping.
4671         (entries_mapping_reverse_get): New function.
4672         (compute_mapping): Add a 'full' argument. Return the result in a
4673         'struct entries_mapping'.
4674         (main): Update. Access the mappings through entries_mapping_get.
4675         Reported by Eric Blake.
4676
4677 2009-07-02  Bruno Haible  <bruno@clisp.org>
4678
4679         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
4680         best_i.
4681
4682 2009-07-02  Bruno Haible  <bruno@clisp.org>
4683
4684         Speed up approximate search for matching ChangeLog entries.
4685         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
4686         argument. Call fstrcmp_bounded instead of fstrcmp.
4687         (compute_mapping, try_split_merged_entry, main): Update callers.
4688
4689 2009-07-02  Bruno Haible  <bruno@clisp.org>
4690
4691         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
4692
4693 2009-06-30  Bruno Haible  <bruno@clisp.org>
4694
4695         Reduce the number of uc_is_cased calls.
4696         * lib/unicase.h (casing_suffix_context_t): Add
4697         'first_char_except_ignorable' field.
4698         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
4699         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
4700         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
4701         Update initializer.
4702         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
4703         case-ignorable characters.
4704         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
4705         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
4706         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
4707         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
4708         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
4709
4710 2009-06-30  Bruno Haible  <bruno@clisp.org>
4711
4712         Tests for module 'unicase/ignorable'.
4713         * modules/unicase/ignorable-tests: New file.
4714         * tests/unicase/test-ignorable.c: New file, generated by
4715         gen-uni-tables.
4716
4717         Tests for module 'unicase/cased'.
4718         * modules/unicase/cased-tests: New file.
4719         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
4720         * tests/unicase/test-predicate-part1.h: New file, derived from
4721         tests/unictype/test-predicate-part1.h.
4722         * tests/unicase/test-predicate-part2.h: New file, same as
4723         tests/unictype/test-predicate-part2.h.
4724
4725         Fix evaluation of "Before C" condition of FINAL_SIGMA.
4726         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
4727         (output_casing_properties): New function.
4728         (main): Call it.
4729         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
4730         * lib/unicase/cased.c: Include unictype/bitmap.h.
4731         (uc_is_cased): Define through a bitmap lookup.
4732         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
4733         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
4734         (uc_is_case_ignorable): Define through a bitmap lookup.
4735         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
4736         lib/unictype/bitmap.h.
4737         (Depends-on): Add inline. Clean up.
4738         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
4739         lib/unictype/bitmap.h.
4740         (Depends-on): Add inline. Clean up.
4741         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
4742         recognition.
4743         * tests/unicase/test-u16-tolower.c (main): Likewise.
4744         * tests/unicase/test-u32-tolower.c (main): Likewise.
4745
4746 2009-06-30  Bruno Haible  <bruno@clisp.org>
4747
4748         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
4749         * lib/unicase/u16-casemap.c: Likewise.
4750         * lib/unicase/u32-casemap.c: Likewise.
4751
4752 2009-06-29  Bruno Haible  <bruno@clisp.org>
4753
4754         Define u32_casefold as a wrapper around u32_ct_casefold.
4755         * lib/unicase/u32-casefold.c: Update.
4756         * modules/unicase/u32-casefold (Depends-on): Add
4757         unicase/u32-ct-casefold, unicase/empty-prefix-context,
4758         unicase/empty-suffix-context. Clean up.
4759
4760         Define u16_casefold as a wrapper around u16_ct_casefold.
4761         * lib/unicase/u16-casefold.c: Update.
4762         * modules/unicase/u16-casefold (Depends-on): Add
4763         unicase/u16-ct-casefold, unicase/empty-prefix-context,
4764         unicase/empty-suffix-context. Clean up.
4765
4766         Define u8_casefold as a wrapper around u8_ct_casefold.
4767         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
4768         * lib/unicase/u8-casefold.c: Update.
4769         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
4770         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
4771
4772         Define u32_totitle as a wrapper around u32_ct_totitle.
4773         * lib/unicase/u32-totitle.c: Update.
4774         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
4775         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
4776
4777         Define u16_totitle as a wrapper around u16_ct_totitle.
4778         * lib/unicase/u16-totitle.c: Update.
4779         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
4780         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
4781
4782         Define u8_totitle as a wrapper around u8_ct_totitle.
4783         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
4784         functions.
4785         (FUNC): Delegate to U_CT_TOTITLE.
4786         * lib/unicase/u8-totitle.c: Update.
4787         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
4788         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
4789
4790         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
4791         invocation.
4792         * modules/unicase/u32-tolower (Depends-on): Add
4793         unicase/empty-prefix-context, unicase/empty-suffix-context.
4794
4795         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
4796         invocation.
4797         * modules/unicase/u16-tolower (Depends-on): Add
4798         unicase/empty-prefix-context, unicase/empty-suffix-context.
4799
4800         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
4801         * modules/unicase/u8-tolower (Depends-on): Add
4802         unicase/empty-prefix-context, unicase/empty-suffix-context.
4803
4804         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
4805         invocation.
4806         * modules/unicase/u32-toupper (Depends-on): Add
4807         unicase/empty-prefix-context, unicase/empty-suffix-context.
4808
4809         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
4810         invocation.
4811         * modules/unicase/u16-toupper (Depends-on): Add
4812         unicase/empty-prefix-context, unicase/empty-suffix-context.
4813
4814         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
4815         * modules/unicase/u8-toupper (Depends-on): Add
4816         unicase/empty-prefix-context, unicase/empty-suffix-context.
4817
4818         New module 'unicase/u32-ct-casefold'.
4819         * lib/unicase/u32-ct-casefold.c: New file.
4820         * modules/unicase/u32-ct-casefold: New file.
4821
4822         New module 'unicase/u16-ct-casefold'.
4823         * lib/unicase/u16-ct-casefold.c: New file.
4824         * modules/unicase/u16-ct-casefold: New file.
4825
4826         New module 'unicase/u8-ct-casefold'.
4827         * lib/unicase/u8-ct-casefold.c: New file.
4828         * lib/unicase/u-ct-casefold.h: New file, derived from
4829         lib/unicase/u-casefold.h.
4830         * modules/unicase/u8-ct-casefold: New file.
4831
4832         New module 'unicase/u32-ct-totitle'.
4833         * lib/unicase/u32-ct-totitle.c: New file.
4834         * modules/unicase/u32-ct-totitle: New file.
4835
4836         New module 'unicase/u16-ct-totitle'.
4837         * lib/unicase/u16-ct-totitle.c: New file.
4838         * modules/unicase/u16-ct-totitle: New file.
4839
4840         New module 'unicase/u8-ct-totitle'.
4841         * lib/unicase/u8-ct-totitle.c: New file.
4842         * lib/unicase/u-ct-totitle.h: New file, derived from
4843         lib/unicase/u-totitle.h.
4844         * modules/unicase/u8-ct-totitle: New file.
4845
4846         New module 'unicase/u32-ct-tolower'.
4847         * lib/unicase/u32-ct-tolower.c: New file.
4848         * modules/unicase/u32-ct-tolower: New file.
4849
4850         New module 'unicase/u16-ct-tolower'.
4851         * lib/unicase/u16-ct-tolower.c: New file.
4852         * modules/unicase/u16-ct-tolower: New file.
4853
4854         New module 'unicase/u8-ct-tolower'.
4855         * lib/unicase/u8-ct-tolower.c: New file.
4856         * modules/unicase/u8-ct-tolower: New file.
4857
4858         New module 'unicase/u32-ct-toupper'.
4859         * lib/unicase/u32-ct-toupper.c: New file.
4860         * modules/unicase/u32-ct-toupper: New file.
4861
4862         New module 'unicase/u16-ct-toupper'.
4863         * lib/unicase/u16-ct-toupper.c: New file.
4864         * modules/unicase/u16-ct-toupper: New file.
4865
4866         New module 'unicase/u8-ct-toupper'.
4867         * lib/unicase/u8-ct-toupper.c: New file.
4868         * modules/unicase/u8-ct-toupper: New file.
4869
4870         Add context arguments to u*_casemap functions.
4871         * lib/unicase/unicasemap.h: Include unicase.h.
4872         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
4873         suffix_context arguments.
4874         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
4875         functions.
4876         (FUNC): Add prefix_context and suffix_context arguments. Use
4877         uc_is_cased and uc_is_case_ignorable.
4878         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
4879         * lib/unicase/u16-casemap.c: Likewise.
4880         * lib/unicase/u32-casemap.c: Likewise.
4881         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
4882         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
4883         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
4884         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
4885         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
4886         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
4887
4888         New module 'unicase/u32-suffix-context'.
4889         * lib/unicase/u32-suffix-context.c: New file.
4890         * modules/unicase/u32-suffix-context: New file.
4891
4892         New module 'unicase/u16-suffix-context'.
4893         * lib/unicase/u16-suffix-context.c: New file.
4894         * modules/unicase/u16-suffix-context: New file.
4895
4896         New module 'unicase/u8-suffix-context'.
4897         * lib/unicase/u8-suffix-context.c: New file.
4898         * lib/unicase/u-suffix-context.h: New file.
4899         * modules/unicase/u8-suffix-context: New file.
4900
4901         New module 'unicase/empty-suffix-context'.
4902         * lib/unicase/empty-suffix-context.c: New file.
4903         * modules/unicase/empty-suffix-context: New file.
4904
4905         New module 'unicase/u32-prefix-context'.
4906         * lib/unicase/u32-prefix-context.c: New file.
4907         * modules/unicase/u32-prefix-context: New file.
4908
4909         New module 'unicase/u16-prefix-context'.
4910         * lib/unicase/u16-prefix-context.c: New file.
4911         * modules/unicase/u16-prefix-context: New file.
4912
4913         New module 'unicase/u8-prefix-context'.
4914         * lib/unicase/u8-prefix-context.c: New file.
4915         * lib/unicase/u-prefix-context.h: New file.
4916         * lib/unicase/context.h: New file.
4917         * modules/unicase/u8-prefix-context: New file.
4918
4919         New module 'unicase/empty-prefix-context'.
4920         * lib/unicase/empty-prefix-context.c: New file.
4921         * modules/unicase/empty-prefix-context: New file.
4922
4923         New module 'unicase/ignorable'.
4924         * lib/unicase/ignorable.c: New file.
4925         * modules/unicase/ignorable: New file.
4926
4927         New module 'unicase/cased'.
4928         * lib/unicase/caseprop.h: New file.
4929         * lib/unicase/cased.c: New file.
4930         * modules/unicase/cased: New file.
4931
4932         New functions for case mapping of substrings.
4933         * lib/unicase.h (casing_prefix_context_t): New type.
4934         (unicase_empty_prefix_context): New variable.
4935         (u8_casing_prefix_context, u16_casing_prefix_context,
4936         u32_casing_prefix_context, u8_casing_prefixes_context,
4937         u16_casing_prefixes_context, u32_casing_prefixes_context): New
4938         declarations.
4939         (casing_suffix_context_t): New type.
4940         (unicase_empty_suffix_context): New variable.
4941         (u8_casing_suffix_context, u16_casing_suffix_context,
4942         u32_casing_suffix_context, u8_casing_suffixes_context,
4943         u16_casing_suffixes_context, u32_casing_suffixes_context,
4944         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
4945         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
4946         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
4947         declarations.
4948
4949 2009-06-28  Jim Meyering  <meyering@redhat.com>
4950
4951         boostrap: indent only with spaces
4952         * build-aux/bootstrap: Indent only with spaces, never TABs.
4953
4954         bootstrap: split long lines
4955         * build-aux/bootstrap: Keep line length < 80.
4956
4957         bootstrap: sync from coreutils
4958         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
4959         just as autoreconf does.  Verify a list of prerequisite
4960         package-name,version-number pairs if defined in bootstrap.conf.
4961         Refer to README-prereq, if prerequisites are not satisfied.
4962
4963 2009-06-27  Eric Blake  <ebb9@byu.net>
4964
4965         tests: add test for bogus NULL definition
4966         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
4967         * tests/test-stdlib.c: Likewise.
4968         * tests/test-string.c: Likewise.
4969         * tests/test-locale.c: Likewise.
4970         * tests/test-unistd.c: Likewise.
4971         * modules/stdio-tests (Depends-on): Add verify.
4972         * modules/stdlib-tests (Depends-on): Likewise.
4973         * modules/string-tests (Depends-on): Likewise.
4974         * modules/locale-tests (Depends-on): Likewise.
4975         * modules/unistd-tests (Depends-on): Likewise.
4976
4977 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
4978
4979         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
4980         self-explaining comment.
4981         * m4/selinux-selinux-h: Update serial.
4982         (gl_LIBSELINUX): New macro, adding a warning for missing development
4983         packages to code extracted from...
4984         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
4985         Add warning for missing development packages here, too.
4986
4987 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
4988
4989         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
4990
4991 2009-06-25  Eric Blake  <ebb9@byu.net>
4992
4993         version-etc: fix regression
4994         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
4995         gcc.
4996         (version_etc): Use it, to catch bugs with trailing NULL.
4997         * lib/version-etc.c (version_etc_arn): Delete unused argument.
4998         (version_etc_va): Fix logic bug.
4999         * modules/version-etc-tests: Add test.
5000         * tests/test-version-etc.c: New file.
5001         * tests/test-version-etc.sh: Likewise.
5002
5003 2009-06-25  Sam Steingold  <sds@gnu.org>
5004
5005         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
5006         mbtowc declaration.
5007
5008 2009-06-25  Eric Blake  <ebb9@byu.net>
5009
5010         fpurge: migrate into <stdio.h>
5011         * lib/fpurge.h: Delete...
5012         * lib/stdio.in.h (fpurge): ...and declare here, instead.
5013         * lib/fpurge.c (fpurge): Change declaring header.
5014         * modules/fpurge (Files): Drop deleted file.
5015         (Depends-on): Add stdio.
5016         (configure.ac): Set witness.
5017         * modules/stdio (Makefile.am): Support fpurge macros.
5018         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
5019         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
5020         * lib/fflush.c: Update client.
5021         * tests/test-fpurge.c: Likewise.
5022         * NEWS: Mention the change.
5023
5024 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5025
5026         * lib/argp-version-etc.c (program_authors): Add const
5027         qualifier.
5028         * lib/version-etc.c: Fix typos in the comments.
5029         * modules/argp-version-etc: Depends on version-etc.
5030
5031 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5032
5033         argp-version-etc: new module.
5034
5035         * lib/argp-version-etc.c: New file.
5036         * lib/argp-version-etc.h: New file.
5037         * modules/argp-version-etc: New file.
5038         * modules/argp-version-etc-tests: New file.
5039         * tests/test-argp-version-etc.c: New test.
5040         * tests/test-argp-version-etc-1.sh: New test.
5041
5042 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5043
5044         Provide additional interfaces and documentation for version-etc
5045         module.
5046
5047         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
5048         interfaces.
5049         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
5050         prototypes.
5051
5052 2009-06-24  Bruno Haible  <bruno@clisp.org>
5053
5054         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
5055         HAVE_LIB${NAME} macro.
5056         Reported by Sam Steingold <sds@gnu.org>.
5057
5058 2009-06-23  Simon Josefsson  <simon@josefsson.org>
5059
5060         * modules/hash-tests (test_hash_LDADD): Link to libintl when
5061         needed.
5062
5063 2009-06-21  Bruno Haible  <bruno@clisp.org>
5064
5065         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
5066         work.
5067         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
5068         together with LIB${NAME}, LTLIB${NAME}.
5069         Reported by Sam Steingold <sds@gnu.org>.
5070
5071 2009-06-20  Jim Meyering  <meyering@redhat.com>
5072
5073         tests: make sc_require_test_exit_idiom more generic
5074         * top/maint.mk (Exit_witness_file): New overridable variable.
5075         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
5076         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
5077
5078 2009-06-19  Jim Meyering  <meyering@redhat.com>
5079
5080         hash: reverse order of src/dst parameters in an internal interface
5081         * lib/hash.c (transfer_entries): Reverse order of parameters to
5082         put DST before SRC.  Adjust callers.
5083
5084         tests: test-hash: avoid wholesale duplication
5085         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
5086         Instead, use a loop and add a single conditional.
5087
5088         tests: test-hash: allow seed selection via a command line argument
5089         * tests/test-hash.c (get_seed): New function.
5090         (main): Use it.
5091
5092 2009-06-19  Eric Blake  <ebb9@byu.net>
5093
5094         hash: avoid memory leak on allocation failure
5095         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
5096         failure.  Factor repeated algorithm...
5097         (transfer_entries): ...into new helper routine.
5098         (hash_delete): React to hash_rehash return value.
5099
5100         hash: reduce memory pressure in hash_rehash no-op case
5101         * lib/hash.c (next_prime): Avoid overflow.
5102         (hash_initialize): Factor bucket size computation...
5103         (compute_bucket_size): ...into new helper function.
5104         (hash_rehash): Use new function and open coding to reduce memory
5105         pressure, and avoid a memory leak in USE_OBSTACK code.
5106         Reported by Jim Meyering.
5107
5108 2009-06-18  Eric Blake  <ebb9@byu.net>
5109
5110         hash: make rotation more obvious
5111         * modules/hash (Depends-on): Add bitrotate and stdint.
5112         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
5113         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
5114         (SIZE_MAX): Rely on headers for definition.
5115         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
5116         (raw_hasher): Use rotr_sz.
5117         Suggested by Jim Meyering.
5118
5119         hash: fix memory leak in last patch
5120         * lib/hash.c (hash_rehash): Avoid memory leak.
5121
5122         hash: avoid no-op rehashing
5123         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
5124
5125         hash: provide default callback functions
5126         * lib/hash.c (raw_hasher, raw_comparator): New functions.
5127         (hash_initialize): Use them as defaults.
5128         * tests/test-hash.c (main): Test this.
5129
5130         hash: minor optimization
5131         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
5132         when possible.
5133         (hash_initialize): Document this promise.
5134         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
5135         * tests/test-hash.c (hash_compare_strings): Test this.
5136
5137 2009-06-18  Bruno Haible  <bruno@clisp.org>
5138
5139         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
5140         going to be replaced anyway.
5141
5142 2009-06-18  Bruno Haible  <bruno@clisp.org>
5143
5144         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
5145         in one place.
5146         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
5147         be replaced anyway.
5148
5149 2009-06-18  Eric Blake  <ebb9@byu.net>
5150
5151         hash: check for resize before insertion
5152         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
5153         threshold before insertion, so that a pathological hash_rehash
5154         that fills every bucket can still trigger another rehash.
5155
5156 2009-06-18  Jim Meyering  <meyering@redhat.com>
5157
5158         hash-tests: add a loop around the small tests
5159         * tests/test-hash.c (main): Repeat small tests with selected
5160         small initial table sizes.
5161
5162 2009-06-17  Eric Blake  <ebb9@byu.net>
5163
5164         hash: minor cleanups
5165         * lib/hash.h (hash_entry): Make opaque, by moving...
5166         * lib/hash.c (hash_entry): ...here.
5167         (hash_insert): Clarify restrictions on what can be inserted.
5168         (hash_get_next): Clarify when it is safe to remove an element
5169         during traversal.
5170         (check_tuning): Skip verification when tuning is known safe.
5171         (hash_initialize): Clarify restrictions on tuning.
5172
5173 2009-06-17  Jim Meyering  <jim@meyering.net>
5174         and Eric Blake  <ebb9@byu.net>
5175
5176         hash-tests: new module
5177         * modules/hash-tests: New file.
5178         * tests/test-hash.c: New file.
5179
5180 2009-06-17  Eric Blake  <ebb9@byu.net>
5181
5182         strstr-simple: document new module
5183         * MODULES.html.sh: Document new module.
5184
5185         strstr, strcasestr: replace on platforms with broken memchr
5186         * modules/strstr: Split into...
5187         * modules/strstr-simple: ...new module that does not care about
5188         performance, but does care about glibc bug.
5189         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
5190         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
5191         if platform memchr is broken, per Debian bug 521737.
5192         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
5193         memchr.
5194         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
5195         * doc/posix-functions/strstr.texi (strstr): Document the fix.
5196         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
5197         * modules/mountlist (Depends-on): Add strstr-simple.
5198         * modules/gen-uni-tables (Depends-on): Likewise.
5199         * modules/argz (Depends-on): Add strstr.
5200
5201 2009-06-17  Bruno Haible  <bruno@clisp.org>
5202
5203         * modules/posix_spawn-internal (Depends-on): Add errno.
5204
5205 2009-06-17  Bruno Haible  <bruno@clisp.org>
5206
5207         Define missing ESTALE on Interix 3.5.
5208         * lib/errno.in.h (ESTALE): Assign a value if missing.
5209         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
5210         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
5211         missing.
5212         * doc/posix-headers/errno.texi: Mention the Interix bug.
5213         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
5214
5215 2009-06-15  Eric Blake  <ebb9@byu.net>
5216
5217         memchr, memchr2: add valgrind exception
5218         * lib/memchr.valgrind: New file.
5219         * lib/memchr2.valgrind: New file.
5220         * modules/memchr (Files): Distribute valgrind file.
5221         * modules/memchr2 (Files): Likewise.
5222
5223         docs: memchr is no longer obsolete
5224         * MODULES.html.sh: Move memchr from obsolete to string.h section.
5225         * lib/string.in.h (memchr): Simplify logic.
5226
5227 2009-06-14  Jim Meyering  <meyering@redhat.com>
5228
5229         link-follow: fix the "checking..." message to not mention trailing slash
5230         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
5231         never considered trailing slashes.
5232
5233 2009-06-14  Bruno Haible  <bruno@clisp.org>
5234
5235         * m4/memchr.m4: Mention also the bug on IA-64.
5236         * doc/posix-functions/memchr.texi: Likewise.
5237
5238 2009-06-12  Eric Blake  <ebb9@byu.net>
5239
5240         memchr: detect broken x86_64 and alpha implementations
5241         * modules/memchr-tests (Depends-on): Move mmap detection...
5242         * modules/memchr (Depends-on): ...here.
5243         (configure.ac): Set indicator.
5244         * lib/string.in.h (memchr): Declare replacement.
5245         * modules/string (Makefile.am): Trigger replacement.
5246         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
5247         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
5248         bugs.
5249         * doc/posix-functions/memchr.texi (memchr): Document the bug.
5250         * modules/getpagesize (License): Relax license.
5251
5252 2009-06-11  Bruno Haible  <bruno@clisp.org>
5253
5254         * lib/idpriv.h: Add more references.
5255
5256 2009-06-08  Bruno Haible  <bruno@clisp.org>
5257
5258         Tests for module 'idpriv-droptemp'.
5259         * modules/idpriv-droptemp-tests: New file.
5260         * tests/test-idpriv-droptemp.sh: New file.
5261         * tests/test-idpriv-droptemp.su.sh: New file.
5262         * tests/test-idpriv-droptemp.c: New file.
5263
5264         New module 'idpriv-droptemp'.
5265         * lib/idpriv-droptemp.c: New file.
5266         * modules/idpriv-droptemp: New file.
5267
5268 2009-06-08  Bruno Haible  <bruno@clisp.org>
5269
5270         Tests for module 'idpriv-drop'.
5271         * modules/idpriv-drop-tests: New file.
5272         * tests/test-idpriv-drop.sh: New file.
5273         * tests/test-idpriv-drop.su.sh: New file.
5274         * tests/test-idpriv-drop.c: New file.
5275
5276         New module 'idpriv-drop'.
5277         * lib/idpriv.h: New file.
5278         * lib-idpriv-drop.c: New file.
5279         * m4/idpriv.m4: New file.
5280         * modules/idpriv-drop: New file.
5281
5282 2009-06-08  Bruno Haible  <bruno@clisp.org>
5283
5284         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
5285         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
5286         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
5287         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
5288         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
5289         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
5290         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
5291
5292 2009-06-08  Eric Blake  <ebb9@byu.net>
5293
5294         test-strstr: use memory fence, when possible
5295         * tests/test-strstr.c (main): Use memory fence, in order to be
5296         more likely to trigger Debian bug 521737.
5297         * modules/strstr-tests (Files): Pull in additional files.
5298
5299         memchr: no longer obsolete, for wider field testing
5300         * modules/memchr (Status, Notice): Delete, this module is no
5301         longer obsolete.
5302         * modules/vasnprintf (Depends-on): Add memchr.
5303
5304 2009-06-07  Jim Meyering  <meyering@redhat.com>
5305
5306         hash: declare some functions with the warn_unused_result attribute
5307         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
5308
5309 2009-06-07  Bruno Haible  <bruno@clisp.org>
5310
5311         * tests/test-alignof.c: Don't test int64_t if it does not exist.
5312         Reported by Eric Blake.
5313
5314 2009-06-06  Eric Blake  <ebb9@byu.net>
5315
5316         test-alignof: fix typo with long double
5317         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
5318         compiler error.
5319
5320 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
5321
5322         Escape non-texinfo { and }s.
5323         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
5324         markup error.
5325
5326 2009-06-04  Jim Meyering  <meyering@redhat.com>
5327
5328         gitlog-to-changelog: don't infloop on an empty commit log
5329         * build-aux/gitlog-to-changelog: Warn about an empty log message.
5330         Reported by Boris Petersen <transacid@centerim.org>.
5331
5332 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
5333
5334         version-etc: extend for packagers
5335         Add three new configure options, intended for packagers:
5336           --with-packager="packager name"
5337           --with-packager-version="packager-specific version"
5338           --with-packager-bug-reports="packager bug reporting"
5339         An example with coreutils:
5340           $ ./configure \
5341             --with-packager=Gentoo \
5342             --with-packager-bug-report=http://bugs.gentoo.org/ \
5343             --with-packager-version="patchset 1.6"
5344           $ ./src/ls --version | head -n3
5345           ls (GNU coreutils) 7.1-dirty
5346           Packaged by Gentoo (patchset 1.6)
5347           Copyright (C) 2009 Free Software Foundation, Inc.
5348         Note that the bug reporting info via --help doesn't show up because
5349         coreutils uses its own custom emit_bug_reporting_address() implementation
5350         in src/system.h.  If it didn't, it'd look like:
5351           $ ./src/ls --help | tail -n4
5352           Report bugs to <bug-coreutils@gnu.org>.
5353           Report Gentoo bugs to <http://bugs.gentoo.org/>.
5354           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
5355           General help using GNU software: <http://www.gnu.org/gethelp/>.
5356         * lib/version-etc.c: Print new information, if provided.
5357         * m4/version-etc.m4: New file.
5358         * modules/version-etc (Files): Add m4/version-etc.m4.
5359         (configure.ac): Add gl_VERSION_ETC.
5360
5361 2009-05-31  Bruno Haible  <bruno@clisp.org>
5362
5363         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
5364         and 'int64_t'.
5365         * modules/alignof-tests (Dependencies): Add stdint.
5366         Reported by Eric Blake.
5367
5368 2009-05-31  Bruno Haible  <bruno@clisp.org>
5369
5370         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
5371         restriction due to compiler bugs.
5372         Reported by Eric Blake.
5373
5374 2009-05-31  Simon Josefsson  <simon@josefsson.org>
5375             Bruno Haible  <bruno@clisp.org>
5376
5377         Fix test-alignof failure.
5378         * lib/alignof.h (alignof_slot): New macro.
5379         (alignof_type): New macro, with the same semantics as the previous
5380         'alignof'.
5381         (alignof): Alias to alignof_slot.
5382         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
5383         check that the results are usable as constant expressions.
5384
5385 2009-05-31  Bruno Haible  <bruno@clisp.org>
5386
5387         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
5388         * tests/test-memchr.c (main): Check that memchr does not read past the
5389         first occurrence of the byte.
5390         * tests/test-strstr.c (main): Update comment.
5391         Suggested by Eric Blake.
5392
5393 2009-05-30  Bruno Haible  <bruno@clisp.org>
5394
5395         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
5396         detail how to use dumpbin.
5397         Reported by David Byron <dbyron@dbyron.com>.
5398
5399 2009-06-02  Simon Josefsson  <simon@josefsson.org>
5400
5401         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
5402
5403 2009-06-02  Simon Josefsson  <simon@josefsson.org>
5404
5405         * m4/manywarnings.m4: Add GCC 4.4 warnings.
5406
5407 2009-05-28  Bruno Haible  <bruno@clisp.org>
5408
5409         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
5410         build-aux/ files.
5411
5412 2009-05-28  Simon Josefsson  <simon@josefsson.org>
5413
5414         * gnulib-tool (func_import): Transform license on build-aux/ files too.
5415
5416 2009-05-27  Simon Josefsson  <simon@josefsson.org>
5417
5418         * gnulib-tool (sed_transform_main_lib_file)
5419         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
5420         regexps.
5421
5422 2009-05-26  Simon Josefsson  <simon@josefsson.org>
5423
5424         * tests/test-strstr.c: Add another self-test.
5425         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
5426         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
5427
5428 2009-05-23  Bruno Haible  <bruno@clisp.org>
5429
5430         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
5431         change.
5432
5433 2009-05-21  Bruno Haible  <bruno@clisp.org>
5434
5435         Simplify use of mode_t varargs.
5436         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
5437         uses 'mode_t' or 'int'.
5438         * lib/openat.c (openat): Likewise.
5439         * lib/open-safer.c (open_safer): Likewise.
5440         * m4/mode_t.m4: New file.
5441         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
5442         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
5443         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
5444         * modules/open (Files): Add m4/mode_t.m4.
5445         * modules/openat (Files): Likewise.
5446         * modules/fcntl-safer (Files): Likewise.
5447         Suggested by Eric Blake.
5448
5449 2009-05-21  Pádraig Brady  <P@draigbrady.com>
5450
5451         * doc/glibc-functions/fallocate.texi: New file.
5452         * doc/gnulib.texi: Include it.
5453
5454 2009-05-21  Eric Blake  <ebb9@byu.net>
5455             Bruno Haible  <bruno@clisp.org>
5456
5457         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
5458         invocations.
5459         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
5460
5461 2009-05-21  Eric Blake  <ebb9@byu.net>
5462             Bruno Haible  <bruno@clisp.org>
5463
5464         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
5465         include_next. Fix of 2008-11-20 commit.
5466         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
5467         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
5468         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
5469         NEXT_MATH_H.
5470         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
5471         instead of NEXT_MATH_H.
5472
5473 2009-05-21  Bruno Haible  <bruno@clisp.org>
5474
5475         Avoid redefinition warnings for SIZE_MAX.
5476         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
5477         Reported by Simon Josefsson.
5478
5479 2009-05-21  Bruno Haible  <bruno@clisp.org>
5480
5481         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
5482         AC_CACHE_VAL.
5483
5484 2009-05-20  Bruno Haible  <bruno@clisp.org>
5485
5486         Make zeroptr.h work on mingw.
5487         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
5488         mprotect.
5489         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
5490         * modules/memchr2-tests (configure.ac): Likewise.
5491         * modules/memcmp-tests (configure.ac): Likewise.
5492         * modules/memmem-tests (configure.ac): Likewise.
5493         * modules/memrchr-tests (configure.ac): Likewise.
5494         Reported by Simon Josefsson.
5495
5496 2009-05-20  Simon Josefsson  <simon@josefsson.org>
5497
5498         * tests/test-glob.c: Include string.h for strcmp prototype.
5499
5500 2009-05-20  Simon Josefsson  <simon@josefsson.org>
5501
5502         * modules/getdelim (Depends-on): Add explicit stdint, although it
5503         was implicitly already pulled in via realloc-posix.
5504         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
5505
5506 2009-05-20  Simon Josefsson  <simon@josefsson.org>
5507
5508         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
5509         G. Christensen" <tgc@jupiterrise.com>.
5510         * m4/sys_socket_h.m4: Check for sa_family_t.
5511         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
5512         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
5513         * tests/test-sys_socket.c: Check that sa_family_t works.
5514
5515 2009-05-18  Eric Blake  <ebb9@byu.net>
5516
5517         maint.mk: allow gnulib_dir in VPATH build
5518         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
5519
5520 2009-05-15  Jim Meyering  <meyering@redhat.com>
5521
5522         maint.mk: Give gnulib_dir a default definition.
5523         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
5524         Thus, most packages no longer need to specify this variable in cfg.mk
5525
5526 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
5527
5528         rename.m4: fix typos that would make non-mingw cross-configure fail
5529         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
5530
5531 2009-05-13  Eric Blake  <ebb9@byu.net>
5532
5533         mmap-anon: avoid out-of-order autoconf expansion
5534         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
5535         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
5536         * modules/memchr-tests (Depends-on): Add extensions.
5537         * modules/memchr2-tests (Depends-on): Add extensions.
5538         * modules/memcmp-tests (Depends-on): Add extensions.
5539         * modules/memmem-tests (Depends-on): Add extensions.
5540         * modules/memrchr-tests (Depends-on): Add extensions.
5541
5542 2009-05-13  Bruno Haible  <bruno@clisp.org>
5543
5544         Make some tests ISO C 99 compliant.
5545         * tests/zerosize-ptr.h: New file.
5546         * tests/test-memchr.c: Include zerosize-ptr.h.
5547         (main): Use a zero-size object pointer instead of NULL.
5548         * tests/test-memchr2.c: Include zerosize-ptr.h.
5549         (main): Use a zero-size object pointer instead of NULL.
5550         * tests/test-memcmp.c: Include zerosize-ptr.h.
5551         (main): Use a zero-size object pointer instead of NULL.
5552         * tests/test-memmem.c: Include zerosize-ptr.h.
5553         (main): Use a zero-size object pointer instead of NULL.
5554         * tests/test-memrchr.c: Include zerosize-ptr.h.
5555         (main): Use a zero-size object pointer instead of NULL.
5556         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
5557         m4/mmap-anon.m4.
5558         (Depends-on): Add getpagesize.
5559         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
5560         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
5561         m4/mmap-anon.m4.
5562         (Depends-on): Add getpagesize.
5563         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
5564         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
5565         m4/mmap-anon.m4.
5566         (Depends-on): Add getpagesize.
5567         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
5568         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
5569         m4/mmap-anon.m4.
5570         (Depends-on): Add getpagesize.
5571         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
5572         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
5573         m4/mmap-anon.m4.
5574         (Depends-on): Add getpagesize.
5575         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
5576
5577 2009-05-12  Bruno Haible  <bruno@clisp.org>
5578
5579         Tests for module 'alignof'.
5580         * modules/alignof-tests: New file.
5581         * tests/test-alignof.c: New file.
5582
5583 2009-05-12  Bruno Haible  <bruno@clisp.org>
5584
5585         Fix alignof macro.
5586         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
5587         vendor compilers that are always correct.
5588
5589 2009-05-12  Bruno Haible  <bruno@clisp.org>
5590
5591         Make the MAP_ANONYMOUS detection work on HP-UX 11.
5592         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
5593         not whether its fully works.
5594
5595 2009-05-12  Bruno Haible  <bruno@clisp.org>
5596
5597         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
5598
5599 2009-05-12  Jim Meyering  <meyering@redhat.com>
5600
5601         * top/maint.mk: Adjust backslash alignment.
5602
5603 2009-05-11  Simon Josefsson  <simon@josefsson.org>
5604
5605         * top/maint.mk: Make $(srcdir)/build-aux configurable.
5606
5607 2009-05-11  Eric Blake  <ebb9@byu.net>
5608
5609         argp: avoid undefined behavior
5610         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
5611         macros.
5612
5613 2009-05-08  Simon Josefsson  <simon@josefsson.org>
5614
5615         * tests/test-vc-list-files-git.sh: Do git config of user.email and
5616         user.name to prevent git commit from complaining.
5617
5618 2009-05-10  Bruno Haible  <bruno@clisp.org>
5619
5620         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
5621         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
5622         it rewrites every file name only once.
5623         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
5624
5625 2009-05-08  Bruno Haible  <bruno@clisp.org>
5626
5627         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
5628         instead of 'max'.
5629
5630 2009-05-08  Simon Josefsson  <simon@josefsson.org>
5631
5632         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
5633         sockaddr_storage test.
5634
5635 2009-05-07  Simon Josefsson  <simon@josefsson.org>
5636
5637         * modules/sys_socket (Makefile.am): Substitute
5638         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
5639         * m4/sys_socket_h.m4: Check for sockaddr_storage.
5640         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
5641         * tests/test-sys_socket.c: Check sockaddr_storage.
5642
5643 2009-05-08  Bruno Haible  <bruno@clisp.org>
5644
5645         New module 'alignof'.
5646         * lib/alignof.h: New file.
5647         * modules/alignof: New file.
5648
5649 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
5650             Bruno Haible  <bruno@clisp.org>
5651
5652         Fix test-file-has-acl on FreeBSD.
5653         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
5654         mask is implicitly added.
5655         * tests/test-file-has-acl.c: Include <signal.h>.
5656         (main): Terminate the test after 5 seconds.
5657         * modules/acl-tests (configure.ac): Check for alarm function.
5658
5659 2009-05-04  Bruno Haible  <bruno@clisp.org>
5660
5661         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
5662         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
5663         * modules/errno (configure.ac): Drop AC_REQUIRE.
5664         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
5665         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
5666
5667 2009-05-04  Simon Josefsson  <simon@josefsson.org>
5668
5669         * modules/glob-tests: New module.
5670         * tests/test-glob.c: Add.
5671
5672 2009-05-04  Simon Josefsson  <simon@josefsson.org>
5673
5674         * modules/fnmatch-tests: New module.
5675         * tests/test-fnmatch.c: Add.
5676
5677 2009-05-04  Eric Blake  <ebb9@byu.net>
5678
5679         maint: make the new no-submodule-changes rule VPATH-safe
5680         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
5681
5682 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
5683             Bruno Haible  <bruno@clisp.org>
5684
5685         acl: Fix infinite loop on FreeBSD.
5686         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
5687         of return value from acl_get_entry.
5688         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
5689         Likewise.
5690
5691 2009-05-03  Bruno Haible  <bruno@clisp.org>
5692
5693         * lib/acl-internal.h (acl_entries): Clarify return value.
5694         * lib/acl_entries.c (acl_entries): Likewise.
5695
5696 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
5697
5698         Bug fix in acl module.
5699         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
5700
5701 2009-05-03  Bruno Haible  <bruno@clisp.org>
5702
5703         Create gperf-generated file in the source dir, not in the build dir.
5704         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
5705         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
5706         * modules/unicase/locale-language (unicase/locale-languages.h):
5707         Likewise.
5708         * modules/unicase/special-casing (unicase/special-casing-table.h):
5709         Likewise.
5710         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
5711         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
5712         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
5713         Reported by Ralf Wildenhues.
5714
5715 2009-05-03  Bruno Haible  <bruno@clisp.org>
5716
5717         * modules/fnmatch (Description, configure.ac): Taken from
5718         fnmatch-posix.
5719         * modules/fnmatch-posix: Turn into a symbolic reference to the
5720         'fnmatch' module, and deprecate.
5721         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
5722
5723 2009-05-03  Bruno Haible  <bruno@clisp.org>
5724
5725         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
5726         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
5727         Reported by Ralf Wildenhues.
5728
5729 2009-05-04  Simon Josefsson  <simon@josefsson.org>
5730
5731         * m4/fnmatch.m4: Fix fnmatch re-define.
5732
5733 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
5734
5735         priv-set: new module and tests; adapt write-any-file
5736         * lib/priv-set.c: New file.
5737         * lib/priv-set.h: New file.
5738         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
5739         * lib/write-any-file.c: Simplify by using priv-set module.
5740         * m4/priv-set.m4: New file.
5741         * modules/priv-set: New file.
5742         * modules/unlinkdir: Add dependency on priv-set module.
5743         * modules/write-any-file: Likewise.
5744
5745         Tests for module 'priv-set'.
5746         * modules/priv-set-tests: New file.
5747         * tests/test-priv-set.c: New file.
5748
5749 2009-05-03  Jim Meyering  <meyering@redhat.com>
5750             Bruno Haible  <bruno@clisp.org>
5751
5752         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
5753         use the converted UTF-8 variant of the name instead.
5754
5755 2009-05-03  Jim Meyering  <meyering@redhat.com>
5756
5757         tests: tighten some getdate tests
5758         * tests/test-getdate.c (main): Tighten tests: require equality,
5759         not just greater than.  Set TZ envvar to UTC0.
5760
5761 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
5762
5763         getdate: correctly interpret "next monday" when run on a Monday
5764         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
5765         that e.g., "next tues" (when run on a tuesday) results in a date
5766         that is one week in the future, and not today's date.
5767         I.e., add a week when the wday is the same as the current one.
5768         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
5769         and earlier by Martin Bernreuther and Jan Minář.
5770         * tests/test-getdate.c (main): Check that "next DAY" is always in
5771         the future and that "last DAY" is always in the past.
5772
5773 2009-05-02  Jim Meyering  <meyering@redhat.com>
5774
5775         build: ensure that a release build fails when a submodule is unclean
5776         * top/maint.mk (no-submodule-changes): New rule.
5777         (alpha beta major): Depend on it.
5778
5779 2009-05-02  Bruno Haible  <bruno@clisp.org>
5780
5781         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
5782         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
5783         shell variable gl_fnmatch_required to detect which variant is
5784         requested.
5785         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
5786         gl_FUNC_FNMATCH_POSIX.
5787         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
5788         exclude fnmatch-posix.
5789
5790 2009-05-02  Bruno Haible  <bruno@clisp.org>
5791
5792         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
5793         * modules/mbsrtowcs (License): Change to LGPLv2+.
5794         * modules/strnlen1 (License): Likewise.
5795         Reported by Simon Josefsson.
5796
5797 2009-05-02  Bruno Haible  <bruno@clisp.org>
5798
5799         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
5800         "cross".
5801         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
5802         gnulib-tool was called with option --source-base=lib.
5803
5804 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5805
5806         Use automake *-local hooks without commands, for extensibility.
5807         * modules/localcharset (Makefile.am): Rename install-exec-local
5808         rule to install-exec-localcharset, and make it a prerequisite of
5809         install-exec-local.  Likewise, rename the uninstall-local rule to
5810         uninstall-localcharset, and make it a prerequisite of the former.
5811
5812 2009-05-01  Bruno Haible  <bruno@clisp.org>
5813
5814         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
5815         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
5816         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
5817         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
5818         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
5819         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
5820         m4/locale-zh.m4, m4/codeset.m4.
5821
5822         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
5823         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
5824         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
5825         m4/locale-zh.m4.
5826
5827         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
5828         REPLACE_WCRTOMB if mbstate_t must be replaced.
5829         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
5830         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
5831
5832 2009-05-01  Bruno Haible  <bruno@clisp.org>
5833
5834         Avoid compiler warnings when redefining macros defined by <libintl.h>.
5835         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
5836         dngettext, dcngettext, textdomain, bindtextdomain,
5837         bind_textdomain_codeset): Undefine before redefining.
5838
5839 2009-04-30  Bruno Haible  <bruno@clisp.org>
5840
5841         Fix bug introduced on 2009-04-25.
5842         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
5843         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
5844         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
5845         is defined.
5846         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
5847         is defined.
5848         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
5849         is defined.
5850         Reported by Elbert_Pol <elbert.pol@gmail.com>.
5851
5852 2009-04-28  Bruno Haible  <bruno@clisp.org>
5853
5854         Comment tweaks.
5855         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
5856         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
5857         * lib/unicase.h (u*_casexfrm): Likewise.
5858         Reported by Paolo Bonzini.
5859
5860 2009-04-28  Bruno Haible  <bruno@clisp.org>
5861
5862         Fix a compilation error.
5863         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
5864         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
5865         Reported by Jim Meyering.
5866
5867 2009-04-27  Bruno Haible  <bruno@clisp.org>
5868
5869         New module 'libunistring'.
5870         * modules/libunistring: New file.
5871         * m4/libunistring.m4: New file.
5872         * MODULES.html.sh (Unicode string functions): Add it.
5873
5874 2009-04-27  Eric Blake  <ebb9@byu.net>
5875
5876         maint.mk: allow package-specific header to provide <config.h>
5877         * top/maint.mk (sc_require_config_h): New variable.
5878         (sc_require_config_h, sc_require_config_h_first): Use it.
5879
5880 2009-04-27  Simon Josefsson  <simon@josefsson.org>
5881
5882         * top/maint.mk (sc_avoid_if_before_free): Except
5883         useless-if-before-free script.
5884
5885 2009-04-27  Eric Blake  <ebb9@byu.net>
5886
5887         maintainer-makefile: depend on all required helper scripts
5888         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
5889         useless-if-before-free.
5890         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
5891         version, rather than assuming gnulib checkout is available.
5892         Reported by Simen Josefsson.
5893
5894 2009-04-26  Bruno Haible  <bruno@clisp.org>
5895
5896         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
5897         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
5898         "../" or "..".
5899
5900 2009-04-26  Bruno Haible  <bruno@clisp.org>
5901
5902         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
5903         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
5904         AC_LIB_HAVE_LINKFLAGS.
5905
5906 2009-04-26  Bruno Haible  <bruno@clisp.org>
5907
5908         Simplify calling convention of u*_conv_from_encoding.
5909         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
5910         u32_conv_from_encoding): Expect a resultbuf argument and return the
5911         result directly as a pointer.
5912         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
5913         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
5914         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
5915         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
5916         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
5917         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
5918         Update.
5919         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
5920         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
5921         * lib/vasnprintf.c (VASNPRINTF): Update.
5922         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
5923         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
5924         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
5925         * NEWS: Mention the change.
5926
5927 2009-04-26  Bruno Haible  <bruno@clisp.org>
5928
5929         Simplify calling convention of u*_conv_to_encoding.
5930         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
5931         u32_conv_to_encoding): Expect a resultbuf argument and return the
5932         result directly as a pointer.
5933         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
5934         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
5935         freeing scaled_offsets if mem_iconveha failed.
5936         * lib/unicase/u-casexfrm.h (FUNC): Update.
5937         * lib/uninorm/u-normxfrm.h (FUNC): Update.
5938         * lib/vasnprintf.c (VASNPRINTF): Update.
5939         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
5940         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
5941         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
5942         * NEWS: Mention the change.
5943
5944 2009-04-26  Bruno Haible  <bruno@clisp.org>
5945
5946         Avoid test failures on AIX and OSF/1.
5947         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
5948         malloc(0).
5949         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
5950         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
5951         Likewise.
5952         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
5953         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
5954         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
5955         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
5956         * doc/posix-functions/malloc.texi: Document the portability problem
5957         related to malloc(0).
5958
5959 2009-04-26  Bruno Haible  <bruno@clisp.org>
5960
5961         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
5962         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
5963         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
5964
5965 2009-04-25  Bruno Haible  <bruno@clisp.org>
5966
5967         Avoid link error when creating a namespace clean library.
5968         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
5969         as macro with arguments if already defined as an alias.
5970         * lib/signbitf.c (gl_signbitf): Don't undefine.
5971         * lib/signbitd.c (gl_signbitd): Don't undefine.
5972         * lib/signbitl.c (gl_signbitl): Don't undefine.
5973
5974 2009-04-25  Jim Meyering  <meyering@redhat.com>
5975
5976         vc-list-files: fix another quoting bug
5977         * build-aux/vc-list-files: Avoid sed backslash expansion
5978         of pathological directory names.
5979
5980 2009-04-25  Eric Blake  <ebb9@byu.net>
5981
5982         vc-list-files: fix shell quoting error
5983         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
5984         timestamp.
5985
5986 2009-04-25  Jim Meyering  <meyering@redhat.com>
5987
5988         vc-list-files: restore lost functionality with subdir argument
5989         * build-aux/vc-list-files: When given a non-"." sub-directory
5990         argument, substitute the $dir/ prefix back onto each resulting name.
5991         Otherwise, coreutils' root_tests check would fail.
5992
5993 2009-04-24  Eric Blake  <ebb9@byu.net>
5994
5995         vc-list-files: ignore git symlinks
5996         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
5997         than ls-files, to ignore git symlinks.
5998
5999         maint.mk: import improvements from m4
6000         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
6001         (move_if_change): Delete unused macro.
6002         (news-date-check, vc-diff-check): Support VPATH builds.
6003         (announcement): Likewise.  Split --bootstrap-tools list...
6004         (boostrap-tools): ...into separate list, which can be overridden
6005         in cfg.mk.
6006         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
6007         requiring dependency on useless-if-before-free module.
6008         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
6009         Support VPATH builds.
6010
6011 2009-04-24  Jim Meyering  <meyering@redhat.com>
6012
6013         maint.mk: remove coreutils-specific rules and variables
6014         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
6015         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
6016         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
6017
6018         maint.mk: remove obsolete rule
6019         * top/maint.mk (rel-check): Remove rule.
6020         (WGET, WGETFLAGS): Remove now-unused variables.
6021
6022 2009-04-24  Simon Josefsson  <simon@josefsson.org>
6023
6024         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
6025         consistency.
6026
6027         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
6028         '$(PATH_SEPARATOR)' instead of ':'.
6029
6030 2009-04-24  Simon Josefsson  <simon@josefsson.org>
6031
6032         * lib/getopt1.c (main): Use 'const' for static array.
6033
6034 2009-04-24  Simon Josefsson  <simon@josefsson.org>
6035
6036         * top/maint.mk: Sync with coreutils.
6037         * NEWS: Explain incompatibilities.
6038
6039 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
6040             Bruno Haible  <bruno@clisp.org>
6041
6042         Fix cross-compilation results.
6043         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
6044         statement, as third argument of AC_TRY_RUN.
6045         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
6046         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
6047         Likewise.
6048         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
6049         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
6050         Likewise.
6051         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6052         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
6053         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
6054
6055 2009-04-20  Bruno Haible  <bruno@clisp.org>
6056
6057         Avoid test failure on mingw.
6058         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
6059
6060 2009-04-20  Bruno Haible  <bruno@clisp.org>
6061
6062         Avoid compilation error on mingw.
6063         * modules/localename-tests (Depends-on): Add locale.
6064
6065 2009-04-19  Bruno Haible  <bruno@clisp.org>
6066
6067         Support for building a shared library on Windows platforms.
6068         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
6069         (main): Test the presence of UNINORM_NFC here.
6070         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
6071         (main): Test the presence of UNINORM_NFD here.
6072         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
6073         (main): Test the presence of UNINORM_NFKC here.
6074         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
6075         (main): Test the presence of UNINORM_NFKD here.
6076
6077 2009-04-19  Bruno Haible  <bruno@clisp.org>
6078
6079         Avoid a compiler warning.
6080         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
6081         Change type of variable 'sequence'.
6082
6083 2009-04-19  Bruno Haible  <bruno@clisp.org>
6084
6085         * modules/configmake (Makefile.am): When the contents of configmake.h
6086         does not change, arrange to preserve its modification time.
6087
6088 2009-04-17  Simon Josefsson  <simon@josefsson.org>
6089
6090         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
6091         gettext domain.
6092
6093 2009-04-16  Jim Meyering  <meyering@redhat.com>
6094
6095         useless-if-before-free: improve conversion code
6096         * build-aux/useless-if-before-free: Adjust code-in-comment to match
6097         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
6098
6099 2009-04-14  Bruno Haible  <bruno@clisp.org>
6100
6101         * modules/fcntl (Depends-on): Add extensions.
6102         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
6103
6104 2009-04-12  Ben Pfaff  <blp@gnu.org>
6105
6106         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
6107         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
6108
6109 2009-03-20  Ben Pfaff  <blp@gnu.org>
6110
6111         Make rename replace existing destinations on Windows.
6112         * m4/rename.m4: Add test for Mingw.
6113         * lib/rename.c: Add rename replacement that uses MoveFileEx with
6114         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
6115         * doc/posix-functions/rename.texi: Document.
6116
6117 2009-04-10  Bruno Haible  <bruno@clisp.org>
6118
6119         New include file "iconveh.h".
6120         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
6121         * lib/striconveh.h: Include it.
6122         (enum iconv_ilseq_handler): Remove definition.
6123         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
6124         striconveh.h.
6125         * lib/striconveha.c: Include striconveh.h.
6126         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
6127         * modules/striconveh (Files): Add lib/iconveh.h.
6128         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
6129         lib/striconveh.h.
6130
6131 2009-04-10  Bruno Haible  <bruno@clisp.org>
6132
6133         * lib/uniconv.h: Update comment.
6134
6135 2009-04-10  Bruno Haible  <bruno@clisp.org>
6136
6137         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
6138         always.
6139         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
6140         * lib/unistr/u16-mbtouc-aux.c: Likewise.
6141         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
6142         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
6143         "unistring-notinline.h", so that the function gets defined always.
6144         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
6145         * lib/unistr/u8-uctomb.c: Likewise.
6146         * lib/unistr/u16-mbtouc.c: Likewise.
6147         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
6148         * lib/unistr/u16-uctomb.c: Likewise.
6149         * lib/unistr/u32-mbtouc.c: Likewise.
6150         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
6151         * lib/unistr/u32-uctomb.c: Likewise.
6152
6153 2009-04-10  Bruno Haible  <bruno@clisp.org>
6154
6155         Mark 'utime' obsolete.
6156         * modules/utime (Status, Notice): New sections.
6157         Suggested by Jim Meyering.
6158
6159         Fix cross-compile guess for utime test.
6160         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
6161         autoconf.
6162         * doc/posix-functions/utime.texi: Give more precisions.
6163         Reported by Jan <ipif@ymail.com>.
6164
6165 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
6166
6167         filevercmp: correct today's change
6168         * lib/filevercmp.c: Also handle coreutils' test inputs.
6169         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
6170
6171         Fix regression in 'filevercmp' module. Thanks Sven Joachim
6172         for reporting it.
6173         * lib/filevercmp.c: Special handle for "", "." and "..".
6174         * tests/test-filevercmp.c: Enlarge the set suite.
6175
6176 2009-04-07  Jim Meyering  <meyering@redhat.com>
6177
6178         useless-if-before-free: show how to remove braced useless free, too
6179         * build-aux/useless-if-before-free: still only in a comment, though.
6180
6181 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
6182
6183         maint.mk: import changes to syntax-check macros from coreutils
6184         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
6185         Use them in the relevant macros.
6186
6187 2009-04-06  Bruno Haible  <bruno@clisp.org>
6188
6189         Fix unportable use of bit-fields.
6190         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
6191         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
6192         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
6193
6194 2009-04-06  Bruno Haible  <bruno@clisp.org>
6195
6196         Avoid test failures on AIX and OSF/1.
6197         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
6198         that malloc(0) = NULL.
6199         * tests/unicase/test-u8-tolower.c (check): Likewise.
6200         * tests/unicase/test-u8-totitle.c (check): Likewise.
6201         * tests/unicase/test-u8-toupper.c (check): Likewise.
6202         * tests/unicase/test-u16-casefold.c (check): Likewise.
6203         * tests/unicase/test-u16-tolower.c (check): Likewise.
6204         * tests/unicase/test-u16-totitle.c (check): Likewise.
6205         * tests/unicase/test-u16-toupper.c (check): Likewise.
6206         * tests/unicase/test-u32-casefold.c (check): Likewise.
6207         * tests/unicase/test-u32-tolower.c (check): Likewise.
6208         * tests/unicase/test-u32-totitle.c (check): Likewise.
6209         * tests/unicase/test-u32-toupper.c (check): Likewise.
6210         * tests/uninorm/test-u8-nfc.c (check): Likewise.
6211         * tests/uninorm/test-u8-nfd.c (check): Likewise.
6212         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
6213         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
6214         * tests/uninorm/test-u16-nfc.c (check): Likewise.
6215         * tests/uninorm/test-u16-nfd.c (check): Likewise.
6216         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
6217         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
6218         * tests/uninorm/test-u32-nfc.c (check): Likewise.
6219         * tests/uninorm/test-u32-nfd.c (check): Likewise.
6220         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
6221         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
6222
6223 2009-04-05  Bruno Haible  <bruno@clisp.org>
6224
6225         Work around an autoconf limitation.
6226         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
6227         comment line if it would be longer than 3 KB.
6228
6229 2009-04-05  Bruno Haible  <bruno@clisp.org>
6230
6231         Avoid test failure with libiconv-1.13.
6232         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
6233         of the expected test results.
6234
6235 2009-04-05  Bruno Haible  <bruno@clisp.org>
6236
6237         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
6238         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
6239         that it should be installed.
6240
6241 2009-04-05  Bruno Haible  <bruno@clisp.org>
6242
6243         * gnulib-tool: New option --copy-file.
6244         (func_usage): Document it.
6245         (func_dest_tmpfilename): Moved out of func_import.
6246         (func_add_file, func_update_file): New functions, extracted from
6247         func_import.
6248         (func_import): Update.
6249
6250 2009-04-05  Karl Berry  <karl@gnu.org>
6251
6252         * README: prominently mention gnulib-tool.
6253         Rearrange sections so getting the code is near the top.
6254
6255 2009-04-05  Bruno Haible  <bruno@clisp.org>
6256
6257         * lib/unicase.h: Mention u*_cmp2.
6258         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
6259         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
6260         * lib/unicase/ulc-casecmp.c: Likewise.
6261         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
6262         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
6263         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
6264         unistr/u8-cmp.
6265         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
6266         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
6267         unistr/u16-cmp.
6268         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
6269         unistr/u32-cmp.
6270
6271         * lib/uninorm.h: Mention u*_cmp2.
6272         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
6273         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
6274         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
6275         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
6276         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
6277         unistr/u8-cmp.
6278         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
6279         unistr/u16-cmp.
6280         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
6281         unistr/u32-cmp.
6282
6283         New module 'unistr/u32-cmp2'.
6284         * lib/unistr/u32-cmp2.c: New file.
6285         * modules/unistr/u32-cmp2: New file.
6286
6287         New module 'unistr/u16-cmp2'.
6288         * lib/unistr/u16-cmp2.c: New file.
6289         * modules/unistr/u16-cmp2: New file.
6290
6291         New module 'unistr/u8-cmp2'.
6292         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
6293         * lib/unistr/u8-cmp2.c: New file.
6294         * lib/unistr/u-cmp2.h: New file.
6295         * modules/unistr/u8-cmp2: New file.
6296
6297 2009-04-05  Bruno Haible  <bruno@clisp.org>
6298
6299         * lib/unictype.h (uc_property_is_valid): New macro.
6300         * tests/unictype/test-pr_byname.c (main): Use it.
6301
6302         * lib/unistr.h: Doc fixes.
6303         * lib/uniconv.h: Doc fixes.
6304         * lib/unictype.h: Doc fixes.
6305
6306 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
6307
6308         Port coreutils 7.2 to Solaris 8.
6309
6310         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
6311         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
6312         for Solaris 8.  This is a bit of a hack, as it means it's the
6313         caller's responsibility to add -lnsl if needed, but most likely it
6314         won't be needed since only getaddrinfo uses this and getaddrinfo
6315         isn't needed on Solaris 8.
6316
6317         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
6318         problem to Solaris 8 encountered with coreutils 7.2, which
6319         resulted in a message "fnmatch.c:292: warning: passing argument 4
6320         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
6321         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
6322
6323 2009-04-03  Simon Josefsson  <simon@josefsson.org>
6324
6325         * m4/ld-version-script.m4: Add FIXME comment.
6326
6327 2009-04-02  Simon Josefsson  <simon@josefsson.org>
6328
6329         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
6330         SOVERSION variable.
6331
6332 2009-04-02  Bruno Haible  <bruno@clisp.org>
6333
6334         * Makefile (info, html, dvi, pdf): Combine the rules.
6335         Suggested by Jim Meyering.
6336
6337 2009-04-01  Bruno Haible  <bruno@clisp.org>
6338
6339         * Makefile (info, html, dvi, pdf): New targets.
6340         Reported by Reuben Thomas <rrt@sc3d.org>.
6341
6342 2009-04-01  Bruno Haible  <bruno@clisp.org>
6343
6344         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
6345         can be put into PATH.
6346         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
6347
6348 2009-04-01  Bruno Haible  <bruno@clisp.org>
6349
6350         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
6351
6352 2009-04-01  Bruno Haible  <bruno@clisp.org>
6353
6354         Rename module 'visibility'.
6355         * modules/lib-symbol-visibility: Renamed from modules/visibility.
6356         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
6357         * doc/gnulib.texi: Update.
6358         * MODULES.html.sh (Misc): Update.
6359         * NEWS: Mention the change.
6360
6361 2009-04-01  Simon Josefsson  <simon@josefsson.org>
6362
6363         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
6364         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
6365         Eric Blake <ebb9@byu.net> for review.
6366         * MODULES.html.sh: Add lib-msvc-compat.
6367         * doc/gnulib.texi: Link to new section.
6368         * m4/ld-output-def.m4: New file.
6369         * doc/ld-output-def.texi: New file.
6370
6371 2009-04-01  Simon Josefsson  <simon@josefsson.org>
6372
6373         Rename ld-version-script to lib-symbol-versions.  Suggested by
6374         Bruno Haible <bruno@clisp.org>.
6375         * modules/ld-version-script: Renamed to lib-symbol-versions.
6376         * doc/ld-version-script.texi: Fix module name.
6377         * MODULES.html.sh: Add lib-symbol-versions.
6378
6379 2009-03-31  Simon Josefsson  <simon@josefsson.org>
6380
6381         * modules/u64-tests: New file.
6382         * tests/test-u64.c: New file.
6383
6384 2009-03-04  Simon Josefsson  <simon@josefsson.org>
6385
6386         * MODULES.html.sh: Mention u64.
6387         * modules/u64: New module.
6388         * modules/crypto/sha512: Depend on u64 module instead of providing
6389         u64.h.
6390
6391 2009-03-27  Eric Blake  <ebb9@byu.net>
6392
6393         test-strerror: make debugging EAI_SYSTEM easier
6394         * modules/getaddrinfo-tests (Depends-on): Add strerror.
6395         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
6396         failure was EAI_SYSTEM.
6397
6398 2009-03-25  Bruno Haible  <bruno@clisp.org>
6399
6400         Fix a problem with --enable-relocatable on Solaris 7.
6401         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
6402         since 2008-02-24.
6403
6404 2009-03-25  Eric Blake  <ebb9@byu.net>
6405
6406         test-sockets: avoid gcc warning
6407         * tests/test-sockets.c (main): Silence compiler warning.
6408
6409 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
6410
6411         New modules nproc, pthread, contributed by Glen Lenker.
6412
6413         * MODULES.html.sh: Add pthread, nproc.
6414         * lib/nproc.c: New file.
6415         * lib/nproc.h: New file.
6416         * lib/pthread.in.h: New file.
6417         * m4/pthread.m4: New file.
6418         * modules/nproc: New file.
6419         * modules/pthread: New file.
6420
6421 2009-03-24  Simon Josefsson  <simon@josefsson.org>
6422
6423         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
6424         New variable.
6425
6426 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
6427
6428         filevercmp: handle simple~ and numbered.~3~ backup suffixes
6429         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
6430         * tests/test-filevercmp.c: Add tests for backup suffixes.
6431
6432 2009-03-24  Simon Josefsson  <simon@josefsson.org>
6433
6434         * modules/stdlib (Depends-on): Add stdint, needed when defining
6435         struct random_data on, for example, HP-UX 10.20.  Reported by
6436         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
6437
6438 2009-03-24  Simon Josefsson  <simon@josefsson.org>
6439
6440         * lib/readline.c (readline): Call fflush on stdout after printing
6441         prompt.
6442
6443 2009-03-20  Bruno Haible  <bruno@clisp.org>
6444
6445         Remove dependency from 'close' module to -lws2_32 on native Windows.
6446         * lib/close-hook.h: New file.
6447         * lib/close-hook.c: New file.
6448         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
6449         w32sock.h.
6450         (_gl_close_fd_maybe_socket): Remove function.
6451         (rpl_close): Invoke execute_all_close_hooks instead of
6452         _gl_close_fd_maybe_socket.
6453         * lib/sockets.c: Include close-hook.h, w32sock.h.
6454         (close_fd_maybe_socket): New function, essentially from lib/close.c.
6455         (close_sockets_hook): New variable.
6456         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
6457         (gl_sockets_cleanup): Unregister it.
6458         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
6459         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
6460         * modules/close-hook: New file.
6461         * modules/close (Files): Remove lib/w32sock.h.
6462         (Depends-on): Add close-hook.
6463         (Link): Remove section.
6464         * modules/sockets (Files): Add lib/w32sock.h.
6465         (Depends-on): Add close-hook.
6466         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
6467         invocation.
6468         * NEWS: Mention that LIB_CLOSE is gone.
6469
6470 2009-03-23  Eric Blake  <ebb9@byu.net>
6471
6472         signal-tests: test previous patch
6473         * tests/test-signal.c: New file.
6474         * modules/signal-tests: Likewise.
6475
6476         signal.h: always support 'volatile sig_atomic_t'
6477         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
6478         (gl_SIGNAL_H_DEFAULTS): Add a default.
6479         * modules/signal (Makefile.am): Substitute if needed.
6480         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
6481         users can blindly add volatile.
6482         * doc/posix-headers/signal.texi (signal.h): Document it.
6483         Reported by Matthew Woehlke.
6484
6485 2009-03-23  Jim Meyering  <meyering@redhat.com>
6486
6487         pathmax: PATH_MAX: use pathconf only when available
6488         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
6489         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
6490         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
6491         This avoids a link failure in a PSP cross-compilation environment
6492         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
6493
6494         * lib/vasnprintf.c (divide): Fix typo in comment.
6495
6496 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6497
6498         * gnulib-tool (func_filter_filelist): Fix comment.
6499
6500 2009-03-20  Bruno Haible  <bruno@clisp.org>
6501
6502         Make sockets.h self-contained.
6503         * lib/sockets.c: Include sockets.h first.
6504         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
6505
6506 2009-03-19  Eric Blake  <ebb9@byu.net>
6507
6508         doc: mention more functions added in cygwin 1.7.0
6509         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
6510         addition.
6511         * doc/posix-functions/log2f.texi: Likewise.
6512
6513 2009-03-19  Jim Meyering  <meyering@redhat.com>
6514
6515         fsusage: avoid syntax error due to statement-before-declaration
6516         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
6517         after all declarations.  Reported by Matthew Woehlke in
6518         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
6519
6520 2009-03-18  Eric Blake  <ebb9@byu.net>
6521
6522         build-aux/compile: sync from automake
6523         * build-aux/compile: New file, from automake.
6524         * config/srclist.txt: Mention build-aux/compile.
6525
6526 2009-03-17  Bruno Haible  <bruno@clisp.org>
6527
6528         * lib/git-merge-changelog.c: Fix typo in comment.
6529         Reported by Reuben Thomas <rrt@sc3d.org>.
6530
6531 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
6532
6533         * m4/regex.m4: update and improve help for
6534         --without-included-regex.
6535
6536 2009-03-17  Simon Josefsson  <simon@josefsson.org>
6537
6538         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
6539         failure on missing include files.
6540
6541 2009-03-17  Eric Blake  <ebb9@byu.net>
6542
6543         doc: mention more functions added in cygwin 1.7.0
6544         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
6545         addition.
6546         * doc/posix-functions/fwscanf.texi: Likewise.
6547         * doc/posix-functions/swprintf.texi: Likewise.
6548         * doc/posix-functions/swscanf.texi: Likewise.
6549         * doc/posix-functions/vfwprintf.texi: Likewise.
6550         * doc/posix-functions/vfwscanf.texi: Likewise.
6551         * doc/posix-functions/vswprintf.texi: Likewise.
6552         * doc/posix-functions/vswscanf.texi: Likewise.
6553         * doc/posix-functions/vwprintf.texi: Likewise.
6554         * doc/posix-functions/vwscanf.texi: Likewise.
6555         * doc/posix-functions/wcscasecmp.texi: Likewise.
6556         * doc/posix-functions/wcsdup.texi: Likewise.
6557         * doc/posix-functions/wcsftime.texi: Likewise.
6558         * doc/posix-functions/wcsncasecmp.texi: Likewise.
6559         * doc/posix-functions/wprintf.texi: Likewise.
6560         * doc/posix-functions/wscanf.texi: Likewise.
6561         * doc/glibc-functions/gethostbyname2.texi: Likewise.
6562
6563 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6564
6565         maint.mk: really add $(AM_MAKEFLAGS)
6566         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
6567         was inadvertently omitted in the last commit.
6568         Spotted by Bruno Haible.
6569
6570         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
6571         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
6572         $(AM_MAKEFLAGS)' rather than plain `make'.
6573
6574         gnulib-tool: execute $MAKE not make
6575         * gnulib-tool: Default $MAKE to 'make'.
6576         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
6577         than make.  Initialize $MAKE in the do-autobuild script.
6578
6579         gnulib-tool: use $MAKE not make in generated files
6580         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
6581         make, in generated files.  Initialize $MAKE in the do-autobuild
6582         script.
6583
6584         * top/GNUmakefile (_have-git-version-gen): Fix typo.
6585
6586         GNUmakefile: disable parallelism only for multiple, recursive targets
6587         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
6588         additions in the Makefile.
6589         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
6590         by Automake.
6591         (.NOTPARALLEL): Only disable parallel builds if multiple targets
6592         are listed on the command line and at least one of them is
6593         listed in $(ALL_RECURSIVE_TARGETS).
6594
6595 2009-03-14  Bruno Haible  <bruno@clisp.org>
6596
6597         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
6598         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
6599         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
6600         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
6601         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
6602         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
6603         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
6604         unistr/u8-uctomb.
6605         * modules/unistr/u8-strchr (Depends-on): Likewise.
6606         * modules/unistr/u8-strrchr (Depends-on): Likewise.
6607         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
6608         unistr/u16-uctomb.
6609         * modules/unistr/u16-strchr (Depends-on): Likewise.
6610         * modules/unistr/u16-strrchr (Depends-on): Likewise.
6611
6612 2009-03-12  Bruno Haible  <bruno@clisp.org>
6613
6614         Work around select() bug on Interix 3.5.
6615         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
6616         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
6617         * m4/select.m4: New file.
6618         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
6619         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
6620         * modules/select (Files): Add m4/select.m4.
6621         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
6622         * modules/nanosleep (Depends-on): Add select.
6623         * modules/poll (Depends-on): Likewise.
6624         * doc/posix-functions/select.texi: Mention the Interix bug.
6625         Reported by Markus Duft <mduft@gentoo.org>.
6626
6627         * lib/select.c: Renamed from lib/winsock-select.c.
6628         * modules/select (Files): Add lib/select.c, remove
6629         lib/winsock-select.c.
6630         (configure.ac): Update.
6631
6632 2009-03-12  Jim Meyering  <meyering@redhat.com>
6633
6634         avoid gcc warnings about unused macro definitions
6635         * lib/readtokens.c (STREQ): Remove unused definition.
6636         * lib/xmalloc.c (SIZE_MAX): Likewise.
6637         * lib/openat-die.c (N_): Likewise.
6638         * lib/mountlist.c (SIZE_MAX): Remove definition.
6639         Instead, include <stdint.h>.
6640         * lib/readutmp.c: Likewise.
6641         * modules/readutmp (Depends-on): Add stdint.
6642         * modules/mountlist (Depends-on): Add stdint.
6643         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
6644
6645 2009-03-10  Bruno Haible  <bruno@clisp.org>
6646
6647         Tests for module 'mbmemcasecoll'.
6648         * modules/mbmemcasecoll-tests: New file.
6649         * tests/test-mbmemcasecoll1.sh: New file.
6650         * tests/test-mbmemcasecoll2.sh: New file.
6651         * tests/test-mbmemcasecoll3.sh: New file.
6652         * tests/test-mbmemcasecoll.c: New file.
6653
6654         New module 'mbmemcasecoll'.
6655         * lib/mbmemcasecoll.h: New file.
6656         * lib/mbmemcasecoll.c: New file.
6657         * modules/mbmemcasecoll: New file.
6658
6659         * tests/test-mbmemcasecmp.h: New file, extracted from
6660         tests/test-mbmemcasecmp.c.
6661         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
6662         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
6663         (main): Update.
6664         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
6665
6666 2009-03-09  Bruno Haible  <bruno@clisp.org>
6667
6668         Tests for module 'mbmemcasecmp'.
6669         * modules/mbmemcasecmp-tests: New file.
6670         * tests/test-mbmemcasecmp1.sh: New file.
6671         * tests/test-mbmemcasecmp2.sh: New file.
6672         * tests/test-mbmemcasecmp3.sh: New file.
6673         * tests/test-mbmemcasecmp.c: New file.
6674
6675         New module 'mbmemcasecmp'.
6676         * lib/mbmemcasecmp.h: New file.
6677         * lib/mbmemcasecmp.c: New file.
6678         * modules/mbmemcasecmp: New file.
6679
6680 2009-03-09  Bruno Haible  <bruno@clisp.org>
6681
6682         Tests for module 'unicase/ulc-casecoll'.
6683         * modules/unicase/ulc-casecoll-tests: New file.
6684         * tests/unicase/test-ulc-casecoll1.sh: New file.
6685         * tests/unicase/test-ulc-casecoll2.sh: New file.
6686         * tests/unicase/test-ulc-casecoll.c: New file.
6687
6688         New module 'unicase/ulc-casecoll'.
6689         * lib/unicase.h (ulc_casecoll): New declaration.
6690         * lib/unicase/ulc-casecoll.c: New file.
6691         * modules/unicase/ulc-casecoll: New file.
6692
6693         New module 'unicase/ulc-casexfrm'.
6694         * lib/unicase.h (ulc_casexfrm): New declaration.
6695         * lib/unicase/ulc-casexfrm.c: New file.
6696         * modules/unicase/ulc-casexfrm: New file.
6697
6698 2009-03-09  Bruno Haible  <bruno@clisp.org>
6699
6700         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
6701         invocations.
6702
6703         * m4/mbscasecmp.m4: Remove file.
6704         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
6705         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
6706
6707         * m4/mbscasestr.m4: Remove file.
6708         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
6709         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
6710
6711         * m4/mbschr.m4: Remove file.
6712         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
6713         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
6714
6715         * m4/mbscspn.m4: Remove file.
6716         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
6717         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
6718
6719         * m4/mbslen.m4: Remove file.
6720         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
6721         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
6722
6723         * m4/mbsncasecmp.m4: Remove file.
6724         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
6725         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
6726
6727         * m4/mbsnlen.m4: Remove file.
6728         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
6729         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
6730
6731         * m4/mbspbrk.m4: Remove file.
6732         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
6733         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
6734
6735         * m4/mbspcasecmp.m4: Remove file.
6736         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
6737         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
6738
6739         * m4/mbsrchr.m4: Remove file.
6740         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
6741         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
6742
6743         * m4/mbssep.m4: Remove file.
6744         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
6745         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
6746
6747         * m4/mbsspn.m4: Remove file.
6748         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
6749         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
6750
6751         * m4/mbsstr.m4: Remove file.
6752         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
6753         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
6754
6755         * m4/mbstok_r.m4: Remove file.
6756         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
6757         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
6758
6759         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
6760
6761         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
6762         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
6763
6764         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
6765
6766 2009-03-08  Bruno Haible  <bruno@clisp.org>
6767
6768         Tests for module 'unicase/ulc-casecmp'.
6769         * modules/unicase/ulc-casecmp-tests: New file.
6770         * tests/unicase/test-ulc-casecmp1.sh: New file.
6771         * tests/unicase/test-ulc-casecmp2.sh: New file.
6772         * tests/unicase/test-ulc-casecmp.c: New file.
6773
6774         New module 'unicase/ulc-casecmp'.
6775         * lib/unicase.h (ulc_casecmp): New declaration.
6776         * lib/unicase/ulc-casecmp.c: New file.
6777         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
6778         'const SRC_UNIT *'.
6779         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
6780         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
6781         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
6782         * modules/unicase/ulc-casecmp: New file.
6783
6784         Tests for module 'unicase/u32-is-cased'.
6785         * modules/unicase/u32-is-cased-tests: New file.
6786         * tests/unicase/test-u32-is-cased.c: New file.
6787
6788         Tests for module 'unicase/u16-is-cased'.
6789         * modules/unicase/u16-is-cased-tests: New file.
6790         * tests/unicase/test-u16-is-cased.c: New file.
6791
6792         Tests for module 'unicase/u8-is-cased'.
6793         * modules/unicase/u8-is-cased-tests: New file.
6794         * tests/unicase/test-u8-is-cased.c: New file.
6795         * tests/unicase/test-is-cased.h: New file.
6796
6797         New module 'unicase/u32-is-cased'.
6798         * lib/unicase/u32-is-cased.c: New file.
6799         * modules/unicase/u32-is-cased: New file.
6800
6801         New module 'unicase/u16-is-cased'.
6802         * lib/unicase/u16-is-cased.c: New file.
6803         * modules/unicase/u16-is-cased: New file.
6804
6805         New module 'unicase/u8-is-cased'.
6806         * lib/unicase/u8-is-cased.c: New file.
6807         * lib/unicase/u-is-cased.h: New file.
6808         * modules/unicase/u8-is-cased: New file.
6809
6810         Tests for module 'unicase/u32-is-casefolded'.
6811         * modules/unicase/u32-is-casefolded-tests: New file.
6812         * tests/unicase/test-u32-is-casefolded.c: New file.
6813
6814         Tests for module 'unicase/u16-is-casefolded'.
6815         * modules/unicase/u16-is-casefolded-tests: New file.
6816         * tests/unicase/test-u16-is-casefolded.c: New file.
6817
6818         Tests for module 'unicase/u8-is-casefolded'.
6819         * modules/unicase/u8-is-casefolded-tests: New file.
6820         * tests/unicase/test-u8-is-casefolded.c: New file.
6821         * tests/unicase/test-is-casefolded.h: New file.
6822
6823         New module 'unicase/u32-is-casefolded'.
6824         * lib/unicase/u32-is-casefolded.c: New file.
6825         * modules/unicase/u32-is-casefolded: New file.
6826
6827         New module 'unicase/u16-is-casefolded'.
6828         * lib/unicase/u16-is-casefolded.c: New file.
6829         * modules/unicase/u16-is-casefolded: New file.
6830
6831         New module 'unicase/u8-is-casefolded'.
6832         * lib/unicase/u8-is-casefolded.c: New file.
6833         * modules/unicase/u8-is-casefolded: New file.
6834
6835         Tests for module 'unicase/u32-is-titlecase'.
6836         * modules/unicase/u32-is-titlecase-tests: New file.
6837         * tests/unicase/test-u32-is-titlecase.c: New file.
6838
6839         Tests for module 'unicase/u16-is-titlecase'.
6840         * modules/unicase/u16-is-titlecase-tests: New file.
6841         * tests/unicase/test-u16-is-titlecase.c: New file.
6842
6843         Tests for module 'unicase/u8-is-titlecase'.
6844         * modules/unicase/u8-is-titlecase-tests: New file.
6845         * tests/unicase/test-u8-is-titlecase.c: New file.
6846         * tests/unicase/test-is-titlecase.h: New file.
6847
6848         New module 'unicase/u32-is-titlecase'.
6849         * lib/unicase/u32-is-titlecase.c: New file.
6850         * modules/unicase/u32-is-titlecase: New file.
6851
6852         New module 'unicase/u16-is-titlecase'.
6853         * lib/unicase/u16-is-titlecase.c: New file.
6854         * modules/unicase/u16-is-titlecase: New file.
6855
6856         New module 'unicase/u8-is-titlecase'.
6857         * lib/unicase/u8-is-titlecase.c: New file.
6858         * modules/unicase/u8-is-titlecase: New file.
6859
6860         Tests for module 'unicase/u32-is-lowercase'.
6861         * modules/unicase/u32-is-lowercase-tests: New file.
6862         * tests/unicase/test-u32-is-lowercase.c: New file.
6863
6864         Tests for module 'unicase/u16-is-lowercase'.
6865         * modules/unicase/u16-is-lowercase-tests: New file.
6866         * tests/unicase/test-u16-is-lowercase.c: New file.
6867
6868         Tests for module 'unicase/u8-is-lowercase'.
6869         * modules/unicase/u8-is-lowercase-tests: New file.
6870         * tests/unicase/test-u8-is-lowercase.c: New file.
6871         * tests/unicase/test-is-lowercase.h: New file.
6872
6873         New module 'unicase/u32-is-lowercase'.
6874         * lib/unicase/u32-is-lowercase.c: New file.
6875         * modules/unicase/u32-is-lowercase: New file.
6876
6877         New module 'unicase/u16-is-lowercase'.
6878         * lib/unicase/u16-is-lowercase.c: New file.
6879         * modules/unicase/u16-is-lowercase: New file.
6880
6881         New module 'unicase/u8-is-lowercase'.
6882         * lib/unicase/u8-is-lowercase.c: New file.
6883         * modules/unicase/u8-is-lowercase: New file.
6884
6885         Tests for module 'unicase/u32-is-uppercase'.
6886         * modules/unicase/u32-is-uppercase-tests: New file.
6887         * tests/unicase/test-u32-is-uppercase.c: New file.
6888
6889         Tests for module 'unicase/u16-is-uppercase'.
6890         * modules/unicase/u16-is-uppercase-tests: New file.
6891         * tests/unicase/test-u16-is-uppercase.c: New file.
6892
6893         Tests for module 'unicase/u8-is-uppercase'.
6894         * modules/unicase/u8-is-uppercase-tests: New file.
6895         * tests/unicase/test-u8-is-uppercase.c: New file.
6896         * tests/unicase/test-is-uppercase.h: New file.
6897
6898         New module 'unicase/u32-is-uppercase'.
6899         * lib/unicase/u32-is-uppercase.c: New file.
6900         * modules/unicase/u32-is-uppercase: New file.
6901
6902         New module 'unicase/u16-is-uppercase'.
6903         * lib/unicase/u16-is-uppercase.c: New file.
6904         * modules/unicase/u16-is-uppercase: New file.
6905
6906         New module 'unicase/u8-is-uppercase'.
6907         * lib/unicase/u8-is-uppercase.c: New file.
6908         * modules/unicase/u8-is-uppercase: New file.
6909
6910         New module 'unicase/u32-is-invariant'.
6911         * lib/unicase/u32-is-invariant.c: New file.
6912         * modules/unicase/u32-is-invariant: New file.
6913
6914         New module 'unicase/u16-is-invariant'.
6915         * lib/unicase/u16-is-invariant.c: New file.
6916         * modules/unicase/u16-is-invariant: New file.
6917
6918         New module 'unicase/u8-is-invariant'.
6919         * lib/unicase/u8-is-invariant.c: New file.
6920         * lib/unicase/invariant.h: New file.
6921         * lib/unicase/u-is-invariant.h: New file.
6922         * modules/unicase/u8-is-invariant: New file.
6923
6924         Tests for module 'unicase/u32-casecoll'.
6925         * modules/unicase/u32-casecoll-tests: New file.
6926         * tests/unicase/test-u32-casecoll.c: New file.
6927
6928         Tests for module 'unicase/u16-casecoll'.
6929         * modules/unicase/u16-casecoll-tests: New file.
6930         * tests/unicase/test-u16-casecoll.c: New file.
6931
6932         Tests for module 'unicase/u8-casecoll'.
6933         * modules/unicase/u8-casecoll-tests: New file.
6934         * tests/unicase/test-u8-casecoll.c: New file.
6935
6936         New module 'unicase/u32-casecoll'.
6937         * lib/unicase/u32-casecoll.c: New file.
6938         * modules/unicase/u32-casecoll: New file.
6939
6940         New module 'unicase/u16-casecoll'.
6941         * lib/unicase/u16-casecoll.c: New file.
6942         * modules/unicase/u16-casecoll: New file.
6943
6944         New module 'unicase/u8-casecoll'.
6945         * lib/unicase/u8-casecoll.c: New file.
6946         * lib/unicase/u-casecoll.h: New file.
6947         * modules/unicase/u8-casecoll: New file.
6948
6949         New module 'unicase/u32-casexfrm'.
6950         * lib/unicase/u32-casexfrm.c: New file.
6951         * modules/unicase/u32-casexfrm: New file.
6952
6953         New module 'unicase/u16-casexfrm'.
6954         * lib/unicase/u16-casexfrm.c: New file.
6955         * modules/unicase/u16-casexfrm: New file.
6956
6957         New module 'unicase/u8-casexfrm'.
6958         * lib/unicase/u8-casexfrm.c: New file.
6959         * lib/unicase/u-casexfrm.h: New file.
6960         * modules/unicase/u8-casexfrm: New file.
6961
6962         Tests for module 'unicase/u32-casecmp'.
6963         * modules/unicase/u32-casecmp-tests: New file.
6964         * tests/unicase/test-u32-casecmp.c: New file.
6965
6966         Tests for module 'unicase/u16-casecmp'.
6967         * modules/unicase/u16-casecmp-tests: New file.
6968         * tests/unicase/test-u16-casecmp.c: New file.
6969
6970         Tests for module 'unicase/u8-casecmp'.
6971         * modules/unicase/u8-casecmp-tests: New file.
6972         * tests/unicase/test-u8-casecmp.c: New file.
6973         * tests/unicase/test-casecmp.h: New file.
6974
6975         New module 'unicase/u32-casecmp'.
6976         * lib/unicase/u32-casecmp.c: New file.
6977         * modules/unicase/u32-casecmp: New file.
6978
6979         New module 'unicase/u16-casecmp'.
6980         * lib/unicase/u16-casecmp.c: New file.
6981         * modules/unicase/u16-casecmp: New file.
6982
6983         New module 'unicase/u8-casecmp'.
6984         * lib/unicase/u8-casecmp.c: New file.
6985         * lib/unicase/u-casecmp.h: New file.
6986         * modules/unicase/u8-casecmp: New file.
6987
6988         Tests for module 'unicase/u32-casefold'.
6989         * modules/unicase/u32-casefold-tests: New file.
6990         * tests/unicase/test-u32-casefold.c: New file.
6991
6992         Tests for module 'unicase/u16-casefold'.
6993         * modules/unicase/u16-casefold-tests: New file.
6994         * tests/unicase/test-u16-casefold.c: New file.
6995
6996         Tests for module 'unicase/u8-casefold'.
6997         * modules/unicase/u8-casefold-tests: New file.
6998         * tests/unicase/test-u8-casefold.c: New file.
6999
7000         New module 'unicase/u32-casefold'.
7001         * lib/unicase/u32-casefold.c: New file.
7002         * modules/unicase/u32-casefold: New file.
7003
7004         New module 'unicase/u16-casefold'.
7005         * lib/unicase/u16-casefold.c: New file.
7006         * modules/unicase/u16-casefold: New file.
7007
7008         New module 'unicase/u8-casefold'.
7009         * lib/unicase/u8-casefold.c: New file.
7010         * lib/unicase/u-casefold.h: New file.
7011         * modules/unicase/u8-casefold: New file.
7012
7013         New module 'unicase/tocasefold'.
7014         * lib/unicase/casefold.h: New file.
7015         * lib/unicase/tocasefold.c: New file.
7016         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
7017         * modules/unicase/tocasefold: New file.
7018
7019         Tests for module 'unicase/u32-totitle'.
7020         * modules/unicase/u32-totitle-tests: New file.
7021         * tests/unicase/test-u32-totitle.c: New file.
7022
7023         Tests for module 'unicase/u16-totitle'.
7024         * modules/unicase/u16-totitle-tests: New file.
7025         * tests/unicase/test-u16-totitle.c: New file.
7026
7027         Tests for module 'unicase/u8-totitle'.
7028         * modules/unicase/u8-totitle-tests: New file.
7029         * tests/unicase/test-u8-totitle.c: New file.
7030
7031         New module 'unicase/u32-totitle'.
7032         * lib/unicase/u32-totitle.c: New file.
7033         * modules/unicase/u32-totitle: New file.
7034
7035         New module 'unicase/u16-totitle'.
7036         * lib/unicase/u16-totitle.c: New file.
7037         * modules/unicase/u16-totitle: New file.
7038
7039         New module 'unicase/u8-totitle'.
7040         * lib/unicase/u8-totitle.c: New file.
7041         * lib/unicase/u-totitle.h: New file.
7042         * modules/unicase/u8-totitle: New file.
7043
7044         Tests for module 'unicase/u32-tolower'.
7045         * modules/unicase/u32-tolower-tests: New file.
7046         * tests/unicase/test-u32-tolower.c: New file.
7047
7048         Tests for module 'unicase/u16-tolower'.
7049         * modules/unicase/u16-tolower-tests: New file.
7050         * tests/unicase/test-u16-tolower.c: New file.
7051
7052         Tests for module 'unicase/u8-tolower'.
7053         * modules/unicase/u8-tolower-tests: New file.
7054         * tests/unicase/test-u8-tolower.c: New file.
7055
7056         New module 'unicase/u32-tolower'.
7057         * lib/unicase/u32-tolower.c: New file.
7058         * modules/unicase/u32-tolower: New file.
7059
7060         New module 'unicase/u16-tolower'.
7061         * lib/unicase/u16-tolower.c: New file.
7062         * modules/unicase/u16-tolower: New file.
7063
7064         New module 'unicase/u8-tolower'.
7065         * lib/unicase/u8-tolower.c: New file.
7066         * modules/unicase/u8-tolower: New file.
7067
7068         Tests for module 'unicase/u32-toupper'.
7069         * modules/unicase/u32-toupper-tests: New file.
7070         * tests/unicase/test-u32-toupper.c: New file.
7071
7072         Tests for module 'unicase/u16-toupper'.
7073         * modules/unicase/u16-toupper-tests: New file.
7074         * tests/unicase/test-u16-toupper.c: New file.
7075
7076         Tests for module 'unicase/u8-toupper'.
7077         * modules/unicase/u8-toupper-tests: New file.
7078         * tests/unicase/test-u8-toupper.c: New file.
7079
7080         New module 'unicase/u32-toupper'.
7081         * lib/unicase/u32-toupper.c: New file.
7082         * modules/unicase/u32-toupper: New file.
7083
7084         New module 'unicase/u16-toupper'.
7085         * lib/unicase/u16-toupper.c: New file.
7086         * modules/unicase/u16-toupper: New file.
7087
7088         New module 'unicase/u8-toupper'.
7089         * lib/unicase/u8-toupper.c: New file.
7090         * modules/unicase/u8-toupper: New file.
7091
7092         New module 'unicase/u32-casemap'.
7093         * lib/unicase/u32-casemap.c: New file.
7094         * modules/unicase/u32-casemap: New file.
7095
7096         New module 'unicase/u16-casemap'.
7097         * lib/unicase/u16-casemap.c: New file.
7098         * modules/unicase/u16-casemap: New file.
7099
7100         New module 'unicase/u8-casemap'.
7101         * lib/unicase/unicasemap.h: New file.
7102         * lib/unicase/u8-casemap.c: New file.
7103         * lib/unicase/u-casemap.h: New file.
7104         * modules/unicase/u8-casemap: New file.
7105
7106         New module 'unicase/special-casing'.
7107         * lib/unicase/special-casing.h: New file.
7108         * lib/unicase/special-casing.c: New file.
7109         * lib/unicase/special-casing-table.gperf: New file, generated by
7110         gen-uni-tables.c.
7111         * modules/unicase/special-casing: New file.
7112
7113         Tests for module 'unicase/locale-language'.
7114         * modules/unicase/locale-language-tests: New file.
7115         * tests/unicase/test-locale-language.sh: New file.
7116         * tests/unicase/test-locale-language.c: New file.
7117
7118         New module 'unicase/locale-language'.
7119         * lib/unicase/locale-language.c: New file.
7120         * lib/unicase/locale-languages.gperf: New file.
7121         * modules/unicase/locale-language: New file.
7122
7123         Generate more tables for case conversion and case folding.
7124         * lib/gen-uni-tables.c (SCC_*): New enum items.
7125         (struct special_casing_rule): New type.
7126         (casing_rules, num_casing_rules, allocated_casing_rules): New
7127         variables.
7128         (add_casing_rule, fill_casing_rules): New functions.
7129         (struct casefold_rule): New type.
7130         (casefolding_rules, num_casefolding_rules,
7131         allocated_casefolding_rules): New variables.
7132         (fill_casefolding_rules): New function.
7133         (unicode_casefold): New variable.
7134         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
7135         sort_casing_rules, output_casing_rules): New functions.
7136         (main): Accept to more arguments: SpecialCasing.txt and
7137         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
7138         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
7139         Output mapping for casefolding.
7140
7141         * lib/unicase.h: Include stdbool.h, uninorm.h.
7142         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
7143         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
7144         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
7145         arguments.
7146         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
7147         resultp arguments.
7148         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
7149         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
7150         resultp arguments.
7151         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
7152         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
7153         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
7154         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
7155         declarations.
7156         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
7157
7158 2009-03-08  Bruno Haible  <bruno@clisp.org>
7159
7160         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
7161         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
7162         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
7163         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
7164
7165 2009-03-07  Bruno Haible  <bruno@clisp.org>
7166
7167         Adjust u*_normcmp, u*_normcoll API.
7168         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
7169         u16_normcoll, u32_normcoll): Change failure conventions.
7170         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
7171         errno and return -1.
7172         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
7173
7174 2009-03-07  Bruno Haible  <bruno@clisp.org>
7175
7176         Tests for module 'uninorm/u32-normcoll'.
7177         * modules/uninorm/u32-normcoll-tests: New file.
7178         * tests/uninorm/test-u32-normcoll.c: New file.
7179
7180         Tests for module 'uninorm/u16-normcoll'.
7181         * modules/uninorm/u16-normcoll-tests: New file.
7182         * tests/uninorm/test-u16-normcoll.c: New file.
7183
7184         Tests for module 'uninorm/u8-normcoll'.
7185         * modules/uninorm/u8-normcoll-tests: New file.
7186         * tests/uninorm/test-u8-normcoll.c: New file.
7187
7188 2009-03-07  Bruno Haible  <bruno@clisp.org>
7189
7190         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
7191         tests/uninorm/test-u32-normcmp.c.
7192         * tests/uninorm/test-u32-normcmp.c: Include it.
7193         (test_nonascii): New function, extracted from main. Add some more
7194         tests.
7195         (main): Invoke test_ascii and test_nonascii.
7196         * modules/uninorm/u32-normcmp-tests (Files): Add
7197         tests/uninorm/test-u32-normcmp.h.
7198         (Depends-on): Remove uninorm/u32-normcmp.
7199
7200         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
7201         tests/uninorm/test-u16-normcmp.c.
7202         * tests/uninorm/test-u16-normcmp.c: Include it.
7203         (test_nonascii): New function, extracted from main. Add some more
7204         tests.
7205         (main): Invoke test_ascii and test_nonascii.
7206         * modules/uninorm/u16-normcmp-tests (Files): Add
7207         tests/uninorm/test-u16-normcmp.h.
7208         (Depends-on): Remove uninorm/u16-normcmp.
7209
7210         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
7211         tests/uninorm/test-u8-normcmp.c.
7212         * tests/uninorm/test-u8-normcmp.c: Include it.
7213         (test_nonascii): New function, extracted from main. Add some more
7214         tests.
7215         (main): Invoke test_ascii and test_nonascii.
7216         * modules/uninorm/u8-normcmp-tests (Files): Add
7217         tests/uninorm/test-u8-normcmp.h.
7218         (Depends-on): Remove uninorm/u8-normcmp.
7219
7220 2009-03-07  Bruno Haible  <bruno@clisp.org>
7221
7222         New module 'uninorm/u32-normcoll'.
7223         * lib/uninorm/u32-normcoll.c: New file.
7224         * modules/uninorm/u32-normcoll: New file.
7225
7226         New module 'uninorm/u16-normcoll'.
7227         * lib/uninorm/u16-normcoll.c: New file.
7228         * modules/uninorm/u16-normcoll: New file.
7229
7230         New module 'uninorm/u8-normcoll'.
7231         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
7232         declarations.
7233         * lib/uninorm/u8-normcoll.c: New file.
7234         * lib/uninorm/u-normcoll.h: New file.
7235         * modules/uninorm/u8-normcoll: New file.
7236
7237         New module 'uninorm/u32-normxfrm'.
7238         * lib/uninorm/u32-normxfrm.c: New file.
7239         * modules/uninorm/u32-normxfrm: New file.
7240
7241         New module 'uninorm/u16-normxfrm'.
7242         * lib/uninorm/u16-normxfrm.c: New file.
7243         * modules/uninorm/u16-normxfrm: New file.
7244
7245         New module 'uninorm/u8-normxfrm'.
7246         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
7247         declarations.
7248         * lib/uninorm/u8-normxfrm.c: New file.
7249         * lib/uninorm/u-normxfrm.h: New file.
7250         * modules/uninorm/u8-normxfrm: New file.
7251
7252 2009-03-07  Bruno Haible  <bruno@clisp.org>
7253
7254         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
7255         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
7256         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
7257
7258 2009-03-07  Bruno Haible  <bruno@clisp.org>
7259
7260         New module 'memxfrm'.
7261         * lib/memxfrm.h: New file.
7262         * lib/memxfrm.c: New file.
7263         * modules/memxfrm: New file.
7264
7265 2009-03-07  Bruno Haible  <bruno@clisp.org>
7266
7267         New module 'memcmp2'.
7268         * lib/memcmp2.h: New file.
7269         * lib/memcmp2.c: New file.
7270         * modules/memcmp2: New file.
7271
7272 2009-03-07  Bruno Haible  <bruno@clisp.org>
7273
7274         Tests for module 'uninorm/decomposing-form'.
7275         * modules/uninorm/decomposing-form-tests: New file.
7276         * tests/uninorm/test-decomposing-form.c: New file.
7277
7278         New module 'uninorm/decomposing-form'.
7279         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
7280         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
7281         Add 'decomposing_variant' field.
7282         * lib/uninorm/decomposing-form.c: New file.
7283         * lib/uninorm/nfc.c (uninorm_nfc): Update.
7284         * lib/uninorm/nfd.c (uninorm_nfd): Update.
7285         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
7286         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
7287         * modules/uninorm/decomposing-form: New file.
7288         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
7289         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
7290
7291 2009-03-07  Bruno Haible  <bruno@clisp.org>
7292
7293         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
7294         strings.
7295
7296 2009-03-06  Bruno Haible  <bruno@clisp.org>
7297
7298         Tests for module 'uninorm/u32-normcmp'.
7299         * tests/uninorm/test-u32-normcmp.c: New file.
7300         * modules/uninorm/u32-normcmp-tests: New file.
7301
7302         Tests for module 'uninorm/u16-normcmp'.
7303         * tests/uninorm/test-u16-normcmp.c: New file.
7304         * modules/uninorm/u16-normcmp-tests: New file.
7305
7306         Tests for module 'uninorm/u8-normcmp'.
7307         * tests/uninorm/test-u8-normcmp.c: New file.
7308         * modules/uninorm/u8-normcmp-tests: New file.
7309
7310         New module 'uninorm/u32-normcmp'.
7311         * lib/uninorm/u32-normcmp.c: New file.
7312         * modules/uninorm/u32-normcmp: New file.
7313
7314         New module 'uninorm/u16-normcmp'.
7315         * lib/uninorm/u16-normcmp.c: New file.
7316         * modules/uninorm/u16-normcmp: New file.
7317
7318         New module 'uninorm/u8-normcmp'.
7319         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
7320         declarations.
7321         * lib/uninorm/u8-normcmp.c: New file.
7322         * lib/uninorm/u-normcmp.h: New file.
7323         * modules/uninorm/u8-normcmp: New file.
7324
7325 2009-03-06  Bruno Haible  <bruno@clisp.org>
7326
7327         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
7328         Reported by Eric Blake.
7329
7330 2009-03-06  Eric Blake  <ebb9@byu.net>
7331             Bruno Haible  <bruno@clisp.org>
7332
7333         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
7334         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
7335         condition.
7336         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
7337         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
7338         condition.
7339         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
7340
7341 2009-03-06  Eric Blake  <ebb9@byu.net>
7342
7343         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
7344         to avoid compiler warnings.
7345         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
7346
7347 2009-03-05  Bruno Haible  <bruno@clisp.org>
7348
7349         * tests/test-ftell.c (main): Disable test beyond end of file on
7350         FreeMiNT.
7351         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
7352
7353 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
7354
7355         * lib/filevercmp.c: Move hidden files up in ordering.
7356         * tests/test-filevercmp.c: Add tests for hidden files.
7357
7358 2009-03-04  Bruno Haible  <bruno@clisp.org>
7359
7360         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
7361         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
7362         AM_CFLAGS.
7363         Reported by Simon Josefsson.
7364
7365 2009-03-03  Bruno Haible  <bruno@clisp.org>
7366
7367         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
7368         Reported by Simon Josefsson.
7369
7370         * doc/ld-version-script.texi: Update node reference.
7371
7372 2009-03-03  Bruno Haible  <bruno@clisp.org>
7373
7374         * modules/visibility (License): Change to 'unlimited'.
7375         Suggested by Simon Josefsson.
7376
7377 2009-03-03  Jim Meyering  <meyering@redhat.com>
7378
7379         unlinkdir: cannot_unlink_dir may modify process state
7380         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
7381         it's neither thread-safe nor appropriate for use in a library.
7382
7383 2009-03-03  Eric Blake  <ebb9@byu.net>
7384
7385         test-closein: silence test under Darwin
7386         * tests/test-closein.sh: Ignore stderr from cat, since we don't
7387         care if it dies from EPIPE or EBADF.
7388
7389 2009-03-03  Bruno Haible  <bruno@clisp.org>
7390
7391         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
7392         earlier.
7393         * doc/visibility.texi: Fix @node and @section.
7394
7395 2009-03-03  Simon Josefsson  <simon@josefsson.org>
7396
7397         * doc/gnulib.texi: Link to sections for ld version script and
7398         visibility.
7399         * doc/visibility.texi: Add @node and @section.
7400         * modules/ld-version-script: New module.
7401         * m4/ld-version-script.m4: New file.
7402         * doc/ld-version-script.texi: New file.
7403
7404 2009-03-02  David Lutterkort  <lutter@redhat.com>
7405
7406         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
7407         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7408
7409 2009-03-02  Bruno Haible  <bruno@clisp.org>
7410
7411         * doc/visibility.texi: Mention libtool's -export-symbols option.
7412
7413 2009-03-02  Jim Meyering  <meyering@redhat.com>
7414
7415         announce-gen: new option: --no-print-checksums
7416         * build-aux/announce-gen (usage): Describe it.
7417         (print_checksums): Print a newline here, not in the [*] footnote.
7418         (main): Honor it.
7419
7420 2009-03-01  Bruno Haible  <bruno@clisp.org>
7421
7422         Use socklen_t in the native Windows replacements prototypes.
7423         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
7424         instead of 'int'.
7425         * lib/getsockopt.c (rpl_getsockopt): Likewise.
7426         * lib/setsockopt.c (rpl_setsockopt): Likewise.
7427         * modules/getsockopt (Depends-on): Add socklen.
7428         * modules/setsockopt (Depends-on): Add socklen.
7429
7430 2009-03-01  Bruno Haible  <bruno@clisp.org>
7431
7432         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
7433         least 4.2.
7434
7435 2009-03-01  Eric Blake  <ebb9@byu.net>
7436             Bruno Haible  <bruno@clisp.org>
7437
7438         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
7439         error messages.
7440         * lib/wait-process.c (wait_subprocess): Omit error message about
7441         deadly signal sent to the child of termsigp != NULL.
7442
7443 2009-03-01  Eric Blake  <ebb9@byu.net>
7444
7445         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
7446
7447 2009-03-01  Bruno Haible  <bruno@clisp.org>
7448
7449         Avoid a gcc warning.
7450         * tests/test-sched.c (b): Make global.
7451         Reported by Eric Blake.
7452
7453 2009-01-19  Martin Lambers  <marlam@marlam.de>
7454
7455         Provide POSIX semantics for socket timeout options on W32.
7456         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
7457         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
7458         * modules/setsockopt: Depend on sys_time module for struct timeval.
7459         * modules/getsockopt: Depend on sys_time module for struct timeval.
7460
7461 2009-03-01  Simon Josefsson  <simon@josefsson.org>
7462
7463         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
7464         __USE_GNU, for consistency with netdb.in.h.
7465         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
7466
7467 2009-03-01  Bruno Haible  <bruno@clisp.org>
7468
7469         More support for FreeMiNT.
7470         * lib/fseeko.c (rpl_fseeko): Complete last commit.
7471         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
7472
7473 2009-03-01  Bruno Haible  <bruno@clisp.org>
7474
7475         More support for FreeMiNT.
7476         * lib/fpurge.c (fpurge): Correct last commit.
7477         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
7478
7479 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7480
7481         Fix unportable awk script in vc-list-files.
7482         * build-aux/vc-list-files: In the replacement awk script, use
7483         substr with a second argument of 1, not zero.
7484         Report by Simon Josefsson.
7485
7486 2009-02-28  Bruno Haible  <bruno@clisp.org>
7487
7488         More support for FreeMiNT.
7489         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
7490         to FreeMiNT today.
7491         * lib/fwriting.c (fwriting): Likewise.
7492         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
7493
7494 2009-02-28  Bruno Haible  <bruno@clisp.org>
7495
7496         * tests/test-freadseek.c (main): Disable test beyond end of file on
7497         FreeMiNT.
7498         * tests/test-ftello.c (main): Likewise.
7499         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
7500
7501 2009-02-28  Bruno Haible  <bruno@clisp.org>
7502
7503         Add tentative support for FreeMiNT.
7504         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
7505         * lib/fpurge.c (fpurge): Likewise.
7506         * lib/freadable.c (freadable): Likewise.
7507         * lib/freading.c (freading): Likewise.
7508         * lib/freadptr.c (freadptr): Likewise.
7509         * lib/freadseek.c (freadptrinc): Likewise.
7510         * lib/fseeko.c (rpl_fseeko): Likewise.
7511         * lib/fseterr.c (fseterr): Likewise.
7512         * lib/fwritable.c (fwritable): Likewise.
7513         * lib/fwriting.c (fwriting): Likewise.
7514         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
7515         Hourihane.
7516         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
7517
7518 2009-02-28  Bruno Haible  <bruno@clisp.org>
7519
7520         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
7521         SIGCHLD.
7522         Reported by Jim Meyering.
7523
7524 2009-02-28  Bruno Haible  <bruno@clisp.org>
7525
7526         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
7527         Mention the results of these tests on various platforms.
7528         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
7529         order.
7530         * doc/posix-functions/printf.texi: Likewise.
7531         * doc/posix-functions/snprintf.texi: Likewise.
7532         * doc/posix-functions/sprintf.texi: Likewise.
7533         * doc/posix-functions/vfprintf.texi: Likewise.
7534         * doc/posix-functions/vprintf.texi: Likewise.
7535         * doc/posix-functions/vsnprintf.texi: Likewise.
7536         * doc/posix-functions/vsprintf.texi: Likewise.
7537         * doc/glibc-functions/obstack_printf.texi: Likewise.
7538         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
7539
7540 2009-02-28  Bruno Haible  <bruno@clisp.org>
7541
7542         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
7543         Reported by Loïc Minier <lool@dooz.org>.
7544
7545 2009-02-27  Bruno Haible  <bruno@clisp.org>
7546
7547         * gnulib-tool (func_import): Make the sed expression used to create the
7548         sed script for updating the .gitignore file POSIX compliant.
7549         Reported by Eric Blake.
7550
7551 2009-02-27  Bruno Haible  <bruno@clisp.org>
7552
7553         * gnulib-tool (sed): Don't alias as "sed --posix".
7554         Reported by Eric Blake.
7555
7556 2009-02-27  Bruno Haible  <bruno@clisp.org>
7557
7558         Avoid test link errors.
7559         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
7560         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
7561         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
7562         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
7563         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7564
7565 2009-02-27  Bruno Haible  <bruno@clisp.org>
7566
7567         Avoid spurious "(cached)" in configure output.
7568         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
7569         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
7570         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
7571         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
7572         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
7573         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
7574         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
7575         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
7576         Reported by Eric Blake.
7577
7578 2009-02-27  Eric Blake  <ebb9@byu.net>
7579
7580         printf: fix regression in previous patch
7581         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
7582
7583 2009-02-27  Bruno Haible  <bruno@clisp.org>
7584
7585         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
7586         value.
7587         * lib/stdint.in.h: Likewise.
7588         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
7589
7590 2009-02-27  Eric Blake  <ebb9@byu.net>
7591
7592         doc: mention more functions added in cygwin 1.7.0
7593         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
7594         addition.
7595         * doc/posix-functions/open_wmemstream.texi: Likewise.
7596         * doc/posix-functions/wcsnlen.texi: Likewise.
7597         * doc/posix-functions/wcsnrtombs.texi: Likewise.
7598         * doc/posix-functions/wcstod.texi: Likewise.
7599         * doc/posix-functions/wcstof.texi: Likewise.
7600         * doc/posix-functions/wcstoimax.texi: Likewise.
7601         * doc/posix-functions/wcstok.texi: Likewise.
7602         * doc/posix-functions/wcstoumax.texi: Likewise.
7603
7604         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
7605         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
7606         * doc/posix-functions/fprintf.texi: Update.
7607         * doc/posix-functions/printf.texi: Update.
7608         * doc/posix-functions/snprintf.texi: Update.
7609         * doc/posix-functions/sprintf.texi: Update.
7610         * doc/posix-functions/vfprintf.texi: Update.
7611         * doc/posix-functions/vprintf.texi: Update.
7612         * doc/posix-functions/vsnprintf.texi: Update.
7613         * doc/posix-functions/vsprintf.texi: Update.
7614         * doc/glibc-functions/obstack_printf.texi: Update.
7615         * doc/glibc-functions/obstack_vprintf.texi: Update.
7616
7617 2009-02-26  Eric Blake  <ebb9@byu.net>
7618
7619         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
7620         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
7621         compilation bug by using runtime conversion.
7622         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
7623         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
7624         * modules/ceill-tests (Files): Use nan.h.
7625         * modules/floorl-tests (Files): Likewise.
7626         * modules/frexpl-tests (Files): Likewise.
7627         * modules/isnanl-tests (Files): Likewise.
7628         * modules/ldexpl-tests (Files): Likewise.
7629         * modules/roundl-tests (Files): Likewise.
7630         * modules/truncl-tests (Files): Likewise.
7631         * tests/test-ceill.c (main): Use a working NaN.
7632         * tests/test-floorl.c (main): Likewise.
7633         * tests/test-frexpl.c (main): Likewise.
7634         * tests/test-isnan.c (test_long_double): Likewise.
7635         * tests/test-isnanl.h (main): Likewise.
7636         * tests/test-ldexpl.h (main): Likewise.
7637         * tests/test-roundl.h (main): Likewise.
7638         * tests/test-truncl.h (main): Likewise.
7639         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
7640
7641 2009-02-26  Eric Blake  <ebb9@byu.net>
7642             Bruno Haible  <bruno@clisp.org>
7643
7644         Work around a *printf bug with %ls on Solaris.
7645         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
7646         precision is specified, sprintf stops converting the wide string
7647         argument when the number of bytes that have been produced by this
7648         conversion equals or exceeds the precision.
7649         * doc/posix-functions/fprintf.texi: Update.
7650         * doc/posix-functions/printf.texi: Update.
7651         * doc/posix-functions/snprintf.texi: Update.
7652         * doc/posix-functions/sprintf.texi: Update.
7653         * doc/posix-functions/vfprintf.texi: Update.
7654         * doc/posix-functions/vprintf.texi: Update.
7655         * doc/posix-functions/vsnprintf.texi: Update.
7656         * doc/posix-functions/vsprintf.texi: Update.
7657         * doc/glibc-functions/obstack_printf.texi: Update.
7658         * doc/glibc-functions/obstack_vprintf.texi: Update.
7659
7660 2009-02-26  Eric Blake  <ebb9@byu.net>
7661
7662         stdlib: favor compiler check of random.h
7663         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
7664         to avoid an ObjC random.h installed by Swarm.
7665
7666 2009-02-26  Bruno Haible  <bruno@clisp.org>
7667
7668         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
7669         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
7670         Reported by Gary V. Vaughan <gary@gnu.org>.
7671
7672 2009-02-26  Bruno Haible  <bruno@clisp.org>
7673
7674         Fix *printf behaviour regarding the %ls directive.
7675         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
7676         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
7677         NEED_PRINTF_DIRECTIVE_LS.
7678         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
7679         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
7680         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
7681         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
7682         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
7683         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
7684         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
7685         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
7686         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
7687         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
7688         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
7689         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
7690         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
7691         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
7692         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
7693         * doc/posix-functions/fprintf.texi: Update.
7694         * doc/posix-functions/printf.texi: Update.
7695         * doc/posix-functions/snprintf.texi: Update.
7696         * doc/posix-functions/sprintf.texi: Update.
7697         * doc/posix-functions/vfprintf.texi: Update.
7698         * doc/posix-functions/vprintf.texi: Update.
7699         * doc/posix-functions/vsnprintf.texi: Update.
7700         * doc/posix-functions/vsprintf.texi: Update.
7701         * doc/glibc-functions/obstack_printf.texi: Update.
7702         * doc/glibc-functions/obstack_vprintf.texi: Update.
7703         Reported by Eric Blake.
7704
7705 2009-02-25  Bruno Haible  <bruno@clisp.org>
7706
7707         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
7708         with known value.
7709         Reported by Gary V. Vaughan <gary@gnu.org>.
7710
7711 2009-02-25  Bruno Haible  <bruno@clisp.org>
7712
7713         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
7714         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
7715         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
7716         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
7717         Reported by Gary V. Vaughan <gary@gnu.org>.
7718
7719 2009-02-25  Bruno Haible  <bruno@clisp.org>
7720
7721         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
7722         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
7723         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
7724         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
7725         Reported by Gary V. Vaughan <gary@gnu.org>.
7726
7727 2009-02-25  Eric Blake  <ebb9@byu.net>
7728
7729         tests: skip fseek/ftell tests if ungetc is broken
7730         * m4/ungetc.m4: New file.
7731         * modules/fseek-tests: Split test, so ungetc dependency is
7732         separate from rest of test.
7733         * modules/fseeko-tests: Likewise.
7734         * modules/ftell-tests: Likewise.
7735         * modules/ftello-tests: Likewise.
7736         * tests/test-fseek.c (main): Isolate ungetc dependency.
7737         * tests/test-fseeko.c (main): Likewise.
7738         * tests/test-ftell.c (main): Likewise.
7739         * tests/test-ftello.c (main): Likewise.
7740         * tests/test-fseek2.sh: New file.
7741         * tests/test-fseeko2.sh: Likewise.
7742         * tests/test-ftell2.sh: Likewise.
7743         * tests/test-ftello2.sh: Likewise.
7744
7745 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
7746
7747         test-getaddrinfo: fix usage of skip return code 77
7748         * tests/test-gettaddrinfo.c: Return skip code 77 only
7749         for first occurance of skip (4x77 is not 77)
7750
7751 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
7752
7753         strtod: avoid C99 decl-after-statement
7754         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
7755
7756 2009-02-24  Eric Blake  <ebb9@byu.net>
7757
7758         strtod: detect HP-UX 11.31 bug
7759         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
7760         Reported by Gary V. Vaughan.
7761
7762 2009-02-23  Bruno Haible  <bruno@clisp.org>
7763
7764         Fix invalid read past end of memory block.
7765         * lib/vasnprintf.c (DCHAR_SET): Define.
7766         (local_wcslen): Define only when needed.
7767         (local_strnlen, local_wcsnlen): New functions.
7768         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
7769         directives that involve a conversion ourselves.
7770         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
7771         wcsnlen, mbrtowc, wcrtomb.
7772         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
7773         * tests/test-vasprintf-posix.c (test_function): Likewise.
7774         * tests/test-snprintf-posix.h (test_function): Likewise.
7775         * tests/test-sprintf-posix.h (test_function): Likewise.
7776         Reported by Ben Pfaff <blp@cs.stanford.edu>.
7777
7778 2009-02-22  Bruno Haible  <bruno@clisp.org>
7779
7780         Implement new clarified decomposition of Hangul syllables.
7781         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
7782         of type LTV, return only a pairwise decomposition.
7783         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
7784         Likewise.
7785         * tests/uninorm/test-decomposition.c (main): Updated expected result.
7786         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
7787         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
7788
7789 2009-02-22  Bruno Haible  <bruno@clisp.org>
7790
7791         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
7792         zero-length results and shrink excess allocated memory.
7793         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
7794         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
7795         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
7796         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
7797         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
7798         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
7799         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
7800         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
7801         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
7802         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
7803         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
7804         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
7805
7806 2009-02-21  Bruno Haible  <bruno@clisp.org>
7807
7808         * doc/gnulib.texi: Include safe-alloc.texi earlier.
7809         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
7810         spaces after a period. Put a space between a macro name and its
7811         argument list. Trivial rewordings.
7812         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
7813         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
7814         (main): Return 0 explicitly.
7815
7816 2009-02-21  Bruno Haible  <bruno@clisp.org>
7817
7818         Tests for module 'uninorm/filter'.
7819         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
7820         * modules/uninorm/filter-tests: New file.
7821
7822         New module 'uninorm/filter'.
7823         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
7824         uninorm_filter_flush, uninorm_filter_free): New declarations.
7825         * lib/uninorm/uninorm-filter.c: New file.
7826         * modules/uninorm/filter: New file.
7827
7828 2009-02-21  Bruno Haible  <bruno@clisp.org>
7829
7830         Tests for module 'uninorm/nfkc'.
7831         * tests/uninorm/test-nfkc.c: New file.
7832         * tests/uninorm/test-u8-nfkc.c: New file.
7833         * tests/uninorm/test-u16-nfkc.c: New file.
7834         * tests/uninorm/test-u32-nfkc.c: New file.
7835         * tests/uninorm/test-u32-nfkc-big.sh: New file.
7836         * tests/uninorm/test-u32-nfkc-big.c: New file.
7837         * modules/uninorm/nfkc-tests: New file.
7838
7839         New module 'uninorm/nfkc'.
7840         * lib/uninorm/nfkc.c: New file.
7841         * modules/uninorm/nfkc: New file.
7842
7843         Tests for module 'uninorm/nfkd'.
7844         * tests/uninorm/test-nfkd.c: New file.
7845         * tests/uninorm/test-u8-nfkd.c: New file.
7846         * tests/uninorm/test-u16-nfkd.c: New file.
7847         * tests/uninorm/test-u32-nfkd.c: New file.
7848         * tests/uninorm/test-u32-nfkd-big.sh: New file.
7849         * tests/uninorm/test-u32-nfkd-big.c: New file.
7850         * modules/uninorm/nfkd-tests: New file.
7851
7852         New module 'uninorm/nfkd'.
7853         * lib/uninorm/nfkd.c: New file.
7854         * modules/uninorm/nfkd: New file.
7855
7856         Tests for module 'uninorm/nfc'.
7857         * tests/uninorm/test-nfc.c: New file.
7858         * tests/uninorm/test-u8-nfc.c: New file.
7859         * tests/uninorm/test-u16-nfc.c: New file.
7860         * tests/uninorm/test-u32-nfc.c: New file.
7861         * tests/uninorm/test-u32-nfc-big.sh: New file.
7862         * tests/uninorm/test-u32-nfc-big.c: New file.
7863         * modules/uninorm/nfc-tests: New file.
7864
7865         New module 'uninorm/nfc'.
7866         * lib/uninorm/nfc.c: New file.
7867         * modules/uninorm/nfc: New file.
7868
7869         Tests for module 'uninorm/nfd'.
7870         * tests/uninorm/test-nfd.c: New file.
7871         * tests/uninorm/test-u8-nfd.c: New file.
7872         * tests/uninorm/test-u16-nfd.c: New file.
7873         * tests/uninorm/test-u32-nfd.c: New file.
7874         * tests/uninorm/test-u32-nfd-big.sh: New file.
7875         * tests/uninorm/test-u32-nfd-big.c: New file.
7876         * tests/uninorm/test-u32-normalize-big.h: New file.
7877         * tests/uninorm/test-u32-normalize-big.c: New file.
7878         * tests/uninorm/NormalizationTest.txt: New file, created from
7879         Unicode 5.1.0 NormalizationTest.txt.
7880         * modules/uninorm/nfd-tests: New file.
7881
7882         New module 'uninorm/nfd'.
7883         * lib/uninorm/nfd.c: New file.
7884         * modules/uninorm/nfd: New file.
7885
7886         New module 'uninorm/u32-normalize'.
7887         * lib/uninorm/u32-normalize.c: New file.
7888         * modules/uninorm/u32-normalize: New file.
7889
7890         New module 'uninorm/u16-normalize'.
7891         * lib/uninorm/u16-normalize.c: New file.
7892         * modules/uninorm/u16-normalize: New file.
7893
7894         New module 'uninorm/u8-normalize'.
7895         * lib/uninorm/u8-normalize.c: New file.
7896         * lib/uninorm/normalize-internal.h: New file.
7897         * lib/uninorm/u-normalize-internal.h: New file.
7898         * modules/uninorm/u8-normalize: New file.
7899
7900         New module 'uninorm/decompose-internal'.
7901         * lib/uninorm/decompose-internal.c: New file.
7902         * modules/uninorm/decompose-internal: New file.
7903
7904         Tests for module 'uninorm/composition'.
7905         * tests/uninorm/test-composition.c: New file.
7906         * modules/uninorm/composition-tests: New file.
7907
7908         New module 'uninorm/composition'.
7909         * lib/uninorm/composition.c: New file.
7910         * lib/uninorm/composition-table.gperf: New file, generated by
7911         gen-uni-tables.
7912         * modules/uninorm/composition: New file.
7913
7914         Tests for module 'uninorm/compat-decomposition'.
7915         * tests/uninorm/test-compat-decomposition.c: New file.
7916         * modules/uninorm/compat-decomposition-tests: New file.
7917
7918         New module 'uninorm/compat-decomposition'.
7919         * lib/uninorm/decompose-internal.h: New file.
7920         * lib/uninorm/compat-decomposition.c: New file.
7921         * modules/uninorm/compat-decomposition: New file.
7922
7923         Tests for module 'uninorm/canonical-decomposition'.
7924         * tests/uninorm/test-canonical-decomposition.c: New file.
7925         * modules/uninorm/canonical-decomposition-tests: New file.
7926
7927         New module 'uninorm/canonical-decomposition'.
7928         * lib/uninorm/canonical-decomposition.c: New file.
7929         * modules/uninorm/canonical-decomposition: New file.
7930
7931         Tests for module 'uninorm/decomposition'.
7932         * tests/uninorm/test-decomposition.c: New file.
7933         * modules/uninorm/decomposition-tests: New file.
7934
7935         New module 'uninorm/decomposition'.
7936         * lib/uninorm/decomposition.c: New file.
7937         * modules/uninorm/decomposition: New file.
7938
7939         New module 'uninorm/decomposition-table'.
7940         * lib/uninorm/decomposition-table.h: New file.
7941         * lib/uninorm/decomposition-table.c: New file.
7942         * lib/uninorm/decomposition-table1.h: New file, generated by
7943         gen-uni-tables.
7944         * lib/uninorm/decomposition-table2.h: New file, generated by
7945         gen-uni-tables.
7946         * modules/uninorm/decomposition-table: New file.
7947
7948         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
7949         (UC_DECOMP_*): New enumeration items.
7950         (get_decomposition): New function.
7951         (struct decomp_table): New type.
7952         (output_decomposition, output_decomposition_tables): New functions.
7953         (unicode_composition_exclusions): New variable.
7954         (fill_composition_exclusions, debug_output_composition_tables): New
7955         functions.
7956         (main): Accept one more argument. Invoke fill_composition_exclusions.
7957         Output decomposition and composition tables.
7958
7959         New module 'uninorm/base'.
7960         * lib/uninorm.h: New file.
7961         * lib/unictype.h: Update comment.
7962         * modules/uninorm/base: New file.
7963
7964 2009-02-21  David Lutterkort  <lutter@redhat.com>
7965
7966         Tests for module 'safe-alloc'.
7967         * tests/test-safe-alloc.c: New file.
7968         * modules/safe-alloc-tests: New file.
7969
7970         New module 'safe-alloc'.
7971         * lib/safe-alloc.h: New file.
7972         * lib/safe-alloc.c: New file.
7973         * m4/safe-alloc.m4: New file.
7974         * modules/safe-alloc: New file.
7975         * doc/safe-alloc.texi: New file.
7976         * doc/gnulib.texi: Include it.
7977         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
7978         safe-alloc.
7979
7980 2009-02-18  Bruno Haible  <bruno@clisp.org>
7981
7982         Fix link error on non-glibc systems.
7983         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
7984         variable.
7985         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7986
7987 2009-02-18  Jim Meyering  <meyering@redhat.com>
7988
7989         fts: avoid used-uninitialized error due to recent change
7990         * lib/fts.c (fts_read): Guard uses of the new member,
7991         parent->fts_n_dirs_remaining, since it's not relevant for
7992         the parent of a directory specified on the command-line.
7993
7994 2009-02-17  James Youngman  <jay@gnu.org>
7995             Bruno Haible  <bruno@clisp.org>
7996
7997         * m4/include_next.m4: Reformulate comment.
7998
7999 2009-02-16  Jim Meyering  <meyering@redhat.com>
8000
8001         fts: add #if guards so that the fts_lgpl module still builds
8002         * lib/fts.c: Guard just-added hash-table-using parts with
8003         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
8004         Reported by Simon Josefsson.
8005
8006 2009-02-15  Bruno Haible  <bruno@clisp.org>
8007
8008         * modules/array-mergesort-tests: New file.
8009         * tests/test-array-mergesort.c: New file.
8010
8011         New module 'array-mergesort'.
8012         * modules/array-mergesort: New file.
8013         * lib/array-mergesort.h: New file.
8014
8015 2009-02-15  Bruno Haible  <bruno@clisp.org>
8016
8017         Fix 2009-02-07 commit.
8018         * lib/gen-uni-tables.c (output_predicate, output_category,
8019         output_combclass, output_bidi_category, output_decimal_digit,
8020         output_digit, output_numeric, output_mirror, output_scripts,
8021         output_ident_category, output_simple_mapping): Fix format directives.
8022         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
8023
8024 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
8025
8026         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
8027         fixes are available from IBM.
8028
8029 2009-02-13  Jim Meyering  <meyering@redhat.com>
8030
8031         fts: arrange not to stat non-directories in more cases
8032         This makes GNU find (when it doesn't need to stat each file)
8033         *much* more efficient at traversing reiserfs file systems.
8034         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
8035         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
8036         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
8037         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
8038         (leaf_optimization_applies): New function.
8039         (LCO_hash, LCO_compare): New helper functions.
8040         (link_count_optimize_ok): New function.
8041         (fts_stat): Initialize new member (if dir).
8042         (fts_read): Decrement parent's fts_n_dirs_remaining count if
8043         we've just stat'ed a directory.  Skip the stat call when possible.
8044         ---
8045         Note this AFS-related exchange:
8046         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
8047         and note find's pioctl call in find/fstype.c.
8048         But that is necessary only if you want to enable the
8049         optimization for AFS, and for now, I don't.
8050
8051         fts: move a function definition "up" (no semantic change)
8052         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
8053         "up" to precede upcoming use of a related function.
8054
8055 2009-02-11  Jim Meyering  <meyering@redhat.com>
8056
8057         fts: correct internal computation of nlinks (optimization-related)
8058         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
8059         whether the current entry is a directory, so don't test it.
8060
8061 2009-02-10  Bruno Haible  <bruno@clisp.org>
8062
8063         Tests for module 'uniwbrk/ulc-wordbreaks'.
8064         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
8065         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
8066         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
8067
8068         Tests for module 'uniwbrk/u32-wordbreaks'.
8069         * modules/uniwbrk/u32-wordbreaks-tests: New file.
8070         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
8071
8072         Tests for module 'uniwbrk/u16-wordbreaks'.
8073         * modules/uniwbrk/u16-wordbreaks-tests: New file.
8074         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
8075
8076         Tests for module 'uniwbrk/u8-wordbreaks'.
8077         * modules/uniwbrk/u8-wordbreaks-tests: New file.
8078         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
8079
8080 2009-02-10  Bruno Haible  <bruno@clisp.org>
8081
8082         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
8083         property.
8084         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
8085         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
8086         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
8087
8088 2009-02-10  Simon Josefsson  <simon@josefsson.org>
8089
8090         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
8091         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
8092
8093 2009-02-10  Bruno Haible  <bruno@clisp.org>
8094
8095         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
8096         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
8097         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
8098         * lib/unilbrk/u8-possible-linebreaks.c: Update.
8099         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
8100         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
8101
8102 2009-02-09  Simon Josefsson  <simon@josefsson.org>
8103
8104         * lib/sockets.h (gl_fd_to_handle): New function.
8105
8106         * tests/test-sockets.c: Call gl_fd_to_handle.
8107
8108 2009-02-09  Bruno Haible  <bruno@clisp.org>
8109
8110         * doc/havelib.texi: Document the conventions on bi-arch systems.
8111
8112 2009-02-08  Bruno Haible  <bruno@clisp.org>
8113
8114         Document the AC_LIB_LINKFLAGS macro.
8115         * doc/havelib.texi: New file, mostly written on 2005-05-24.
8116         * doc/gnulib.texi: Include it.
8117
8118 2009-02-08  Bruno Haible  <bruno@clisp.org>
8119
8120         Fix wrong order of sections, compared to TOC.
8121         * doc/gnulib.texi: Include relocatable-maint.texi after the
8122         "Regular expressions" node, not before.
8123
8124 2009-02-08  Bruno Haible  <bruno@clisp.org>
8125
8126         Tests for module 'unicase/totitle'.
8127         * modules/unicase/totitle-tests: New file.
8128
8129         Tests for module 'unicase/tolower'.
8130         * modules/unicase/tolower-tests: New file.
8131
8132         Tests for module 'unicase/toupper'.
8133         * modules/unicase/toupper-tests: New file.
8134         * tests/unicase/test-mapping-part1.h: New file.
8135         * tests/unicase/test-mapping-part2.h: New file.
8136
8137         New module 'unicase/totitle'.
8138         * modules/unicase/totitle: New file.
8139         * lib/unicase/totitle.c: New file.
8140
8141         New module 'unicase/tolower'.
8142         * modules/unicase/tolower: New file.
8143         * lib/unicase/tolower.c: New file.
8144
8145         New module 'unicase/toupper'.
8146         * modules/unicase/toupper: New file.
8147         * lib/unicase/toupper.c: New file.
8148         * lib/unicase/simple-mapping.h: New file.
8149
8150         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
8151         (mapping_table): New structure.
8152         (output_simple_mapping): New function.
8153         (main): Invoke output_simple_mapping_test and output_simple_mapping.
8154         * modules/gen-uni-tables (Description): Update.
8155         * lib/unicase/toupper.h: New file, automatically generated by
8156         gen-uni-tables.
8157         * lib/unicase/tolower.h: New file, automatically generated by
8158         gen-uni-tables.
8159         * lib/unicase/totitle.h: New file, automatically generated by
8160         gen-uni-tables.
8161         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
8162         gen-uni-tables.
8163         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
8164         gen-uni-tables.
8165         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
8166         gen-uni-tables.
8167
8168         New module 'unicase/base'.
8169         * modules/unicase/base: New file.
8170         * lib/unicase.h: New file.
8171
8172 2009-02-08  Bruno Haible  <bruno@clisp.org>
8173
8174         New module 'uniwbrk/ulc-wordbreaks'.
8175         * modules/uniwbrk/ulc-wordbreaks: New file.
8176         * lib/uniwbrk/ulc-wordbreaks.c: New file.
8177
8178         New module 'uniwbrk/u32-wordbreaks'.
8179         * modules/uniwbrk/u32-wordbreaks: New file.
8180         * lib/uniwbrk/u32-wordbreaks.c: New file.
8181
8182         New module 'uniwbrk/u16-wordbreaks'.
8183         * modules/uniwbrk/u16-wordbreaks: New file.
8184         * lib/uniwbrk/u16-wordbreaks.c: New file.
8185
8186         New module 'uniwbrk/u8-wordbreaks'.
8187         * modules/uniwbrk/u8-wordbreaks: New file.
8188         * lib/uniwbrk/u8-wordbreaks.c: New file.
8189         * lib/uniwbrk/u-wordbreaks.h: New file.
8190
8191         New module 'uniwbrk/table'.
8192         * modules/uniwbrk/table: New file.
8193         * lib/uniwbrk/wbrktable.h: New file.
8194         * lib/uniwbrk/wbrktable.c: New file.
8195
8196         New module 'uniwbrk/wordbreak-property'.
8197         * modules/uniwbrk/wordbreak-property: New file.
8198         * lib/uniwbrk/wordbreak-property.c: New file.
8199
8200         * lib/gen-uni-tables.c (WBP_*): New enum items.
8201         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
8202         (unicode_org_wbp): New variable.
8203         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
8204         New functions.
8205         (wbp_table): New structure.
8206         (output_wbp, output_wbrk_tables): New functions.
8207         (main): Accept additional argument. Invoke fill_org_wbp,
8208         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
8209         output_wbrk_tables.
8210         * modules/gen-uni-tables (Description): Update.
8211         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
8212         gen-uni-tables.
8213
8214         New module 'uniwbrk/base'.
8215         * modules/uniwbrk/base: New file.
8216         * lib/uniwbrk.h: New file.
8217
8218 2009-02-08  Bruno Haible  <bruno@clisp.org>
8219
8220         Update to Unicode 5.1.0.
8221         * lib/gen-uni-tables.c (is_property_alphabetic): Include
8222         U+2185..U+2188.
8223         (is_property_default_ignorable_code_point): Don't include characters
8224         of category Cc or Cs and not-a-characters.
8225         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
8226         U+0D79, U+109E, U+109F, U+A60C.
8227         * lib/unictype/bidi_of.h: Regenerated.
8228         * lib/unictype/blocks.h: Regenerated.
8229         * lib/unictype/categ_C.h: Regenerated.
8230         * lib/unictype/categ_Cf.h: Regenerated.
8231         * lib/unictype/categ_Cn.h: Regenerated.
8232         * lib/unictype/categ_L.h: Regenerated.
8233         * lib/unictype/categ_Ll.h: Regenerated.
8234         * lib/unictype/categ_Lm.h: Regenerated.
8235         * lib/unictype/categ_Lo.h: Regenerated.
8236         * lib/unictype/categ_Lu.h: Regenerated.
8237         * lib/unictype/categ_M.h: Regenerated.
8238         * lib/unictype/categ_Mc.h: Regenerated.
8239         * lib/unictype/categ_Me.h: Regenerated.
8240         * lib/unictype/categ_Mn.h: Regenerated.
8241         * lib/unictype/categ_N.h: Regenerated.
8242         * lib/unictype/categ_Nd.h: Regenerated.
8243         * lib/unictype/categ_Nl.h: Regenerated.
8244         * lib/unictype/categ_No.h: Regenerated.
8245         * lib/unictype/categ_P.h: Regenerated.
8246         * lib/unictype/categ_Pd.h: Regenerated.
8247         * lib/unictype/categ_Pe.h: Regenerated.
8248         * lib/unictype/categ_Pf.h: Regenerated.
8249         * lib/unictype/categ_Pi.h: Regenerated.
8250         * lib/unictype/categ_Po.h: Regenerated.
8251         * lib/unictype/categ_Ps.h: Regenerated.
8252         * lib/unictype/categ_S.h: Regenerated.
8253         * lib/unictype/categ_Sk.h: Regenerated.
8254         * lib/unictype/categ_Sm.h: Regenerated.
8255         * lib/unictype/categ_So.h: Regenerated.
8256         * lib/unictype/categ_of.h: Regenerated.
8257         * lib/unictype/combining.h: Regenerated.
8258         * lib/unictype/ctype_alnum.h: Regenerated.
8259         * lib/unictype/ctype_alpha.h: Regenerated.
8260         * lib/unictype/ctype_graph.h: Regenerated.
8261         * lib/unictype/ctype_lower.h: Regenerated.
8262         * lib/unictype/ctype_print.h: Regenerated.
8263         * lib/unictype/ctype_punct.h: Regenerated.
8264         * lib/unictype/ctype_upper.h: Regenerated.
8265         * lib/unictype/decdigit.h: Regenerated.
8266         * lib/unictype/digit.h: Regenerated.
8267         * lib/unictype/mirror.h: Regenerated.
8268         * lib/unictype/numeric.h: Regenerated.
8269         * lib/unictype/pr_alphabetic.h: Regenerated.
8270         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
8271         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
8272         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
8273         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
8274         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
8275         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
8276         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
8277         * lib/unictype/pr_combining.h: Regenerated.
8278         * lib/unictype/pr_dash.h: Regenerated.
8279         * lib/unictype/pr_decimal_digit.h: Regenerated.
8280         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
8281         * lib/unictype/pr_deprecated.h: Regenerated.
8282         * lib/unictype/pr_diacritic.h: Regenerated.
8283         * lib/unictype/pr_extender.h: Regenerated.
8284         * lib/unictype/pr_format_control.h: Regenerated.
8285         * lib/unictype/pr_grapheme_base.h: Regenerated.
8286         * lib/unictype/pr_grapheme_extend.h: Regenerated.
8287         * lib/unictype/pr_grapheme_link.h: Regenerated.
8288         * lib/unictype/pr_id_continue.h: Regenerated.
8289         * lib/unictype/pr_id_start.h: Regenerated.
8290         * lib/unictype/pr_ideographic.h: Regenerated.
8291         * lib/unictype/pr_ignorable_control.h: Regenerated.
8292         * lib/unictype/pr_lowercase.h: Regenerated.
8293         * lib/unictype/pr_math.h: Regenerated.
8294         * lib/unictype/pr_numeric.h: Regenerated.
8295         * lib/unictype/pr_other_alphabetic.h: Regenerated.
8296         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
8297         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
8298         * lib/unictype/pr_other_id_continue.h: Regenerated.
8299         * lib/unictype/pr_other_lowercase.h: Regenerated.
8300         * lib/unictype/pr_other_math.h: Regenerated.
8301         * lib/unictype/pr_punctuation.h: Regenerated.
8302         * lib/unictype/pr_sentence_terminal.h: Regenerated.
8303         * lib/unictype/pr_soft_dotted.h: Regenerated.
8304         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
8305         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
8306         * lib/unictype/pr_unified_ideograph.h: Regenerated.
8307         * lib/unictype/pr_uppercase.h: Regenerated.
8308         * lib/unictype/pr_xid_continue.h: Regenerated.
8309         * lib/unictype/pr_xid_start.h: Regenerated.
8310         * lib/unictype/pr_zero_width.h: Regenerated.
8311         * lib/unictype/scripts.h: Regenerated.
8312         * lib/unictype/scripts_byname.gperf: Regenerated.
8313         * lib/unictype/sy_java_ident.h: Regenerated.
8314         * lib/unilbrk/lbrkprop1.h: Regenerated.
8315         * lib/unilbrk/lbrkprop2.h: Regenerated.
8316         * tests/unictype/test-categ_C.c: Regenerated.
8317         * tests/unictype/test-categ_Cf.c: Regenerated.
8318         * tests/unictype/test-categ_Cn.c: Regenerated.
8319         * tests/unictype/test-categ_L.c: Regenerated.
8320         * tests/unictype/test-categ_Ll.c: Regenerated.
8321         * tests/unictype/test-categ_Lm.c: Regenerated.
8322         * tests/unictype/test-categ_Lo.c: Regenerated.
8323         * tests/unictype/test-categ_Lu.c: Regenerated.
8324         * tests/unictype/test-categ_M.c: Regenerated.
8325         * tests/unictype/test-categ_Mc.c: Regenerated.
8326         * tests/unictype/test-categ_Me.c: Regenerated.
8327         * tests/unictype/test-categ_Mn.c: Regenerated.
8328         * tests/unictype/test-categ_N.c: Regenerated.
8329         * tests/unictype/test-categ_Nd.c: Regenerated.
8330         * tests/unictype/test-categ_Nl.c: Regenerated.
8331         * tests/unictype/test-categ_No.c: Regenerated.
8332         * tests/unictype/test-categ_P.c: Regenerated.
8333         * tests/unictype/test-categ_Pd.c: Regenerated.
8334         * tests/unictype/test-categ_Pe.c: Regenerated.
8335         * tests/unictype/test-categ_Pf.c: Regenerated.
8336         * tests/unictype/test-categ_Pi.c: Regenerated.
8337         * tests/unictype/test-categ_Po.c: Regenerated.
8338         * tests/unictype/test-categ_Ps.c: Regenerated.
8339         * tests/unictype/test-categ_S.c: Regenerated.
8340         * tests/unictype/test-categ_Sk.c: Regenerated.
8341         * tests/unictype/test-categ_Sm.c: Regenerated.
8342         * tests/unictype/test-categ_So.c: Regenerated.
8343         * tests/unictype/test-ctype_alnum.c: Regenerated.
8344         * tests/unictype/test-ctype_alpha.c: Regenerated.
8345         * tests/unictype/test-ctype_graph.c: Regenerated.
8346         * tests/unictype/test-ctype_lower.c: Regenerated.
8347         * tests/unictype/test-ctype_print.c: Regenerated.
8348         * tests/unictype/test-ctype_punct.c: Regenerated.
8349         * tests/unictype/test-ctype_upper.c: Regenerated.
8350         * tests/unictype/test-decdigit.h: Regenerated.
8351         * tests/unictype/test-digit.h: Regenerated.
8352         * tests/unictype/test-numeric.h: Regenerated.
8353         * tests/unictype/test-pr_alphabetic.c: Regenerated.
8354         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
8355         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
8356         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
8357         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
8358         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
8359         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
8360         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
8361         * tests/unictype/test-pr_combining.c: Regenerated.
8362         * tests/unictype/test-pr_dash.c: Regenerated.
8363         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
8364         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
8365         * tests/unictype/test-pr_deprecated.c: Regenerated.
8366         * tests/unictype/test-pr_diacritic.c: Regenerated.
8367         * tests/unictype/test-pr_extender.c: Regenerated.
8368         * tests/unictype/test-pr_format_control.c: Regenerated.
8369         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
8370         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
8371         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
8372         * tests/unictype/test-pr_id_continue.c: Regenerated.
8373         * tests/unictype/test-pr_id_start.c: Regenerated.
8374         * tests/unictype/test-pr_ideographic.c: Regenerated.
8375         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
8376         * tests/unictype/test-pr_lowercase.c: Regenerated.
8377         * tests/unictype/test-pr_math.c: Regenerated.
8378         * tests/unictype/test-pr_numeric.c: Regenerated.
8379         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
8380         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
8381         Regenerated.
8382         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
8383         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
8384         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
8385         * tests/unictype/test-pr_other_math.c: Regenerated.
8386         * tests/unictype/test-pr_punctuation.c: Regenerated.
8387         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
8388         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
8389         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
8390         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
8391         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
8392         * tests/unictype/test-pr_uppercase.c: Regenerated.
8393         * tests/unictype/test-pr_xid_continue.c: Regenerated.
8394         * tests/unictype/test-pr_xid_start.c: Regenerated.
8395         * tests/unictype/test-pr_zero_width.c: Regenerated.
8396
8397         Update to Unicode 5.1.0.
8398         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
8399         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
8400         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
8401         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
8402         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
8403         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
8404         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
8405         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
8406         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
8407         (nonspacing_table_ind): Update.
8408         * tests/uniwidth/test-uc_width2.sh: Update expected result.
8409
8410         Update to Unicode 5.1.0.
8411         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
8412         code transform.
8413         * lib/uniname/uniname.c (unicode_character_name,
8414         unicode_name_character): Add the range 0x1Fxxx to the code transform.
8415         * lib/uniname/uninames.h: Regenerated.
8416         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
8417
8418 2009-02-07  Bruno Haible  <bruno@clisp.org>
8419
8420         Merge gen-ctype and gen-lbrk into a single program.
8421         * lib/gen-uni-tables.c: New file, incorporating
8422         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
8423         Add directory prefixes to the names of the generated files.
8424         * lib/unictype/gen-ctype.c: Remove file.
8425         * lib/unilbrk/gen-lbrk.c: Remove file.
8426         * modules/gen-uni-tables: New file.
8427         * modules/unictype/gen-ctype: Remove file.
8428         * modules/unilbrk/gen-lbrk: Remove file.
8429
8430 2009-02-07  Bruno Haible  <bruno@clisp.org>
8431
8432         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
8433
8434         New module 'unistr/u32-strcoll'.
8435         * modules/unistr/u32-strcoll: New file.
8436         * lib/unistr/u32-strcoll.c: New file.
8437
8438         New module 'unistr/u16-strcoll'.
8439         * modules/unistr/u16-strcoll: New file.
8440         * lib/unistr/u16-strcoll.c: New file.
8441
8442         New module 'unistr/u8-strcoll'.
8443         * modules/unistr/u8-strcoll: New file.
8444         * lib/unistr/u8-strcoll.c: New file.
8445         * lib/unistr/u-strcoll.h: New file.
8446
8447 2009-02-07  Bruno Haible  <bruno@clisp.org>
8448
8449         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
8450         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
8451         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
8452         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
8453         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
8454         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
8455
8456 2009-02-07  Bruno Haible  <bruno@clisp.org>
8457
8458         Make 64-bit clean.
8459         * lib/unictype/gen-ctype.c (output_predicate, output_category,
8460         output_combclass, output_bidi_category, output_decimal_digit,
8461         output_digit, output_numeric, output_mirror, output_scripts,
8462         output_ident_category): Use proper width specifier in format strings.
8463
8464 2009-02-07  Bruno Haible  <bruno@clisp.org>
8465
8466         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
8467         failure behaviour.
8468
8469 2009-02-07  Jim Meyering  <meyering@redhat.com>
8470
8471         regex: avoid compilation failure with upcoming gcc-4.4
8472         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
8473         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
8474         "... error: integer overflow in preprocessor expression".
8475
8476 2009-02-05  Ben Pfaff  <blp@gnu.org>
8477
8478         Fix link errors on Windows when close module is used.
8479         * modules/close: Add $(LIB_CLOSE) to Link section.
8480         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
8481         $(LIB_CLOSE) on Windows.
8482
8483 2009-02-05  Jim Meyering  <meyering@redhat.com>
8484
8485         still avoid unused-parameter warnings, but do it cleanly
8486         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
8487         (get_fs_usage): Cast to void instead.
8488         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
8489         (dev_from_mount_options, read_file_system_list): Cast to void.
8490         Prompted by Bruno Haible.
8491
8492 2009-02-04  Jim Meyering  <meyering@redhat.com>
8493
8494         fsusage.c: correct copyright year
8495         * lib/fsusage.c: Reflect year in which the change is pushed into
8496
8497         avoid misc. warnings
8498         * lib/fsusage.c (UNUSED_PARAM): Define.
8499         (get_fs_usage): Mark parameter "disk" as unused.
8500         * lib/getugroups.c (getgrent): Use "void" in prototype.
8501         * lib/mountlist.c: Mark unused parameters.
8502         (read_file_system_list): Declare a local with "const".
8503         * lib/nanosleep.c (getnow): Declare static.
8504         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
8505
8506         dirfd: set errno upon failure
8507         * lib/dirfd.c: Include <errno.h>.
8508         Set errno to ENOTSUP when returning -1.
8509         * modules/dirfd (Depends-on): Add errno.
8510         Suggested by John Kodis <kodis@comcast.net>.
8511
8512 2009-02-01  Bruno Haible  <bruno@clisp.org>
8513
8514         Don't assume sizeof (long) >= sizeof (void *).
8515         * lib/memcmp.c: Include stdint.h.
8516         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
8517         srcp2 to 'const byte *'.
8518         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
8519         types to uintptr_t.
8520         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
8521         * modules/memcmp (Depends-on): Add stdint.
8522         Reported by Ozkan Sezer <sezeroz@gmail.com>.
8523
8524 2009-01-30  Eric Blake  <ebb9@byu.net>
8525
8526         fix more require-before-expand issues
8527         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
8528         expand, AC_PROG_AWK.
8529         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
8530
8531 2009-01-28  Eric Blake  <ebb9@byu.net>
8532
8533         version-etc: use consistent URL formatting
8534         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
8535         Improve formatting.  Use fputs for string without %.
8536
8537 2009-01-28  Jim Meyering  <meyering@redhat.com>
8538
8539         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
8540         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
8541         "underquoted definition of NAME" from autoconf-2.59.
8542
8543 2009-01-28  Bruno Haible  <bruno@clisp.org>
8544
8545         * doc/gnulib.texi: Add "Obsolete modules" to index.
8546
8547 2009-01-28  Jim Meyering  <meyering@redhat.com>
8548
8549         useless-if-before-free: recognize more variants
8550         * build-aux/useless-if-before-free: Also recognize e.g.,
8551         if (NULL != p) free (p);
8552
8553 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
8554
8555         test-getaddrinfo: skip (don't fail) this test when there's no network
8556         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
8557         on the presumption that it means you lack network access.
8558
8559 2009-01-26  Jim Meyering  <meyering@redhat.com>
8560
8561         fflush: avoid warnings on modern systems
8562         * lib/fflush.c (rpl_fflush): Move declarations of locals,
8563         pos and result, into scopes where they're used.
8564
8565 2009-01-26  Eric Blake  <ebb9@byu.net>
8566
8567         Silence warning reintroduced by recent extensions patch.
8568         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
8569         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
8570         autoconf.
8571
8572         Backport improved autoconf semantics of AC_DEFUN_ONCE.
8573         * m4/00gnulib.m4: New file.
8574         * gnulib-tool (func_get_filelist): Always use it.
8575         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
8576         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
8577
8578 2009-01-25  Bruno Haible  <bruno@clisp.org>
8579
8580         Make test-quotearg work on MacOS X and AIX.
8581         * tests/test-quotearg.sh: New file.
8582         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
8583         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
8584         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
8585         include <libintl.h>.
8586         (fake_locale): Remove variable.
8587         (gettext, dgettext, dcgettext): Remove functions.
8588         (main): Instead of setting a fake locale, set a real locale. Call
8589         textdomain and bindtextdomain.
8590         * modules/quotearg-tests (Files): Add the new files.
8591         (Depends-on): Add gettext, setenv, unsetenv.
8592         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
8593         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
8594         Augment TESTS_ENVIRONMENT.
8595
8596 2009-01-25  Bruno Haible  <bruno@clisp.org>
8597
8598         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
8599         fr_FR.ISO8859-1 locale on MacOS X.
8600         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
8601         ja_JP.eucJP locale on MacOS X.
8602         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
8603         zh_CN.GB18030 locale on MacOS X.
8604
8605 2009-01-25  Bruno Haible  <bruno@clisp.org>
8606
8607         Avoid link errors on MacOS X 10.3.
8608         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
8609         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
8610
8611 2009-01-25  Bruno Haible  <bruno@clisp.org>
8612
8613         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
8614         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
8615         * modules/pipe (Files): Remove m4/posix_spawn.m4.
8616         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
8617         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
8618         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
8619         posix_spawnattr_init, posix_spawnattr_setsigmask,
8620         posix_spawnattr_setflags, posix_spawnattr_destroy.
8621
8622         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
8623         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
8624         * modules/execute (Files): Remove m4/posix_spawn.m4.
8625         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
8626         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
8627         posix_spawnattr_init, posix_spawnattr_setsigmask,
8628         posix_spawnattr_setflags, posix_spawnattr_destroy.
8629
8630 2009-01-25  Bruno Haible  <bruno@clisp.org>
8631
8632         * lib/glthread/threadlib.c: Include <stdlib.h>.
8633
8634 2009-01-25  Bruno Haible  <bruno@clisp.org>
8635
8636         * lib/glthread/threadlib.c (dummy): New declaration.
8637
8638 2009-01-25  Bruno Haible  <bruno@clisp.org>
8639
8640         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
8641         multibyte characters also for the GB18030 encoding. Don't crash when
8642         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
8643
8644 2009-01-25  Bruno Haible  <bruno@clisp.org>
8645
8646         Avoid redefining 'struct random_data' on OSF/1 5.1.
8647         * lib/stdlib.in.h: Include <random.h> if it exists.
8648         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
8649         HAVE_RANDOM_H. Include <random.h> when testing whether
8650         'struct random_data' exists.
8651         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
8652
8653 2009-01-25  Bruno Haible  <bruno@clisp.org>
8654
8655         Don't install charset.alias on MacOS X >= 10.3.
8656         * lib/localcharset.c (DARWIN7): New macro.
8657         (get_charset_aliases): Hardcode the result for Darwin7.
8658         * modules/localcharset (install-exec-local): Don't install
8659         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
8660
8661 2009-01-25  Bruno Haible  <bruno@clisp.org>
8662
8663         Don't install charset.alias on mingw and Cygwin.
8664         * modules/localcharset (install-exec-local): Don't install
8665         charset.alias on mingw and Cygwin, if the file does not yet exist.
8666         The result for these platforms is hardcoded in localcharset.c.
8667
8668 2009-01-25  Bruno Haible  <bruno@clisp.org>
8669
8670         Make it possible again to use AC_GNU_SOURCE together with gnulib.
8671         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
8672         before requiring AC_USE_SYSTEM_EXTENSIONS.
8673
8674 2009-01-25  Jim Meyering  <meyering@redhat.com>
8675
8676         c-strtod: avoid warnings
8677         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
8678         "assignment discards qualifiers from pointer target type" warnings.
8679
8680 2009-01-24  Bruno Haible  <bruno@clisp.org>
8681
8682         Add support for non-UTF-8 locales on MacOS X.
8683         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
8684         canonical encodings. For Darwin 7 and newer, don't map traditional
8685         encodings to UTF-8.
8686         Reported by Vincent Lefevre <vincent@vinc17.org>
8687         at <http://savannah.gnu.org/bugs/?25235>.
8688
8689 2009-01-24  Bruno Haible  <bruno@clisp.org>
8690
8691         * doc/gnulib.texi (Obsolete modules): New section.
8692         Reported by Mike Frysinger <vapier@gentoo.org>.
8693
8694 2009-01-24  Bruno Haible  <bruno@clisp.org>
8695
8696         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
8697         (%.dvi): New rule.
8698
8699 2009-01-24  Bruno Haible  <bruno@clisp.org>
8700
8701         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
8702         Reported by Eric Blake.
8703
8704 2009-01-24  Bruno Haible  <bruno@clisp.org>
8705
8706         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
8707         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
8708         Reported by Gary V. Vaughan <gary@gnu.org>.
8709
8710 2009-01-24  Bruno Haible  <bruno@clisp.org>
8711
8712         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
8713
8714 2009-01-23  Bruno Haible  <bruno@clisp.org>
8715
8716         Make c-strtod, c-strtold usable in libraries.
8717         * lib/c-strtod.c: Include string.h instead of xalloc.h.
8718         (C_STRTOD): Call strdup instead of xstrdup.
8719         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
8720         * modules/c-strtold (Depends-on): Likewise.
8721         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
8722         * NEWS: Mention the change.
8723         Reported by Michael Gold <mgold@ncf.ca>.
8724
8725 2009-01-23  Jim Meyering  <meyering@redhat.com>
8726
8727         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
8728         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
8729         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
8730
8731 2009-01-23  Simon Josefsson  <simon@josefsson.org>
8732
8733         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
8734         GNU CoreUtils.
8735         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
8736         * modules/version-etc (Description): Update.
8737
8738 2009-01-22  Bruno Haible  <bruno@clisp.org>
8739
8740         Cache the C locale object.
8741         * lib/c-strtod.c (c_locale_cache): New variable.
8742         (c_locale): New function.
8743         (C_STRTOD): Use it, and don't call freelocale.
8744         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
8745         Suggested by Paolo Bonzini.
8746
8747 2009-01-21  Bruno Haible  <bruno@clisp.org>
8748
8749         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
8750         conditions other than overflow.
8751
8752 2009-01-21  Bruno Haible  <bruno@clisp.org>
8753
8754         * lib/c-strtod.c: Include errno.h.
8755         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
8756         value from STRTOD_L and STRTOD.
8757
8758 2009-01-21  Bruno Haible  <bruno@clisp.org>
8759         and Jim Meyering  <meyering@redhat.com>
8760
8761         nanosleep: skip configure test (fail it) for apple universal builds
8762         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
8763         universal builds, assume that nanosleep does not work.
8764         * modules/nanosleep (Depends-on): Add multiarch.
8765
8766         mktime: skip configure test (fail it) for apple universal builds
8767         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
8768         universal builds, assume that mktime does not work.
8769         * modules/mktime (Depends-on): Add multiarch.
8770
8771 2009-01-21  Eric Blake  <ebb9@byu.net>
8772
8773         multiarch: avoid expand-before-require warning
8774         * modules/multiarch (configure.ac): Require, rather than expand,
8775         gl_MULTIARCH.
8776         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
8777         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
8778         enforce that all clients require it.  Partial reversion of
8779         2008-12-29 patch.
8780
8781         error: avoid expand-before-require warning
8782         * modules/errno (configure.ac): Require, rather than expand,
8783         gl_HEADER_ERRNO_H.
8784         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
8785         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
8786         enforce that all clients require it.
8787
8788         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
8789         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
8790         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
8791         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
8792
8793 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
8794
8795         Revert:
8796         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
8797
8798         regex: do not depend on obsolete modules.
8799         * modules/regex: Remove memcmp and memmove.
8800
8801 2009-01-20  Bruno Haible  <bruno@clisp.org>
8802
8803         Make the 'link' module link on Windows NT 4.
8804         * lib/link.c (_WIN32_WINNT): Don't define.
8805         (CreateHardLinkFuncType): New type.
8806         (CreateHardLinkFunc, initialized): New variables.
8807         (initialize): New function.
8808         (link): Invoke CreateHardLink indirectly through the function pointer.
8809
8810 2009-01-20  Bruno Haible  <bruno@clisp.org>
8811
8812         Fix compilation failure on mingw.
8813         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
8814
8815 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
8816
8817         * doc/c-strtod.texi: Mention a couple of restrictions.
8818
8819 2009-01-20  Jim Meyering  <meyering@redhat.com>
8820
8821         gettimeofday: move more declarations out of functions
8822         * lib/gettimeofday.c: Move extern declarations of tzset and
8823         gmtime out of containing functions.  Prompted by Bruno Haible.
8824
8825 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
8826
8827         regex: do not depend on obsolete modules.
8828         * modules/regex: Remove memcmp and memmove.
8829
8830 2009-01-19  Bruno Haible  <bruno@clisp.org>
8831
8832         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
8833         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
8834         gl_BIGENDIAN, not AC_C_BIGENDIAN.
8835         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
8836         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
8837
8838 2009-01-19  Bruno Haible  <bruno@clisp.org>
8839
8840         * tests/test-link.c: Include <errno.h>.
8841         (main): Exit with code 77 when a hard link cannot be created due to
8842         the file system.
8843         * tests/test-link.sh: Skip test when a hard link cannot be created due
8844         to the file system.
8845         Suggested by Eric Blake.
8846
8847 2009-01-19  Martin Lambers  <marlam@marlam.de>
8848
8849         * modules/link-tests: New file.
8850         * tests/test-link.sh: New file.
8851         * tests/test-link.c: New file.
8852
8853 2009-01-19  Eric Blake  <ebb9@byu.net>
8854
8855         doc: mention another function added in cygwin 1.7.0
8856         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
8857         Another new function in cygwin 1.7.
8858
8859 2009-01-19  Bruno Haible  <bruno@clisp.org>
8860
8861         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
8862         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
8863         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
8864         gl_BIGENDIAN, not AC_C_BIGENDIAN.
8865         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
8866         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
8867         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
8868         * m4/md4.m4 (gl_MD4): Likewise.
8869         * m4/md5.m4 (gl_MD5): Likewise.
8870         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
8871         * m4/sha1.m4 (gl_SHA1): Likewise.
8872         * m4/sha256.m4 (gl_SHA256): Likewise.
8873         * m4/sha512.m4 (gl_SHA512): Likewise.
8874
8875 2009-01-19  Bruno Haible  <bruno@clisp.org>
8876
8877         * modules/uniname/uniname-tests (Depends-on): Add progname.
8878         * tests/uniname/test-uninames.c: Include progname.h.
8879         (main): Call set_program_name.
8880
8881         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
8882         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
8883         (main): Call set_program_name.
8884
8885         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
8886         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
8887         (main): Call set_program_name.
8888
8889         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
8890         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
8891         (main): Call set_program_name.
8892
8893         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
8894         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
8895         (main): Call set_program_name.
8896
8897         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
8898         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
8899         (main): Call set_program_name.
8900
8901         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
8902         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
8903         (main): Call set_program_name.
8904
8905         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
8906         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
8907         (main): Call set_program_name.
8908
8909         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
8910         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
8911         (main): Call set_program_name.
8912
8913 2009-01-19  Eric Blake  <ebb9@byu.net>
8914
8915         test-unistd: test previous patch
8916         * tests/test-unistd.c: Test *_FILENO macros.
8917
8918         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
8919         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
8920         Guarantee a definition.
8921         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
8922         * modules/unistd-safer (Depends-on): Add dependency on unistd.
8923         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
8924         * lib/dup-safer.c (STDERR_FILENO): Likewise.
8925         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
8926         Likewise.
8927         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
8928         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
8929         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
8930         Likewise.
8931         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
8932         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
8933         (STDERR_FILENO): Likewise.
8934         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
8935         (STDERR_FILENO): Likewise.
8936         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
8937         (STDERR_FILENO): Likewise.
8938         Reported by Elbert Pol.
8939
8940 2009-01-19  Eric Blake  <ebb9@byu.net>
8941
8942         doc: mention more functions added in cygwin 1.7.0
8943         * doc/posix-functions/abort.texi (abort): Update wording related
8944         to cygwin.
8945         * doc/posix-functions/daylight.texi (daylight): Likewise.
8946         * doc/posix-functions/optarg.texi (optarg): Likewise.
8947         * doc/posix-functions/optarg.texi (opterr): Likewise.
8948         * doc/posix-functions/optarg.texi (optind): Likewise.
8949         * doc/posix-functions/optarg.texi (optopt): Likewise.
8950         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
8951         worked in 1.5.x, and was withdrawn in 1.7.
8952         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
8953         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
8954         cygwin versions.
8955         * doc/posix-functions/perror.texi (perror): Likewise.
8956         * doc/posix-functions/printf.texi (printf): Likewise.
8957         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
8958         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
8959         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
8960         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
8961         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
8962         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
8963         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
8964         Likewise.
8965         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
8966         Likewise.
8967         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
8968         this function.
8969         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
8970         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
8971         Likewise.
8972         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
8973         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
8974         * doc/posix-functions/confstr.texi (confstr): Likewise.
8975         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
8976         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
8977         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
8978         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
8979         * doc/posix-functions/fputws.texi (fputws): Likewise.
8980         * doc/posix-functions/fwide.texi (fwide): Likewise.
8981         * doc/posix-functions/getwc.texi (getwc): Likewise.
8982         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
8983         * doc/posix-functions/putwc.texi (putwc): Likewise.
8984         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
8985         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
8986         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
8987         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
8988         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
8989         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
8990         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
8991         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
8992         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
8993         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
8994         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
8995
8996 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
8997
8998         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
8999         * lib/ioctl.c: Include <sys/ioctl.h>.
9000
9001 2009-01-19  Simon Josefsson  <simon@josefsson.org>
9002
9003         * modules/getdate-tests (Depends-on): Add progname.
9004         * tests/test-getdate.c: Use progname module, to avoid link errors
9005         on non-glibc systems.
9006
9007 2009-01-18  Simon Josefsson  <simon@josefsson.org>
9008
9009         * modules/filenamecat-tests (Depends-on): Add progname.
9010         * modules/fstrcmp-tests (Depends-on): Likewise.
9011
9012         * tests/test-filenamecat.c: Use progname module, to avoid link
9013         errors on non-glibc systems.
9014         * tests/test-fstrcmp.c: Likewise.
9015
9016 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
9017
9018         gettimeofday: avoid warning: nested extern declaration of 'localtime'
9019         * lib/gettimeofday.c: Move extern declaration out of function.
9020
9021 2009-01-18  Bruno Haible  <bruno@clisp.org>
9022
9023         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
9024         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
9025         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
9026
9027 2009-01-18  Bruno Haible  <bruno@clisp.org>
9028
9029         * lib/strftime.c (MEMPCPY): Remove unused macro.
9030         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
9031
9032 2009-01-18  Martin Lambers  <marlam@marlam.de>
9033
9034         New module 'link'.
9035         * lib/unistd.in.h (link): New declaration.
9036         * lib/link.c: New file.
9037         * m4/link.m4: New file.
9038         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
9039         HAVE_LINK.
9040         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
9041         * modules/link: New file.
9042         * doc/posix-functions/link.texi: Mention the new module.
9043
9044 2009-01-18  Bruno Haible  <bruno@clisp.org>
9045
9046         * tests/test-avltree_list.c (main): Call set_program_name.
9047         * tests/test-avltree_oset.c (main): Likewise.
9048         * tests/test-obstack-printf.c: Include progname.h.
9049         (main): Call set_program_name.
9050         * tests/test-quotearg.c: Include progname.h.
9051         (main): Call set_program_name.
9052         * tests/test-xmemdup0.c: Include progname.h.
9053         (main): Call set_program_name.
9054
9055 2009-01-18  Bruno Haible  <bruno@clisp.org>
9056
9057         New module 'alphasort'.
9058         * lib/dirent.in.h (alphasort): New declaration.
9059         * lib/alphasort.c: New file, from glibc with modifications.
9060         * m4/alphasort.m4: New file.
9061         * modules/alphasort: New file.
9062         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
9063         HAVE_ALPHASORT.
9064         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
9065         HAVE_ALPHASORT.
9066         * doc/posix-functions/alphasort.texi: Mention the new module and the
9067         portability problems.
9068
9069 2009-01-18  Bruno Haible  <bruno@clisp.org>
9070
9071         New module 'scandir'.
9072         * lib/dirent.in.h (scandir): New declaration.
9073         * lib/scandir.c: New file, from glibc with modifications.
9074         * m4/scandir.m4: New file.
9075         * modules/scandir: New file.
9076         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
9077         HAVE_SCANDIR.
9078         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
9079         HAVE_SCANDIR.
9080         * doc/posix-functions/scandir.texi: Mention the new module and the
9081         portability problems.
9082
9083 2009-01-17  Bruno Haible  <bruno@clisp.org>
9084
9085         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
9086         Update documentation.
9087         (func_remove_suffix): Escape all dots in the suffix. Update
9088         documentation.
9089         (func_filter_filelist): Update documentation.
9090         Reported by Ralf Wildenhues.
9091
9092 2009-01-17  Bruno Haible  <bruno@clisp.org>
9093
9094         * modules/dprintf-posix-tests: New file.
9095         * tests/test-dprintf-posix.sh: New file.
9096         * tests/test-dprintf-posix.c: New file.
9097
9098         New modules 'dprintf', 'dprintf-posix'.
9099         * lib/stdio.in.h (dprintf): New declaration.
9100         * lib/dprintf.c: New file.
9101         * m4/dprintf.m4: New file.
9102         * m4/dprintf-posix.m4: New file.
9103         * modules/dprintf: New file.
9104         * modules/dprintf-posix: New file.
9105         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
9106         HAVE_DPRINTF, REPLACE_DPRINTF.
9107         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
9108         HAVE_DPRINTF, REPLACE_DPRINTF.
9109         * doc/posix-functions/dprintf.texi: Mention the new modules.
9110
9111 2009-01-17  Bruno Haible  <bruno@clisp.org>
9112
9113         * modules/vdprintf-posix-tests: New file.
9114         * tests/test-vdprintf-posix.sh: New file.
9115         * tests/test-vdprintf-posix.c: New file.
9116
9117         New modules 'vdprintf', 'vdprintf-posix'.
9118         * lib/stdio.in.h (vdprintf): New declaration.
9119         * lib/vdprintf.c: New file.
9120         * m4/vdprintf.m4: New file.
9121         * m4/vdprintf-posix.m4: New file.
9122         * modules/vdprintf: New file.
9123         * modules/vdprintf-posix: New file.
9124         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
9125         HAVE_VDPRINTF, REPLACE_VDPRINTF.
9126         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
9127         HAVE_VDPRINTF, REPLACE_VDPRINTF.
9128         * doc/posix-functions/vdprintf.texi: Mention the new modules.
9129
9130 2009-01-17  Bruno Haible  <bruno@clisp.org>
9131
9132         Fix replacement of fopen on mingw.
9133         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
9134         mingw.
9135
9136 2009-01-17  Bruno Haible  <bruno@clisp.org>
9137
9138         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
9139         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
9140
9141 2009-01-17  Bruno Haible  <bruno@clisp.org>
9142
9143         Avoid test-fflush2.sh failure on mingw.
9144         * tests/test-fflush2.c: Include binary-io.h.
9145         (main): Put standard input into binary mode.
9146         * modules/fflush-tests (Depends-on): Add binary-io.
9147
9148 2009-01-17  Bruno Haible  <bruno@clisp.org>
9149
9150         * lib/wchar.in.h: In another particular situation, include only the
9151         system's <wchar.h> file.
9152         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
9153         Reported by Albert Chin-A-Young <china@thewrittenword.com>
9154         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
9155
9156 2009-01-17  Bruno Haible  <bruno@clisp.org>
9157
9158         Support for stripping executables in --enable-relocatable.
9159         * build-aux/install-reloc: Expect one more argument, or an environment
9160         variable RELOC_STRIP_PROG. If set, strip the destination program and
9161         its wrapper.
9162         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
9163         RELOC_STRIP_PROG.
9164         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
9165         to set RELOCATABLE_STRIP.
9166         * NEWS: Mention the new Makefile requirement.
9167
9168 2009-01-17  Bruno Haible  <bruno@clisp.org>
9169
9170         * build-aux/install-reloc: Remove debugging information left over by
9171         C compiler on MacOS X.
9172
9173 2009-01-17  Bruno Haible  <bruno@clisp.org>
9174
9175         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
9176         * lib/progreloc.c (find_executable): Fix type of pointer passed to
9177         _NSGetExecutablePath.
9178
9179 2009-01-16  Jim Meyering  <meyering@redhat.com>
9180
9181         strerror: avoid warnings about discarding "const"
9182         * lib/strerror.c (rpl_strerror): Instead of returning a const
9183         string from each and every "case", use a variable, and add a single
9184         cast after the switch.
9185
9186 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
9187
9188         * lib/arpa_inet.in.h: Add extern "C" block for C++.
9189
9190 2009-01-16  Bruno Haible  <bruno@clisp.org>
9191
9192         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
9193         array initializer syntax that also works in C++ mode.
9194         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9195
9196 2009-01-16  Jim Meyering  <meyering@redhat.com>
9197
9198         poll: suppress a warning
9199         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
9200         to ignore "...unsigned expression < 0 is always false" warnings.
9201
9202 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
9203
9204         poll: remove declarations of unused variables
9205         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
9206         sockbuf and optlen.
9207
9208 2009-01-15  Bruno Haible  <bruno@clisp.org>
9209
9210         Make fflush-after-ungetc POSIX compliant on BSD systems.
9211         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
9212         (clear_ungetc_buffer): Implement also for other systems.
9213         (rpl_fflush): On glibc systems, invoke
9214         clear_ungetc_buffer_preserving_position. Otherwise, invoke
9215         clear_ungetc_buffer after fetching the stream's position, not before.
9216
9217 2009-01-15  Bruno Haible  <bruno@clisp.org>
9218
9219         Make fflush-after-ungetc POSIX compliant on glibc systems.
9220         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
9221         after ungetc.
9222         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
9223         (rpl_fflush): On glibc systems, simply call the system's fflush
9224         function after clearing the ungetc buffer.
9225         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
9226         Instead, lseek only to the end of file, then use the system's fseeko
9227         for the rest. On glibc systems, reset the EOF indicator bit.
9228
9229 2009-01-15  Jim Meyering  <meyering@redhat.com>
9230
9231         openmp.m4: revert quote-adding change, for portability to older autoconf
9232         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
9233         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
9234         Simon Josefsson noticed the problem when using autoconf-2.61.
9235
9236 2009-01-15  Bruno Haible  <bruno@clisp.org>
9237
9238         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
9239         * tests/test-fflush2.c (ASSERT): Always fail.
9240         (main): Add two tests for fflush() after ungetc(), taking into account
9241         the Austin Group's clarification.
9242         Suggested by Eric Blake.
9243
9244 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
9245
9246         mktime.m4: remove K&R-style function prototypes
9247         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
9248         for the Sun C++ compiler.
9249
9250 2009-01-14  Bruno Haible  <bruno@clisp.org>
9251
9252         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
9253         while including <wchar.h>.
9254         * lib/wchar.in.h: In two particular situations on HP-UX, include only
9255         the system's <wchar.h> file.
9256         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9257
9258 2009-01-14  Bruno Haible  <bruno@clisp.org>
9259
9260         * m4/csharp.m4: Don't mention gettext on the serial number line.
9261         * m4/csharpexec.m4: Likewise.
9262         * m4/eaccess.m4: Likewise.
9263         * m4/javaexec.m4: Likewise.
9264         * m4/sig_atomic_t.m4: Likewise.
9265         * m4/tmpdir.m4: Likewise.
9266         * m4/intldir.m4: Bump gettext version.
9267         * m4/lib-ld.m4: Likewise.
9268
9269 2009-01-14  Bruno Haible  <bruno@clisp.org>
9270
9271         * lib/progname.c (set_program_name): Add more comments.
9272         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
9273
9274 2009-01-14  Simon Josefsson  <simon@josefsson.org>
9275
9276         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
9277         were sys/stat.h does not define it.
9278
9279 2009-01-14  Jim Meyering  <meyering@redhat.com>
9280
9281         many *.m4 files: improve m4 quoting
9282         99% of this change was performed by running the following commands:
9283         git ls-files | grep '\.m4$' | xargs perl -pi \
9284           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
9285           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
9286           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
9287           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
9288         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
9289         The remainder were to add Copyright dates, increment serial numbers,
9290         undo some changes in comments, exclude m4/intl.m4, and add quotes
9291         around the "1" in ",1" where the unusual spacing prohibited the
9292         above regexps from doing the job.  For more details, see
9293         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
9294         * m4/acl.m4: Modified.
9295         * m4/afs.m4: Likewise.
9296         * m4/alloca.m4: Likewise.
9297         * m4/argp.m4: Likewise.
9298         * m4/argz.m4: Likewise.
9299         * m4/atexit.m4: Likewise.
9300         * m4/bison-i18n.m4: Likewise.
9301         * m4/bison.m4: Likewise.
9302         * m4/byteswap.m4: Likewise.
9303         * m4/c-stack.m4: Likewise.
9304         * m4/c-strtod.m4: Likewise.
9305         * m4/calloc.m4: Likewise.
9306         * m4/canonicalize-lgpl.m4: Likewise.
9307         * m4/chown.m4: Likewise.
9308         * m4/clock_time.m4: Likewise.
9309         * m4/codeset.m4: Likewise.
9310         * m4/copy-file.m4: Likewise.
9311         * m4/csharp.m4: Likewise.
9312         * m4/csharpcomp.m4: Likewise.
9313         * m4/csharpexec.m4: Likewise.
9314         * m4/d-ino.m4: Likewise.
9315         * m4/d-type.m4: Likewise.
9316         * m4/dirfd.m4: Likewise.
9317         * m4/double-slash-root.m4: Likewise.
9318         * m4/eaccess.m4: Likewise.
9319         * m4/eealloc.m4: Likewise.
9320         * m4/environ.m4: Likewise.
9321         * m4/errno_h.m4: Likewise.
9322         * m4/euidaccess.m4: Likewise.
9323         * m4/execute.m4: Likewise.
9324         * m4/fatal-signal.m4: Likewise.
9325         * m4/fchdir.m4: Likewise.
9326         * m4/fcntl_h.m4: Likewise.
9327         * m4/fileblocks.m4: Likewise.
9328         * m4/filenamecat.m4: Likewise.
9329         * m4/findprog.m4: Likewise.
9330         * m4/flexmember.m4: Likewise.
9331         * m4/fnmatch.m4: Likewise.
9332         * m4/fopen.m4: Likewise.
9333         * m4/fpending.m4: Likewise.
9334         * m4/fprintf-posix.m4: Likewise.
9335         * m4/free.m4: Likewise.
9336         * m4/frexp.m4: Likewise.
9337         * m4/frexpl.m4: Likewise.
9338         * m4/fsusage.m4: Likewise.
9339         * m4/ftruncate.m4: Likewise.
9340         * m4/gc-camellia.m4: Likewise.
9341         * m4/gc-random.m4: Likewise.
9342         * m4/gc.m4: Likewise.
9343         * m4/getaddrinfo.m4: Likewise.
9344         * m4/getcwd-abort-bug.m4: Likewise.
9345         * m4/getcwd-path-max.m4: Likewise.
9346         * m4/getdate.m4: Likewise.
9347         * m4/getdomainname.m4: Likewise.
9348         * m4/getgroups.m4: Likewise.
9349         * m4/gethostname.m4: Likewise.
9350         * m4/gethrxtime.m4: Likewise.
9351         * m4/getline.m4: Likewise.
9352         * m4/getloadavg.m4: Likewise.
9353         * m4/getndelim2.m4: Likewise.
9354         * m4/getpass.m4: Likewise.
9355         * m4/gettext.m4: Likewise.
9356         * m4/gettime.m4: Likewise.
9357         * m4/gettimeofday.m4: Likewise.
9358         * m4/gnulib-common.m4: Likewise.
9359         * m4/group-member.m4: Likewise.
9360         * m4/host-os.m4: Likewise.
9361         * m4/iconv.m4: Likewise.
9362         * m4/iconv_open.m4: Likewise.
9363         * m4/inet_ntop.m4: Likewise.
9364         * m4/inet_pton.m4: Likewise.
9365         * m4/inline.m4: Likewise.
9366         * m4/intldir.m4: Likewise.
9367         * m4/intlmacosx.m4: Likewise.
9368         * m4/intmax.m4: Likewise.
9369         * m4/intmax_t.m4: Likewise.
9370         * m4/inttypes.m4: Likewise.
9371         * m4/inttypes_h.m4: Likewise.
9372         * m4/inttypes-pri.m4: Likewise.
9373         * m4/isapipe.m4: Likewise.
9374         * m4/isnand.m4: Likewise.
9375         * m4/isnanf.m4: Likewise.
9376         * m4/isnanl.m4: Likewise.
9377         * m4/javacomp.m4: Likewise.
9378         * m4/javaexec.m4: Likewise.
9379         * m4/jm-winsz1.m4: Likewise.
9380         * m4/jm-winsz2.m4: Likewise.
9381         * m4/lchown.m4: Likewise.
9382         * m4/lcmessage.m4: Likewise.
9383         * m4/ldexpl.m4: Likewise.
9384         * m4/lib-ld.m4: Likewise.
9385         * m4/lib-link.m4: Likewise.
9386         * m4/libsigsegv.m4: Likewise.
9387         * m4/link-follow.m4: Likewise.
9388         * m4/localcharset.m4: Likewise.
9389         * m4/locale-fr.m4: Likewise.
9390         * m4/locale-ja.m4: Likewise.
9391         * m4/locale-tr.m4: Likewise.
9392         * m4/locale-zh.m4: Likewise.
9393         * m4/lock.m4: Likewise.
9394         * m4/longlong.m4: Likewise.
9395         * m4/ls-mntd-fs.m4: Likewise.
9396         * m4/lstat.m4: Likewise.
9397         * m4/malloc.m4: Likewise.
9398         * m4/mathl.m4: Likewise.
9399         * m4/mbrtowc.m4: Likewise.
9400         * m4/mbstate_t.m4: Likewise.
9401         * m4/mbswidth.m4: Likewise.
9402         * m4/memchr.m4: Likewise.
9403         * m4/memcmp.m4: Likewise.
9404         * m4/memcpy.m4: Likewise.
9405         * m4/memmem.m4: Likewise.
9406         * m4/memmove.m4: Likewise.
9407         * m4/mempcpy.m4: Likewise.
9408         * m4/memrchr.m4: Likewise.
9409         * m4/memset.m4: Likewise.
9410         * m4/minmax.m4: Likewise.
9411         * m4/mkdir-slash.m4: Likewise.
9412         * m4/mkdtemp.m4: Likewise.
9413         * m4/mktime.m4: Likewise.
9414         * m4/mmap-anon.m4: Likewise.
9415         * m4/mountlist.m4: Likewise.
9416         * m4/nanosleep.m4: Likewise.
9417         * m4/nls.m4: Likewise.
9418         * m4/nocrash.m4: Likewise.
9419         * m4/open.m4: Likewise.
9420         * m4/openat.m4: Likewise.
9421         * m4/openmp.m4: Likewise.
9422         * m4/pathmax.m4: Likewise.
9423         * m4/perl.m4: Likewise.
9424         * m4/physmem.m4: Likewise.
9425         * m4/pipe.m4: Likewise.
9426         * m4/po.m4: Likewise.
9427         * m4/poll.m4: Likewise.
9428         * m4/posixtm.m4: Likewise.
9429         * m4/posixver.m4: Likewise.
9430         * m4/printf-frexp.m4: Likewise.
9431         * m4/printf-frexpl.m4: Likewise.
9432         * m4/printf-posix.m4: Likewise.
9433         * m4/printf-posix-rpl.m4: Likewise.
9434         * m4/printf.m4: Likewise.
9435         * m4/progtest.m4: Likewise.
9436         * m4/putenv.m4: Likewise.
9437         * m4/readline.m4: Likewise.
9438         * m4/readlink.m4: Likewise.
9439         * m4/readutmp.m4: Likewise.
9440         * m4/realloc.m4: Likewise.
9441         * m4/regex.m4: Likewise.
9442         * m4/relocatable.m4: Likewise.
9443         * m4/relocatable-lib.m4: Likewise.
9444         * m4/rename-dest-slash.m4: Likewise.
9445         * m4/rename.m4: Likewise.
9446         * m4/rmdir-errno.m4: Likewise.
9447         * m4/rmdir.m4: Likewise.
9448         * m4/roundf.m4: Likewise.
9449         * m4/roundl.m4: Likewise.
9450         * m4/rpmatch.m4: Likewise.
9451         * m4/save-cwd.m4: Likewise.
9452         * m4/selinux-selinux-h.m4: Likewise.
9453         * m4/setenv.m4: Likewise.
9454         * m4/settime.m4: Likewise.
9455         * m4/sig2str.m4: Likewise.
9456         * m4/sig_atomic_t.m4: Likewise.
9457         * m4/signalblocking.m4: Likewise.
9458         * m4/signbit.m4: Likewise.
9459         * m4/sigpipe.m4: Likewise.
9460         * m4/sockets.m4: Likewise.
9461         * m4/sockpfaf.m4: Likewise.
9462         * m4/st_dm_mode.m4: Likewise.
9463         * m4/stat-time.m4: Likewise.
9464         * m4/stdbool.m4: Likewise.
9465         * m4/stdint.m4: Likewise.
9466         * m4/stdint_h.m4: Likewise.
9467         * m4/stpcpy.m4: Likewise.
9468         * m4/stpncpy.m4: Likewise.
9469         * m4/strcase.m4: Likewise.
9470         * m4/strchrnul.m4: Likewise.
9471         * m4/strcspn.m4: Likewise.
9472         * m4/strdup.m4: Likewise.
9473         * m4/strftime.m4: Likewise.
9474         * m4/strndup.m4: Likewise.
9475         * m4/strnlen.m4: Likewise.
9476         * m4/strpbrk.m4: Likewise.
9477         * m4/strptime.m4: Likewise.
9478         * m4/strsep.m4: Likewise.
9479         * m4/strtod.m4: Likewise.
9480         * m4/strtoimax.m4: Likewise.
9481         * m4/strtok_r.m4: Likewise.
9482         * m4/strtol.m4: Likewise.
9483         * m4/strtoll.m4: Likewise.
9484         * m4/strtoul.m4: Likewise.
9485         * m4/strtoull.m4: Likewise.
9486         * m4/strtoumax.m4: Likewise.
9487         * m4/strverscmp.m4: Likewise.
9488         * m4/threadlib.m4: Likewise.
9489         * m4/timegm.m4: Likewise.
9490         * m4/tm_gmtoff.m4: Likewise.
9491         * m4/tmpdir.m4: Likewise.
9492         * m4/tmpfile.m4: Likewise.
9493         * m4/tzset.m4: Likewise.
9494         * m4/uintmax_t.m4: Likewise.
9495         * m4/unlinkdir.m4: Likewise.
9496         * m4/unlocked-io.m4: Likewise.
9497         * m4/uptime.m4: Likewise.
9498         * m4/userspec.m4: Likewise.
9499         * m4/utimbuf.m4: Likewise.
9500         * m4/utime.m4: Likewise.
9501         * m4/utimes-null.m4: Likewise.
9502         * m4/utimes.m4: Likewise.
9503         * m4/vararrays.m4: Likewise.
9504         * m4/vasnprintf.m4: Likewise.
9505         * m4/vfprintf-posix.m4: Likewise.
9506         * m4/vprintf-posix.m4: Likewise.
9507         * m4/wait-process.m4: Likewise.
9508         * m4/wchar_t.m4: Likewise.
9509         * m4/wint_t.m4: Likewise.
9510         * m4/write-any-file.m4: Likewise.
9511         * m4/yield.m4: Likewise.
9512
9513 2009-01-13  Bruno Haible  <bruno@clisp.org>
9514
9515         Avoid test-copy-file.sh failures when ACL support insufficient.
9516         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
9517         TESTS_ENVIRONMENT.
9518         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
9519         Reported by Jim Meyering.
9520
9521 2009-01-13  Bruno Haible  <bruno@clisp.org>
9522
9523         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
9524         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
9525         * modules/unistdio/u8-printf-parse (Files): Likewise.
9526         * modules/unistdio/u32-printf-parse (Files): Likewise.
9527         * modules/unistdio/ulc-printf-parse (Files): Likewise.
9528
9529 2009-01-13  Simon Josefsson  <simon@josefsson.org>
9530
9531         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
9532         and m4/inttypes_h.m4 too.
9533
9534 2009-01-12  Eric Blake  <ebb9@byu.net>
9535
9536         tests: IRIX 6.2 cc can't compile -0.0 into .data
9537         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
9538         rather than at compile-time.
9539         * tests/test-floorl.c (minus_zero): Likewise.
9540         * tests/test-frexpl.c (minus_zero): Likewise.
9541         * tests/test-isnan.c (minus_zerol): Likewise.
9542         * tests/test-isnanl.h (minus_zero): Likewise.
9543         * tests/test-ldexpl.c (minus_zero): Likewise.
9544         * tests/test-roundl.c (minus_zero): Likewise.
9545         * tests/test-signbit.c (minus_zerol): Likewise.
9546         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
9547         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
9548         * tests/test-truncl.c (minus_zero): Likewise.
9549         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
9550         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
9551         Reported by Tom G. Christensen and Nelson H. F. Beebe.
9552
9553 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
9554
9555         regex: fix glibc bug 9697
9556         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
9557         handling.
9558
9559 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
9560
9561         regex: fix glibc bug 697
9562         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
9563         being NULL also if there are no backreferences.
9564
9565 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
9566
9567         regex: merge glibc changes
9568         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
9569         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
9570         re_string_skip_chars, re_string_reconstruct): Likewise.
9571         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
9572
9573 2009-01-07  Jim Meyering  <meyering@redhat.com>
9574
9575         poll: filter through cppi
9576         * lib/poll.c: Indent cpp directives to reflect nesting.
9577
9578 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
9579
9580         poll: don't return uninitialized
9581         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
9582
9583 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
9584
9585         avoid compile failure on AIX 6.1
9586         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
9587         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
9588
9589 2009-01-04  Jim Meyering  <meyering@redhat.com>
9590
9591         remove duplicate inclusion of <stdio.h>
9592         * tests/test-fprintf-posix.c: Likewise.
9593         * tests/test-printf-posix.c: Likewise.
9594         * tests/test-snprintf-posix.c: Likewise.
9595         * tests/test-sprintf-posix.c: Likewise.
9596         * tests/test-vasprintf-posix.c: Likewise.
9597         * tests/test-vfprintf-posix.c: Likewise.
9598         * tests/test-vprintf-posix.c: Likewise.
9599         * tests/test-vsnprintf-posix.c: Likewise.
9600         * tests/test-vsprintf-posix.c: Likewise.
9601
9602 2009-01-03  Jim Meyering  <meyering@redhat.com>
9603
9604         gnulib-tool: fix sed-based filtering
9605         * gnulib-tool (func_filter_filelist): Remove extra backslash
9606         in sed_fff_filter definition.
9607
9608 2009-01-02  Jim Meyering  <meyering@redhat.com>
9609
9610         strftime: avoid compilation failure on Solaris 2.6
9611         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
9612         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
9613         Don't #define mbrlen or mbsinit, since now they're guaranteed to
9614         be available.  Reported by Tom G. Christensen.  Details in
9615         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
9616
9617 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9618             Bruno Haible  <bruno@clisp.org>
9619
9620         Speed up gnulib-tool by doing more string processing through shell
9621         built-ins.
9622         * gnulib-tool (fast_func_append): New variable.
9623         (func_remove_prefix, func_remove_suffix): New functions.
9624         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
9625         (func_filter_filelist): New function.
9626         (func_get_dependencies): Use func_remove_suffix instead of sed.
9627         (func_get_automake_snippet): Use func_filter_filelist instead of a
9628         subshell and sed invocation.
9629
9630 2009-01-01  Bruno Haible  <bruno@clisp.org>
9631
9632         Fix a security bug.
9633         * gnulib-tool (func_import, import, update): Don't allow the characters
9634         '"', '$', '`', '\' in macro arguments that become part of commands that
9635         are evaluated.
9636
9637 2009-01-01  Bruno Haible  <bruno@clisp.org>
9638
9639         * gnulib-tool (func_reset_sigpipe): Add more comments.
9640
9641 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9642
9643         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
9644         func_emit_tests_Makefile_am, func_import): Abort loops early if we
9645         already know the answer.
9646
9647 2009-01-01  Jim Meyering  <meyering@redhat.com>
9648
9649         * lib/version-etc.c (version_etc_va): Update copyright year.
9650
9651 2008-12-30  Bruno Haible  <bruno@clisp.org>
9652
9653         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
9654         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
9655         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
9656
9657 2008-12-29  Eric Blake  <ebb9@byu.net>
9658
9659         multiarch: avoid autoconf AC_REQUIRE bug
9660         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
9661         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
9662         2.63 and older.
9663         Reported by Bruno Haible, and analyzed in
9664         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
9665
9666 2008-12-29  Bruno Haible  <bruno@clisp.org>
9667
9668         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
9669         files in subdirectories correctly.
9670         Reported by Ralf Wildenhues.
9671
9672 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9673
9674         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
9675         rather than 'join FILE -', for Solaris join.
9676
9677 2008-12-29  Bruno Haible  <bruno@clisp.org>
9678
9679         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
9680         quoting.
9681         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
9682         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
9683         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
9684         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
9685         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
9686         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
9687         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
9688         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
9689         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
9690         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
9691         * m4/nls.m4 (AM_NLS): Likewise.
9692         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
9693         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
9694         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
9695         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
9696         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
9697         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
9698         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
9699         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
9700         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
9701         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
9702         * m4/xsize.m4 (gl_XSIZE): Likewise.
9703         Suggested by Jim Meyering.
9704
9705 2008-11-17  Bruce Korb  <bkorb@gnu.org>
9706
9707         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
9708         * lib/parse-duration.c: use a switch instead of cascading if's.
9709
9710 2008-12-29  Eric Blake  <ebb9@byu.net>
9711
9712         wchar.h: supply WEOF on Irix 5.3
9713         * lib/wchar.in.h (wint_t): Also supply WEOF.
9714         * lib/wctype.in.h (wint_t): Likewise.
9715         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
9716         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
9717         Reported by Tom G. Christensen.
9718
9719 2008-12-26  Bruno Haible  <bruno@clisp.org>
9720
9721         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
9722         i486, i586, i686.
9723
9724 2008-12-26  Bruno Haible  <bruno@clisp.org>
9725
9726         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
9727
9728 2008-12-26  Bruno Haible  <bruno@clisp.org>
9729
9730         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
9731         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
9732         not __STDC_CONSTANT_MACROS.
9733         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
9734
9735 2008-12-25  Bruno Haible  <bruno@clisp.org>
9736
9737         Add support for universal builds to vasnprintf.
9738         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
9739         universal builds, guess no.
9740         * modules/vasnprintf-posix (Depends-on): Add multiarch.
9741         * modules/vasprintf-posix (Depends-on): Likewise.
9742         * modules/fprintf-posix (Depends-on): Likewise.
9743         * modules/vfprintf-posix (Depends-on): Likewise.
9744         * modules/snprintf-posix (Depends-on): Likewise.
9745         * modules/vsnprintf-posix (Depends-on): Likewise.
9746         * modules/sprintf-posix (Depends-on): Likewise.
9747         * modules/vsprintf-posix (Depends-on): Likewise.
9748         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
9749         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
9750         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
9751         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
9752         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
9753         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
9754         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
9755
9756         Add support for universal builds to <inttypes.h>.
9757         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
9758         _SCNu64_PREFIX): In Apple
9759         universal builds, define directly, using _LP64.
9760         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
9761         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
9762         * modules/inttypes (Depends-on): Add multiarch.
9763         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
9764
9765         Add support for universal builds to <stdint.h>.
9766         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
9767         universal builds, define directly, using _LP64.
9768         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
9769         Apple universal builds, don't test for the size and suffix of ptrdiff_t
9770         and size_t.
9771         * modules/stdint (Depends-on): Add multiarch.
9772         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
9773
9774         New module 'multiarch'.
9775         * modules/multiarch: New file.
9776         * m4/multiarch.m4: New file.
9777
9778 2008-12-25  Bruno Haible  <bruno@clisp.org>
9779
9780         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
9781
9782 2008-12-25  Bruno Haible  <bruno@clisp.org>
9783
9784         * modules/btowc (License): Relicense under LGPLv2+.
9785         * modules/mbsinit (License): Likewise.
9786         * modules/mbrtowc (License): Likewise.
9787         * modules/wcrtomb (License): Likewise.
9788         * modules/streq (License): Likewise.
9789         Reported by David Lutterkort <lutter@redhat.com>.
9790
9791 2008-12-23  Bruno Haible  <bruno@clisp.org>
9792
9793         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
9794
9795 2008-12-23  Bruno Haible  <bruno@clisp.org>
9796
9797         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
9798         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
9799         GETADDRINFO_LIB, not in LIBS.
9800         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
9801         * modules/canon-host (Link): Likewise.
9802         * NEWS: Mention the change.
9803         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
9804         GETADDRINFO_LIB.
9805
9806 2008-12-22  Bruno Haible  <bruno@clisp.org>
9807
9808         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
9809         * doc/posix-functions/iswalpha_l.texi: Likewise.
9810         * doc/posix-functions/iswblank_l.texi: Likewise.
9811         * doc/posix-functions/iswcntrl_l.texi: Likewise.
9812         * doc/posix-functions/iswctype_l.texi: Likewise.
9813         * doc/posix-functions/iswdigit_l.texi: Likewise.
9814         * doc/posix-functions/iswgraph_l.texi: Likewise.
9815         * doc/posix-functions/iswlower_l.texi: Likewise.
9816         * doc/posix-functions/iswprint_l.texi: Likewise.
9817         * doc/posix-functions/iswpunct_l.texi: Likewise.
9818         * doc/posix-functions/iswspace_l.texi: Likewise.
9819         * doc/posix-functions/iswupper_l.texi: Likewise.
9820         * doc/posix-functions/iswxdigit_l.texi: Likewise.
9821         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
9822         * doc/posix-functions/open_wmemstream.texi: Likewise.
9823         * doc/posix-functions/swscanf.texi: Likewise.
9824         * doc/posix-functions/towctrans_l.texi: Likewise.
9825         * doc/posix-functions/towlower.texi: Likewise.
9826         * doc/posix-functions/towlower_l.texi: Likewise.
9827         * doc/posix-functions/towupper.texi: Likewise.
9828         * doc/posix-functions/towupper_l.texi: Likewise.
9829         * doc/posix-functions/vfwprintf.texi: Likewise.
9830         * doc/posix-functions/vfwscanf.texi: Likewise.
9831         * doc/posix-functions/vswscanf.texi: Likewise.
9832         * doc/posix-functions/vwprintf.texi: Likewise.
9833         * doc/posix-functions/vwscanf.texi: Likewise.
9834         * doc/posix-functions/wcpcpy.texi: Likewise.
9835         * doc/posix-functions/wcpncpy.texi: Likewise.
9836         * doc/posix-functions/wcscasecmp.texi: Likewise.
9837         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
9838         * doc/posix-functions/wcscoll_l.texi: Likewise.
9839         * doc/posix-functions/wcsdup.texi: Likewise.
9840         * doc/posix-functions/wcsncasecmp.texi: Likewise.
9841         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
9842         * doc/posix-functions/wcsnlen.texi: Likewise.
9843         * doc/posix-functions/wcsnrtombs.texi: Likewise.
9844         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
9845         * doc/posix-functions/wctrans_l.texi: Likewise.
9846         * doc/posix-functions/wctype_l.texi: Likewise.
9847         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
9848         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
9849         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
9850         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
9851         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
9852         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
9853         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
9854         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
9855         * doc/glibc-functions/wcschrnul.texi: Likewise.
9856         * doc/glibc-functions/wcsftime_l.texi: Likewise.
9857         * doc/glibc-functions/wcstod_l.texi: Likewise.
9858         * doc/glibc-functions/wcstof_l.texi: Likewise.
9859         * doc/glibc-functions/wcstol_l.texi: Likewise.
9860         * doc/glibc-functions/wcstold_l.texi: Likewise.
9861         * doc/glibc-functions/wcstoll_l.texi: Likewise.
9862         * doc/glibc-functions/wcstoq.texi: Likewise.
9863         * doc/glibc-functions/wcstoul_l.texi: Likewise.
9864         * doc/glibc-functions/wcstoull_l.texi: Likewise.
9865         * doc/glibc-functions/wcstouq.texi: Likewise.
9866         * doc/glibc-functions/wmempcpy.texi: Likewise.
9867
9868 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
9869             Eric Blake  <ebb9@byu.net>
9870             Paolo Bonzini  <bonzini@gnu.org>
9871             Bruno Haible  <bruno@clisp.org>
9872
9873         Make c-stack work on Haiku.
9874         * lib/c-stack.c (SA_ONSTACK): Define fallback.
9875         (c_stack_action): Use SA_ONSTACK flag.
9876
9877 2008-12-22  Bruno Haible  <bruno@clisp.org>
9878
9879         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
9880
9881 2008-12-22  Bruno Haible  <bruno@clisp.org>
9882
9883         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
9884         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
9885         being overridden.
9886         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
9887         New macros.
9888         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
9889         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
9890         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
9891         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
9892
9893 2008-12-22  Bruno Haible  <bruno@clisp.org>
9894
9895         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
9896         from test code.
9897
9898 2008-12-22  Eric Blake  <ebb9@byu.net>
9899
9900         Avoid gcc warnings on cygwin.
9901         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
9902         Avoid unused variable.
9903         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
9904         Likewise.
9905
9906 2008-12-22  Bruno Haible  <bruno@clisp.org>
9907
9908         Remove HAVE_MBRTOWC conditionals.
9909         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
9910         (mbscasecmp): Assume mbrtowc function.
9911         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
9912         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
9913         * lib/mbschr.c: Include mbuiter.h unconditionally.
9914         (mbschr): Assume mbrtowc function.
9915         * lib/mbscspn.c: Include mbuiter.h unconditionally.
9916         (mbscspn): Assume mbrtowc function.
9917         * lib/mbslen.c: Include mbuiter.h unconditionally.
9918         (mbslen): Assume mbrtowc function.
9919         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
9920         (mbsncasecmp): Assume mbrtowc function.
9921         * lib/mbsnlen.c: Include mbiter.h unconditionally.
9922         (mbsnlen): Assume mbrtowc function.
9923         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
9924         (mbspbrk): Assume mbrtowc function.
9925         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
9926         (mbspcasecmp): Assume mbrtowc function.
9927         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
9928         (mbsrchr): Assume mbrtowc function.
9929         * lib/mbssep.c: Include mbuiter.h unconditionally.
9930         (mbssep): Assume mbrtowc function.
9931         * lib/mbsspn.c: Include mbuiter.h unconditionally.
9932         (mbsspn): Assume mbrtowc function.
9933         * lib/mbsstr.c: Include mbuiter.h unconditionally.
9934         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
9935         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
9936         (mbstok_r): Assume mbrtowc function.
9937         * lib/propername.c: Include mbuiter.h unconditionally.
9938         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
9939         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
9940         (trim2): Assume mbrtowc function.
9941         * lib/mbswidth.c (mbsinit): Remove fallback definition.
9942         (mbsnwidth): Assume mbrtowc function.
9943         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
9944         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
9945         fallback definitions.
9946         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
9947
9948 2008-12-22  Bruno Haible  <bruno@clisp.org>
9949
9950         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
9951
9952 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
9953
9954         * modules/regex: Request emulations for the mb*/wc* functions we need.
9955         * m4/regex.m4: Don't look for those functions here.
9956         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
9957
9958 2008-12-22  Bruno Haible  <bruno@clisp.org>
9959
9960         * modules/fnmatch (Depends-on): Remove duplicated dependency.
9961
9962 2008-12-21  Bruno Haible  <bruno@clisp.org>
9963
9964         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
9965         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
9966         (Include): Remove conditionalization.
9967         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
9968         (Include): Remove conditionalization.
9969         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
9970         (Include): Remove conditionalization.
9971         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
9972         * m4/mbfile.m4 (gl_MBFILE): Likewise.
9973         * NEWS: Mention the change.
9974         Reported by Alan Hourihane <alanh@fairlite.co.uk>
9975         via Sergey Poznyakoff <gray@gnu.org.ua>.
9976
9977 2008-12-21  Bruno Haible  <bruno@clisp.org>
9978
9979         * MODULES.html.sh (Extended multibyte and wide character utilities
9980         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
9981         wcrtomb, wcsrtombs.
9982         (Support for systems lacking POSIX:2008): Add accept, bind, close,
9983         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
9984         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
9985         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
9986
9987 2008-12-21  Bruno Haible  <bruno@clisp.org>
9988
9989         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
9990
9991 2008-12-21  Bruno Haible  <bruno@clisp.org>
9992
9993         * modules/wcsnrtombs-tests: New file.
9994         * tests/test-wcsnrtombs1.sh: New file.
9995         * tests/test-wcsnrtombs2.sh: New file.
9996         * tests/test-wcsnrtombs3.sh: New file.
9997         * tests/test-wcsnrtombs4.sh: New file.
9998         * tests/test-wcsnrtombs.c: New file.
9999
10000         New module 'wcsnrtombs'.
10001         * lib/wchar.in.h (wcsnrtombs): New declaration.
10002         * lib/wcsnrtombs.c: New file.
10003         * lib/wcsrtombs-state.c: New file.
10004         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
10005         (internal_state): Remove variable.
10006         * m4/wcsnrtombs.m4: New file.
10007         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
10008         compilation units.
10009         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
10010         HAVE_WCSNRTOMBS.
10011         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
10012         HAVE_WCSNRTOMBS.
10013         * modules/wcsnrtombs: New file.
10014         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
10015         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
10016
10017 2008-12-21  Bruno Haible  <bruno@clisp.org>
10018
10019         * modules/wcsrtombs-tests: New file.
10020         * tests/test-wcsrtombs1.sh: New file.
10021         * tests/test-wcsrtombs2.sh: New file.
10022         * tests/test-wcsrtombs3.sh: New file.
10023         * tests/test-wcsrtombs4.sh: New file.
10024         * tests/test-wcsrtombs.c: New file.
10025
10026         New module 'wcsrtombs'.
10027         * lib/wchar.in.h (wcsrtombs): New declaration.
10028         * lib/wcsrtombs.c: New file.
10029         * m4/wcsrtombs.m4: New file.
10030         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
10031         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
10032         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
10033         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
10034         * modules/wcsrtombs: New file.
10035         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
10036         bugs.
10037
10038 2008-12-21  Bruno Haible  <bruno@clisp.org>
10039
10040         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
10041         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
10042         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
10043         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
10044         if not correct.
10045         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
10046         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
10047         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
10048         m4/locale-zh.m4, m4/codeset.m4.
10049         * doc/posix-functions/wcrtomb.texi: Document the bug.
10050
10051 2008-12-21  Bruno Haible  <bruno@clisp.org>
10052
10053         Work around a btowc() bug on IRIX 6.5.
10054         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
10055         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
10056         REPLACE_WTOBC if not.
10057         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
10058         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
10059         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
10060
10061 2008-12-21  Bruno Haible  <bruno@clisp.org>
10062
10063         * modules/wcrtomb-tests: New file.
10064         * tests/test-wcrtomb.sh: New file.
10065         * tests/test-wcrtomb.c: New file.
10066
10067         New module 'wcrtomb'.
10068         * lib/wchar.in.h (wcrtomb): New declaration.
10069         * lib/wcrtomb.c: New file.
10070         * m4/wcrtomb.m4: New file.
10071         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
10072         HAVE_WCRTOMB.
10073         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
10074         HAVE_WCRTOMB.
10075         * modules/wcrtomb: New file.
10076         * doc/posix-functions/wcrtomb.texi: Mention the new module.
10077
10078 2008-12-21  Bruno Haible  <bruno@clisp.org>
10079
10080         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
10081         * modules/mbsrtowcs (Files): Likewise.
10082         * modules/wctob (Files): Likewise.
10083         * modules/c-strcase-tests (Files): Likewise.
10084         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
10085         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
10086         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
10087         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
10088         * modules/vasnprintf-posix-tests (Files): Likewise.
10089
10090 2008-12-21  William Pursell  <bill.pursell@gmail.com>
10091
10092         gitlog-to-changelog: pass all command-line arguments to git-log
10093         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
10094         it is sometimes convenient to filter the commits in various ways.
10095         gitlog-to-changelog only allows --since to specify a start date,
10096         but git-log itself supports many other filtering mechanisms.
10097         At the moment, I want to filter by branch name.  Rather than
10098         adding a --branch option to gitlog-to-changelog, it seems more
10099         flexible to simply pass all options directly to git-log and let
10100         git do the work.  Notice that this effectively makes --since a
10101         redundant option for gitlog-to-changelog, but removing it would
10102         require current usage to change since calls would then require
10103         an additional '--'.
10104
10105 2008-12-21  Bruno Haible  <bruno@clisp.org>
10106
10107         * modules/mbsnrtowcs-tests: New file.
10108         * tests/test-mbsnrtowcs1.sh: New file.
10109         * tests/test-mbsnrtowcs2.sh: New file.
10110         * tests/test-mbsnrtowcs3.sh: New file.
10111         * tests/test-mbsnrtowcs4.sh: New file.
10112         * tests/test-mbsnrtowcs.c: New file.
10113
10114         New module 'mbsnrtowcs'.
10115         * lib/wchar.in.h (mbsnrtowcs): New declaration.
10116         * lib/mbsnrtowcs.c: New file.
10117         * lib/mbsrtowcs-state.c: New file.
10118         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
10119         (internal_state): Remove variable.
10120         * m4/mbsnrtowcs.m4: New file.
10121         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
10122         compilation units.
10123         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
10124         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
10125         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
10126         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
10127         * modules/mbsnrtowcs: New file.
10128         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
10129         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
10130         portability problem.
10131
10132 2008-12-21  Bruno Haible  <bruno@clisp.org>
10133
10134         Work around mbsrtowcs bug.
10135         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
10136         (gl_FUNC_MBSRTOWCS): Invoke it.
10137         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
10138         m4/locale-zh.m4.
10139         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
10140
10141 2008-12-21  Bruno Haible  <bruno@clisp.org>
10142
10143         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
10144
10145 2008-12-21  Bruno Haible  <bruno@clisp.org>
10146
10147         Update doc for AIX.
10148         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
10149         16-bit wchar_t type.
10150         * doc/posix-functions/btowc.texi: Likewise.
10151         * doc/posix-functions/fgetwc.texi: Likewise.
10152         * doc/posix-functions/fgetws.texi: Likewise.
10153         * doc/posix-functions/fputwc.texi: Likewise.
10154         * doc/posix-functions/fputws.texi: Likewise.
10155         * doc/posix-functions/fwide.texi: Likewise.
10156         * doc/posix-functions/fwprintf.texi: Likewise.
10157         * doc/posix-functions/fwscanf.texi: Likewise.
10158         * doc/posix-functions/getwchar.texi: Likewise.
10159         * doc/posix-functions/getwc.texi: Likewise.
10160         * doc/posix-functions/iswalnum.texi: Likewise.
10161         * doc/posix-functions/iswalpha.texi: Likewise.
10162         * doc/posix-functions/iswblank.texi: Likewise.
10163         * doc/posix-functions/iswcntrl.texi: Likewise.
10164         * doc/posix-functions/iswctype.texi: Likewise.
10165         * doc/posix-functions/iswdigit.texi: Likewise.
10166         * doc/posix-functions/iswgraph.texi: Likewise.
10167         * doc/posix-functions/iswlower.texi: Likewise.
10168         * doc/posix-functions/iswprint.texi: Likewise.
10169         * doc/posix-functions/iswpunct.texi: Likewise.
10170         * doc/posix-functions/iswspace.texi: Likewise.
10171         * doc/posix-functions/iswupper.texi: Likewise.
10172         * doc/posix-functions/iswxdigit.texi: Likewise.
10173         * doc/posix-functions/mbrtowc.texi: Likewise.
10174         * doc/posix-functions/mbsrtowcs.texi: Likewise.
10175         * doc/posix-functions/mbstowcs.texi: Likewise.
10176         * doc/posix-functions/mbtowc.texi: Likewise.
10177         * doc/posix-functions/putwchar.texi: Likewise.
10178         * doc/posix-functions/putwc.texi: Likewise.
10179         * doc/posix-functions/swprintf.texi: Likewise.
10180         * doc/posix-functions/tolower.texi: Likewise.
10181         * doc/posix-functions/toupper.texi: Likewise.
10182         * doc/posix-functions/towctrans.texi: Likewise.
10183         * doc/posix-functions/ungetwc.texi: Likewise.
10184         * doc/posix-functions/vswprintf.texi: Likewise.
10185         * doc/posix-functions/wcrtomb.texi: Likewise.
10186         * doc/posix-functions/wcscat.texi: Likewise.
10187         * doc/posix-functions/wcschr.texi: Likewise.
10188         * doc/posix-functions/wcscmp.texi: Likewise.
10189         * doc/posix-functions/wcscoll.texi: Likewise.
10190         * doc/posix-functions/wcscpy.texi: Likewise.
10191         * doc/posix-functions/wcscspn.texi: Likewise.
10192         * doc/posix-functions/wcsftime.texi: Likewise.
10193         * doc/posix-functions/wcslen.texi: Likewise.
10194         * doc/posix-functions/wcsncat.texi: Likewise.
10195         * doc/posix-functions/wcsncmp.texi: Likewise.
10196         * doc/posix-functions/wcsncpy.texi: Likewise.
10197         * doc/posix-functions/wcspbrk.texi: Likewise.
10198         * doc/posix-functions/wcsrchr.texi: Likewise.
10199         * doc/posix-functions/wcsrtombs.texi: Likewise.
10200         * doc/posix-functions/wcsspn.texi: Likewise.
10201         * doc/posix-functions/wcsstr.texi: Likewise.
10202         * doc/posix-functions/wcstod.texi: Likewise.
10203         * doc/posix-functions/wcstof.texi: Likewise.
10204         * doc/posix-functions/wcstoimax.texi: Likewise.
10205         * doc/posix-functions/wcstok.texi: Likewise.
10206         * doc/posix-functions/wcstold.texi: Likewise.
10207         * doc/posix-functions/wcstoll.texi: Likewise.
10208         * doc/posix-functions/wcstol.texi: Likewise.
10209         * doc/posix-functions/wcstombs.texi: Likewise.
10210         * doc/posix-functions/wcstoull.texi: Likewise.
10211         * doc/posix-functions/wcstoul.texi: Likewise.
10212         * doc/posix-functions/wcstoumax.texi: Likewise.
10213         * doc/posix-functions/wcswidth.texi: Likewise.
10214         * doc/posix-functions/wcsxfrm.texi: Likewise.
10215         * doc/posix-functions/wctob.texi: Likewise.
10216         * doc/posix-functions/wctomb.texi: Likewise.
10217         * doc/posix-functions/wctrans.texi: Likewise.
10218         * doc/posix-functions/wctype.texi: Likewise.
10219         * doc/posix-functions/wcwidth.texi: Likewise.
10220         * doc/posix-functions/wmemchr.texi: Likewise.
10221         * doc/posix-functions/wmemcmp.texi: Likewise.
10222         * doc/posix-functions/wmemcpy.texi: Likewise.
10223         * doc/posix-functions/wmemmove.texi: Likewise.
10224         * doc/posix-functions/wmemset.texi: Likewise.
10225         * doc/posix-functions/wprintf.texi: Likewise.
10226         * doc/posix-functions/wscanf.texi: Likewise.
10227
10228 2008-12-21  Bruno Haible  <bruno@clisp.org>
10229
10230         Update doc for HP-UX 11.11.
10231         * doc/posix-functions/btowc.texi: Clarify that the function is missing
10232         in HP-UX version 11.00, not in all versions of HP-UX 11.
10233         * doc/posix-functions/fwide.texi: Likewise.
10234         * doc/posix-functions/fwprintf.texi: Likewise.
10235         * doc/posix-functions/fwscanf.texi: Likewise.
10236         * doc/posix-functions/inet_ntop.texi: Likewise.
10237         * doc/posix-functions/inet_pton.texi: Likewise.
10238         * doc/posix-functions/mbrlen.texi: Likewise.
10239         * doc/posix-functions/mbrtowc.texi: Likewise.
10240         * doc/posix-functions/mbsinit.texi: Likewise.
10241         * doc/posix-functions/mbsrtowcs.texi: Likewise.
10242         * doc/posix-functions/swprintf.texi: Likewise.
10243         * doc/posix-functions/swscanf.texi: Likewise.
10244         * doc/posix-functions/towctrans.texi: Likewise.
10245         * doc/posix-functions/vfwprintf.texi: Likewise.
10246         * doc/posix-functions/vswprintf.texi: Likewise.
10247         * doc/posix-functions/vwprintf.texi: Likewise.
10248         * doc/posix-functions/wcrtomb.texi: Likewise.
10249         * doc/posix-functions/wcsrtombs.texi: Likewise.
10250         * doc/posix-functions/wcsstr.texi: Likewise.
10251         * doc/posix-functions/wctob.texi: Likewise.
10252         * doc/posix-functions/wctrans.texi: Likewise.
10253         * doc/posix-functions/wmemchr.texi: Likewise.
10254         * doc/posix-functions/wmemcmp.texi: Likewise.
10255         * doc/posix-functions/wmemcpy.texi: Likewise.
10256         * doc/posix-functions/wmemmove.texi: Likewise.
10257         * doc/posix-functions/wmemset.texi: Likewise.
10258         * doc/posix-functions/wprintf.texi: Likewise.
10259         * doc/posix-functions/wscanf.texi: Likewise.
10260
10261 2008-12-21  Bruno Haible  <bruno@clisp.org>
10262
10263         Work around a portability problem.
10264         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
10265         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
10266
10267 2008-12-20  Bruno Haible  <bruno@clisp.org>
10268
10269         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
10270         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
10271         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
10272         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
10273         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
10274
10275         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
10276         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
10277         set.
10278         (GNULIB_defined_mbstate_t): New macro.
10279         (mbsinit): Redefine if REPLACE_MBSINIT is set.
10280         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
10281         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
10282         reuses the system's mbrtowc function but works around the bugs.
10283         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
10284         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
10285         macros.
10286         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
10287         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
10288         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
10289         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
10290         REPLACE_MBSINIT if mbsinit needs to be overridden.
10291         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
10292         REPLACE_MBSINIT, REPLACE_MBRTOWC.
10293         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
10294         REPLACE_MBSINIT, REPLACE_MBRTOWC.
10295         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
10296         m4/locale-zh.m4.
10297         (Depends): Add mbsinit.
10298         * modules/mbsinit (Depends): Add mbrtowc.
10299         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
10300
10301 2008-12-20  Bruno Haible  <bruno@clisp.org>
10302
10303         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
10304         so that there are no conversion errors on AIX.
10305         * tests/test-mbsrtowcs.c (main): LIkewise.
10306
10307 2008-12-20  Bruno Haible  <bruno@clisp.org>
10308
10309         Work around wctob bug on Solaris <= 9.
10310         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
10311         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
10312         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
10313         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
10314         * modules/wctob (Files): Add m4/locale-fr.m4.
10315         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
10316
10317 2008-12-20  Bruno Haible  <bruno@clisp.org>
10318
10319         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
10320         /dev/null.
10321         * tests/test-select-in.sh: Likewise.
10322         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10323
10324 2008-12-20  Bruno Haible  <bruno@clisp.org>
10325
10326         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
10327         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
10328         Cygwin 1.5.x.
10329
10330 2008-12-20  Bruno Haible  <bruno@clisp.org>
10331
10332         Ensure mbstate_t is defined on HP-UX 11.11.
10333         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
10334         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
10335         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
10336         AC_USE_SYSTEM_EXTENSIONS.
10337         * modules/fnmatch (Depends-on): Add extensions.
10338         * modules/mbrlen (Depends-on): Likewise.
10339         * modules/mbrtowc (Depends-on): Likewise.
10340         * modules/mbsinit (Depends-on): Likewise.
10341         * modules/mbsrtowcs (Depends-on): Likewise.
10342         * modules/mbswidth (Depends-on): Likewise.
10343         * modules/quotearg (Depends-on): Likewise.
10344         * modules/strftime (Depends-on): Likewise.
10345
10346 2008-12-20  Bruno Haible  <bruno@clisp.org>
10347
10348         Ensure wctob is declared on IRIX 6.5.
10349         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
10350         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
10351         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
10352         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
10353         of HAVE_WCTOB.
10354         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
10355         HAVE_WCTOB.
10356         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
10357
10358 2008-12-19  Bruno Haible  <bruno@clisp.org>
10359
10360         * modules/mbsrtowcs-tests: New file.
10361         * tests/test-mbsrtowcs1.sh: New file.
10362         * tests/test-mbsrtowcs2.sh: New file.
10363         * tests/test-mbsrtowcs3.sh: New file.
10364         * tests/test-mbsrtowcs4.sh: New file.
10365         * tests/test-mbsrtowcs.c: New file.
10366
10367         New module 'mbsrtowcs'.
10368         * lib/wchar.in.h (mbsrtowcs): New declaration.
10369         * lib/mbsrtowcs.c: New file.
10370         * m4/mbsrtowcs.m4: New file.
10371         * modules/mbsrtowcs: New file.
10372         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
10373         HAVE_MBSRTOWCS.
10374         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
10375         HAVE_MBSRTOWCS.
10376         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
10377
10378 2008-12-19  Bruno Haible  <bruno@clisp.org>
10379
10380         New module 'mbrlen'.
10381         * lib/wchar.in.h (mbrlen): New declaration.
10382         * lib/mbrlen.c: New file.
10383         * m4/mbrlen.m4: New file.
10384         * modules/mbrlen: New file.
10385         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
10386         HAVE_MBRLEN.
10387         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
10388         HAVE_MBRLEN.
10389         * doc/posix-functions/mbrlen.texi: Document the new module.
10390
10391 2008-12-19  Bruno Haible  <bruno@clisp.org>
10392
10393         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
10394         * modules/mbrtowc (Depends-on): Add verify.
10395         Suggested by Paul Eggert.
10396
10397 2008-12-18  Bruno Haible  <bruno@clisp.org>
10398
10399         * modules/mbsinit-tests: New file.
10400         * tests/test-mbsinit.sh: New file.
10401         * tests/test-mbsinit.c: New file.
10402
10403 2008-12-18  Bruno Haible  <bruno@clisp.org>
10404
10405         * modules/mbrtowc-tests: New file.
10406         * tests/test-mbrtowc1.sh: New file.
10407         * tests/test-mbrtowc2.sh: New file.
10408         * tests/test-mbrtowc3.sh: New file.
10409         * tests/test-mbrtowc4.sh: New file.
10410         * tests/test-mbrtowc.c: New file.
10411
10412         New module 'mbrtowc'.
10413         * lib/wchar.in.h (mbstate_t): Override when the system does not have
10414         mbsinit and mbrtowc.
10415         (mbrtowc): New declaration.
10416         * lib/mbrtowc.c: New file.
10417         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
10418         * modules/mbrtowc: New file.
10419         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
10420         HAVE_MBRTOWC.
10421         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
10422         HAVE_MBRTOWC.
10423         * doc/posix-functions/mbrtowc.texi: Document the new module.
10424
10425 2008-12-18  Bruno Haible  <bruno@clisp.org>
10426
10427         New module 'wctob'.
10428         * lib/wchar.in.h (wctob): New declaration.
10429         * lib/wctob.c: New file.
10430         * m4/wctob.m4: New file.
10431         * modules/wctob: New file.
10432         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
10433         HAVE_WCTOB.
10434         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
10435         * doc/posix-functions/wctob.texi: Document the new module.
10436
10437 2008-12-18  Bruno Haible  <bruno@clisp.org>
10438
10439         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
10440         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
10441
10442 2008-12-18  Simon Josefsson  <simon@josefsson.org>
10443
10444         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
10445         G. Christensen" <tgc@jupiterrise.com>.
10446
10447         * lib/flock.c: Need to include errno.h.  Reported by "Tom
10448         G. Christensen" <tgc@jupiterrise.com>.
10449
10450         * lib/flock.c: Need to include string.h.  Reported by "Tom
10451         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
10452         <ebb9@byu.net>.
10453
10454 2008-12-18  Bruno Haible  <bruno@clisp.org>
10455
10456         * m4/locale-ja.m4: New file, from GNU gettext.
10457
10458 2008-12-17  Bruno Haible  <bruno@clisp.org>
10459
10460         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
10461         Suggested by Eric Blake.
10462
10463 2008-12-17  Bruno Haible  <bruno@clisp.org>
10464
10465         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
10466
10467 2008-12-17  Bruno Haible  <bruno@clisp.org>
10468
10469         * lib/mbsinit.c: Include verify.h. Verify an assumption.
10470         * modules/mbsinit (Depends-on): Add verify.
10471         Suggested by Paul Eggert.
10472
10473 2008-12-17  Bruno Haible  <bruno@clisp.org>
10474
10475         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
10476         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
10477         gl_FUNC_MBRTOWC.
10478         * m4/mbiter.m4 (gl_MBITER): LIkewise.
10479         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
10480         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
10481         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
10482         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
10483         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
10484         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
10485         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
10486         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
10487         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
10488         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
10489         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
10490         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
10491         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
10492         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
10493         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
10494         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
10495         * modules/trim (configure.ac): Likewise.
10496
10497 2008-12-17  Bruno Haible  <bruno@clisp.org>
10498
10499         * modules/btowc-tests: New file.
10500         * tests/test-btowc1.sh: New file.
10501         * tests/test-btowc2.sh: New file.
10502         * tests/test-btowc.c: New file.
10503
10504         New module 'btowc'.
10505         * lib/wchar.in.h (btowc): New declaration.
10506         * lib/btowc.c: New file.
10507         * m4/btowc.m4: New file.
10508         * modules/btowc: New file.
10509         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
10510         HAVE_BTOWC.
10511         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
10512         * doc/posix-functions/btowc.texi: Document the new module.
10513
10514 2008-12-17  Bruno Haible  <bruno@clisp.org>
10515
10516         New module 'mbsinit'.
10517         * lib/wchar.in.h (mbsinit): New declaration.
10518         * lib/mbsinit.c: New file.
10519         * m4/mbsinit.m4: New file.
10520         * modules/mbsinit: New file.
10521         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
10522         HAVE_MBSINIT.
10523         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
10524         HAVE_MBSINIT.
10525         * doc/posix-functions/mbsinit.texi: Document the new module.
10526
10527 2008-12-16  Bruno Haible  <bruno@clisp.org>
10528
10529         * lib/unistd.in.h: Add comment.
10530         * tests/test-environ.c: Don't include <stdlib.h>.
10531
10532 2008-12-16  Bruno Haible  <bruno@clisp.org>
10533
10534         * lib/parse-duration.h (parse_duration): Document return value
10535         convention.
10536         * lib/parse-duration.c: Include specification header first. Add
10537         comments.
10538         (_): Remove macro.
10539         (parse_year_month_day, parse_hour_minute_second): Move side effects
10540         outside of strchr call.
10541         (parse_non_iso8601): Move side effects outside of isspace call.
10542         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
10543         call.
10544
10545 2008-12-16  Bruno Haible  <bruno@clisp.org>
10546
10547         * tests/test-parse-duration.sh: Produce no output when the test
10548         succeeds.
10549
10550 2008-12-16  Bruno Haible  <bruno@clisp.org>
10551
10552         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
10553         expressions.
10554
10555 2008-12-15  Bruno Haible  <bruno@clisp.org>
10556
10557         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
10558         * doc/glibc-functions/flistxattr.texi: Likewise.
10559         * doc/glibc-functions/fopencookie.texi: Likewise.
10560         * doc/glibc-functions/fremovexattr.texi: Likewise.
10561         * doc/glibc-functions/fsetxattr.texi: Likewise.
10562         * doc/glibc-functions/getxattr.texi: Likewise.
10563         * doc/glibc-functions/lgetxattr.texi: Likewise.
10564         * doc/glibc-functions/listxattr.texi: Likewise.
10565         * doc/glibc-functions/llistxattr.texi: Likewise.
10566         * doc/glibc-functions/lremovexattr.texi: Likewise.
10567         * doc/glibc-functions/lsetxattr.texi: Likewise.
10568         * doc/glibc-functions/removexattr.texi: Likewise.
10569         * doc/glibc-functions/setxattr.texi: Likewise.
10570         * doc/posix-functions/open_memstream.texi: Likewise.
10571
10572 2008-12-15  Eric Blake  <ebb9@byu.net>
10573
10574         Update doc for cygwin 1.7.
10575         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
10576         functions.
10577         * doc/posix-functions/fchmodat.texi: Likewise.
10578         * doc/posix-functions/fchownat.texi: Likewise.
10579         * doc/posix-functions/fdopendir.texi: Likewise.
10580         * doc/posix-functions/fmemopen.texi: Likewise.
10581         * doc/posix-functions/freeaddrinfo.texi: Likewise.
10582         * doc/posix-functions/fstatat.texi: Likewise.
10583         * doc/posix-functions/futimens.texi: Likewise.
10584         * doc/posix-functions/gai_strerror.texi: Likewise.
10585         * doc/posix-functions/getaddrinfo.texi: Likewise.
10586         * doc/posix-functions/getnameinfo.texi: Likewise.
10587         * doc/posix-functions/if_freenameindex.texi: Likewise.
10588         * doc/posix-functions/if_indextoname.texi: Likewise.
10589         * doc/posix-functions/if_nameindex.texi: Likewise.
10590         * doc/posix-functions/if_nametoindex.texi: Likewise.
10591         * doc/posix-functions/insque.texi: Likewise.
10592         * doc/posix-functions/linkat.texi: Likewise.
10593         * doc/posix-functions/llrint.texi: Likewise.
10594         * doc/posix-functions/llrintf.texi: Likewise.
10595         * doc/posix-functions/llrintl.texi: Likewise.
10596         * doc/posix-functions/lockf.texi: Likewise.
10597         * doc/posix-functions/lrintl.texi: Likewise.
10598         * doc/posix-functions/mkdirat.texi: Likewise.
10599         * doc/posix-functions/mkfifoat.texi: Likewise.
10600         * doc/posix-functions/mknodat.texi: Likewise.
10601         * doc/posix-functions/mq_close.texi: Likewise.
10602         * doc/posix-functions/mq_getattr.texi: Likewise.
10603         * doc/posix-functions/mq_notify.texi: Likewise.
10604         * doc/posix-functions/mq_open.texi: Likewise.
10605         * doc/posix-functions/mq_receive.texi: Likewise.
10606         * doc/posix-functions/mq_send.texi: Likewise.
10607         * doc/posix-functions/mq_setattr.texi: Likewise.
10608         * doc/posix-functions/mq_timedreceive.texi: Likewise.
10609         * doc/posix-functions/mq_timedsend.texi: Likewise.
10610         * doc/posix-functions/mq_unlink.texi: Likewise.
10611         * doc/posix-functions/open_memstream.texi: Likewise.
10612         * doc/posix-functions/openat.texi: Likewise.
10613         * doc/posix-functions/posix_fadvise.texi: Likewise.
10614         * doc/posix-functions/posix_fallocate.texi: Likewise.
10615         * doc/posix-functions/posix_madvise.texi: Likewise.
10616         * doc/posix-functions/posix_memalign.texi: Likewise.
10617         * doc/posix-functions/posix_openpt.texi: Likewise.
10618         * doc/posix-functions/readlinkat.texi: Likewise.
10619         * doc/posix-functions/remque.texi: Likewise.
10620         * doc/posix-functions/renameat.texi: Likewise.
10621         * doc/posix-functions/rintl.texi: Likewise.
10622         * doc/posix-functions/sem_unlink.texi: Likewise.
10623         * doc/posix-functions/shm_open.texi: Likewise.
10624         * doc/posix-functions/shm_unlink.texi: Likewise.
10625         * doc/posix-functions/signgam.texi: Likewise.
10626         * doc/posix-functions/sigset.texi: Likewise.
10627         * doc/posix-functions/stpcpy.texi: Likewise.
10628         * doc/posix-functions/stpncpy.texi: Likewise.
10629         * doc/posix-functions/strerror.texi: Likewise.
10630         * doc/posix-functions/strtod.texi: Likewise.
10631         * doc/posix-functions/symlinkat.texi: Likewise.
10632         * doc/posix-functions/unlinkat.texi: Likewise.
10633         * doc/posix-functions/utimensat.texi: Likewise.
10634         * doc/glibc-functions/bindresvport.texi: Likewise.
10635         * doc/glibc-functions/dn_expand.texi: Likewise.
10636         * doc/glibc-functions/exp10.texi: Likewise.
10637         * doc/glibc-functions/exp10f.texi: Likewise.
10638         * doc/glibc-functions/fgetxattr.texi: Likewise.
10639         * doc/glibc-functions/flistxattr.texi: Likewise.
10640         * doc/glibc-functions/fopencookie.texi: Likewise.
10641         * doc/glibc-functions/freeifaddrs.texi: Likewise.
10642         * doc/glibc-functions/fremovexattr.texi: Likewise.
10643         * doc/glibc-functions/fsetxattr.texi: Likewise.
10644         * doc/glibc-functions/getifaddrs.texi: Likewise.
10645         * doc/glibc-functions/getxattr.texi: Likewise.
10646         * doc/glibc-functions/lgetxattr.texi: Likewise.
10647         * doc/glibc-functions/listxattr.texi: Likewise.
10648         * doc/glibc-functions/llistxattr.texi: Likewise.
10649         * doc/glibc-functions/lremovexattr.texi: Likewise.
10650         * doc/glibc-functions/lsetxattr.texi: Likewise.
10651         * doc/glibc-functions/pow10.texi: Likewise.
10652         * doc/glibc-functions/pow10f.texi: Likewise.
10653         * doc/glibc-functions/rcmd_af.texi: Likewise.
10654         * doc/glibc-functions/removexattr.texi: Likewise.
10655         * doc/glibc-functions/res_init.texi: Likewise.
10656         * doc/glibc-functions/res_mkquery.texi: Likewise.
10657         * doc/glibc-functions/res_query.texi: Likewise.
10658         * doc/glibc-functions/res_querydomain.texi: Likewise.
10659         * doc/glibc-functions/res_send.texi: Likewise.
10660         * doc/glibc-functions/rresvport_af.texi: Likewise.
10661         * doc/glibc-functions/setxattr.texi: Likewise.
10662         * doc/glibc-functions/strcasestr.texi: Likewise.
10663
10664 2008-12-15  Bruno Haible  <bruno@clisp.org>
10665
10666         Fix compilation error on OSF/1 4.0.
10667         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
10668         <sys/time.h>, simply delegate to the system header.
10669         Reported by Daniel Richard G. <oss@teragram.com>.
10670
10671 2008-12-15  Bruno Haible  <bruno@clisp.org>
10672
10673         * doc/posix-functions/openat.texi: Mention the 'openat' module.
10674         * doc/posix-functions/fchmodat.texi: Likewise.
10675         * doc/posix-functions/fchownat.texi: Likewise.
10676         * doc/posix-functions/fdopendir.texi: Likewise.
10677         * doc/posix-functions/fstatat.texi: Likewise.
10678         * doc/posix-functions/mkdirat.texi: Likewise.
10679         * doc/posix-functions/unlinkat.texi: Likewise.
10680
10681 2008-12-14  Bruno Haible  <bruno@clisp.org>
10682
10683         Update doc for POSIX:2008.
10684         * doc/posix-functions/faccessat.texi: New file.
10685         * doc/posix-functions/fchmodat.texi: New file.
10686         * doc/posix-functions/fchownat.texi: New file.
10687         * doc/posix-functions/fdopendir.texi: New file.
10688         * doc/posix-functions/fstatat.texi: New file.
10689         * doc/posix-functions/futimens.texi: New file.
10690         * doc/posix-functions/linkat.texi: New file.
10691         * doc/posix-functions/mkdirat.texi: New file.
10692         * doc/posix-functions/mkfifoat.texi: New file.
10693         * doc/posix-functions/mknodat.texi: New file.
10694         * doc/posix-functions/open_wmemstream.texi: New file.
10695         * doc/posix-functions/openat.texi: New file.
10696         * doc/posix-functions/psiginfo.texi: New file.
10697         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
10698         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
10699         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
10700         * doc/posix-functions/readlinkat.texi: New file.
10701         * doc/posix-functions/renameat.texi: New file.
10702         * doc/posix-functions/strerror_l.texi: New file.
10703         * doc/posix-functions/symlinkat.texi: New file.
10704         * doc/posix-functions/unlinkat.texi: New file.
10705         * doc/posix-functions/utimensat.texi: New file.
10706         * doc/gnulib.texi (Function Substitutes): Add these subsections.
10707
10708 2008-12-14  Bruno Haible  <bruno@clisp.org>
10709
10710         Update doc for POSIX:2008.
10711         * doc/posix-functions/alphasort.texi: Renamed from
10712         doc/glibc-functions/alphasort.texi.
10713         * doc/posix-functions/dirfd.texi: Renamed from
10714         doc/glibc-functions/dirfd.texi.
10715         * doc/posix-functions/dprintf.texi: Renamed from
10716         doc/glibc-functions/dprintf.texi.
10717         * doc/posix-functions/duplocale.texi: Renamed from
10718         doc/glibc-functions/duplocale.texi.
10719         * doc/posix-functions/fexecve.texi: Renamed from
10720         doc/glibc-functions/fexecve.texi.
10721         * doc/posix-functions/fmemopen.texi: Renamed from
10722         doc/glibc-functions/fmemopen.texi.
10723         * doc/posix-functions/freelocale.texi: Renamed from
10724         doc/glibc-functions/freelocale.texi.
10725         * doc/posix-functions/getdate_err.texi: Renamed from
10726         doc/glibc-functions/getdate_err.texi.
10727         * doc/posix-functions/isalnum_l.texi: Renamed from
10728         doc/glibc-functions/isalnum_l.texi.
10729         * doc/posix-functions/isalpha_l.texi: Renamed from
10730         doc/glibc-functions/isalpha_l.texi.
10731         * doc/posix-functions/isblank_l.texi: Renamed from
10732         doc/glibc-functions/isblank_l.texi.
10733         * doc/posix-functions/iscntrl_l.texi: Renamed from
10734         doc/glibc-functions/iscntrl_l.texi.
10735         * doc/posix-functions/isdigit_l.texi: Renamed from
10736         doc/glibc-functions/isdigit_l.texi.
10737         * doc/posix-functions/isgraph_l.texi: Renamed from
10738         doc/glibc-functions/isgraph_l.texi.
10739         * doc/posix-functions/islower_l.texi: Renamed from
10740         doc/glibc-functions/islower_l.texi.
10741         * doc/posix-functions/isprint_l.texi: Renamed from
10742         doc/glibc-functions/isprint_l.texi.
10743         * doc/posix-functions/ispunct_l.texi: Renamed from
10744         doc/glibc-functions/ispunct_l.texi.
10745         * doc/posix-functions/isspace_l.texi: Renamed from
10746         doc/glibc-functions/isspace_l.texi.
10747         * doc/posix-functions/isupper_l.texi: Renamed from
10748         doc/glibc-functions/isupper_l.texi.
10749         * doc/posix-functions/iswalnum_l.texi: Renamed from
10750         doc/glibc-functions/iswalnum_l.texi.
10751         * doc/posix-functions/iswalpha_l.texi: Renamed from
10752         doc/glibc-functions/iswalpha_l.texi.
10753         * doc/posix-functions/iswblank_l.texi: Renamed from
10754         doc/glibc-functions/iswblank_l.texi.
10755         * doc/posix-functions/iswcntrl_l.texi: Renamed from
10756         doc/glibc-functions/iswcntrl_l.texi.
10757         * doc/posix-functions/iswctype_l.texi: Renamed from
10758         doc/glibc-functions/iswctype_l.texi.
10759         * doc/posix-functions/iswdigit_l.texi: Renamed from
10760         doc/glibc-functions/iswdigit_l.texi.
10761         * doc/posix-functions/iswgraph_l.texi: Renamed from
10762         doc/glibc-functions/iswgraph_l.texi.
10763         * doc/posix-functions/iswlower_l.texi: Renamed from
10764         doc/glibc-functions/iswlower_l.texi.
10765         * doc/posix-functions/iswprint_l.texi: Renamed from
10766         doc/glibc-functions/iswprint_l.texi.
10767         * doc/posix-functions/iswpunct_l.texi: Renamed from
10768         doc/glibc-functions/iswpunct_l.texi.
10769         * doc/posix-functions/iswspace_l.texi: Renamed from
10770         doc/glibc-functions/iswspace_l.texi.
10771         * doc/posix-functions/iswupper_l.texi: Renamed from
10772         doc/glibc-functions/iswupper_l.texi.
10773         * doc/posix-functions/iswxdigit_l.texi: Renamed from
10774         doc/glibc-functions/iswxdigit_l.texi.
10775         * doc/posix-functions/isxdigit_l.texi: Renamed from
10776         doc/glibc-functions/isxdigit_l.texi.
10777         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
10778         doc/glibc-functions/mbsnrtowcs.texi.
10779         * doc/posix-functions/mkdtemp.texi: Renamed from
10780         doc/glibc-functions/mkdtemp.texi.
10781         * doc/posix-functions/newlocale.texi: Renamed from
10782         doc/glibc-functions/newlocale.texi.
10783         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
10784         doc/glibc-functions/nl_langinfo_l.texi.
10785         * doc/posix-functions/open_memstream.texi: Renamed from
10786         doc/glibc-functions/open_memstream.texi.
10787         * doc/posix-functions/opterr.texi: Renamed from
10788         doc/glibc-functions/opterr.texi.
10789         * doc/posix-functions/optind.texi: Renamed from
10790         doc/glibc-functions/optind.texi.
10791         * doc/posix-functions/optopt.texi: Renamed from
10792         doc/glibc-functions/optopt.texi.
10793         * doc/posix-functions/psignal.texi: Renamed from
10794         doc/glibc-functions/psignal.texi.
10795         * doc/posix-functions/scandir.texi: Renamed from
10796         doc/glibc-functions/scandir.texi.
10797         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
10798         doc/glibc-functions/sched_get_priority_min.texi.
10799         * doc/posix-functions/signgam.texi: Renamed from
10800         doc/glibc-functions/signgam.texi.
10801         * doc/posix-functions/stpcpy.texi: Renamed from
10802         doc/glibc-functions/stpcpy.texi.
10803         * doc/posix-functions/stpncpy.texi: Renamed from
10804         doc/glibc-functions/stpncpy.texi.
10805         * doc/posix-functions/strcasecmp_l.texi: Renamed from
10806         doc/glibc-functions/strcasecmp_l.texi.
10807         * doc/posix-functions/strcoll_l.texi: Renamed from
10808         doc/glibc-functions/strcoll_l.texi.
10809         * doc/posix-functions/strfmon_l.texi: Renamed from
10810         doc/glibc-functions/strfmon_l.texi.
10811         * doc/posix-functions/strftime_l.texi: Renamed from
10812         doc/glibc-functions/strftime_l.texi.
10813         * doc/posix-functions/strncasecmp_l.texi: Renamed from
10814         doc/glibc-functions/strncasecmp_l.texi.
10815         * doc/posix-functions/strndup.texi: Renamed from
10816         doc/glibc-functions/strndup.texi.
10817         * doc/posix-functions/strnlen.texi: Renamed from
10818         doc/glibc-functions/strnlen.texi.
10819         * doc/posix-functions/strsignal.texi: Renamed from
10820         doc/glibc-functions/strsignal.texi.
10821         * doc/posix-functions/strxfrm_l.texi: Renamed from
10822         doc/glibc-functions/strxfrm_l.texi.
10823         * doc/posix-functions/timer_gettime.texi: Renamed from
10824         doc/glibc-functions/timer_gettime.texi.
10825         * doc/posix-functions/tolower_l.texi: Renamed from
10826         doc/glibc-functions/tolower_l.texi.
10827         * doc/posix-functions/toupper_l.texi: Renamed from
10828         doc/glibc-functions/toupper_l.texi.
10829         * doc/posix-functions/towctrans_l.texi: Renamed from
10830         doc/glibc-functions/towctrans_l.texi.
10831         * doc/posix-functions/towlower_l.texi: Renamed from
10832         doc/glibc-functions/towlower_l.texi.
10833         * doc/posix-functions/towupper_l.texi: Renamed from
10834         doc/glibc-functions/towupper_l.texi.
10835         * doc/posix-functions/uselocale.texi: Renamed from
10836         doc/glibc-functions/uselocale.texi.
10837         * doc/posix-functions/vdprintf.texi: Renamed from
10838         doc/glibc-functions/vdprintf.texi.
10839         * doc/posix-functions/wcpcpy.texi:
10840         Renamed from doc/glibc-functions/wcpcpy.texi.
10841         * doc/posix-functions/wcpncpy.texi: Renamed from
10842         doc/glibc-functions/wcpncpy.texi.
10843         * doc/posix-functions/wcscasecmp.texi: Renamed from
10844         doc/glibc-functions/wcscasecmp.texi.
10845         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
10846         doc/glibc-functions/wcscasecmp_l.texi.
10847         * doc/posix-functions/wcscoll_l.texi: Renamed from
10848         doc/glibc-functions/wcscoll_l.texi.
10849         * doc/posix-functions/wcsdup.texi: Renamed from
10850         doc/glibc-functions/wcsdup.texi.
10851         * doc/posix-functions/wcsncasecmp.texi: Renamed from
10852         doc/glibc-functions/wcsncasecmp.texi.
10853         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
10854         doc/glibc-functions/wcsncasecmp_l.texi.
10855         * doc/posix-functions/wcsnlen.texi: Renamed from
10856         doc/glibc-functions/wcsnlen.texi.
10857         * doc/posix-functions/wcsnrtombs.texi: Renamed from
10858         doc/glibc-functions/wcsnrtombs.texi.
10859         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
10860         doc/glibc-functions/wcsxfrm_l.texi.
10861         * doc/posix-functions/wctrans_l.texi: Renamed from
10862         doc/glibc-functions/wctrans_l.texi.
10863         * doc/posix-functions/wctype_l.texi: Renamed from
10864         doc/glibc-functions/wctype_l.texi.
10865         * doc/gnulib.texi (Function Substitutes): Add these subsections.
10866         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
10867         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
10868         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
10869         these subsections.
10870         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
10871         Remove sections.
10872
10873 2008-12-14  Bruno Haible  <bruno@clisp.org>
10874
10875         Update doc for POSIX:2008.
10876         * doc/posix-functions/*.texi: Update URL of POSIX specification.
10877
10878 2008-12-14  Bruno Haible  <bruno@clisp.org>
10879
10880         Update doc for POSIX:2008.
10881         * doc/pastposix-functions/bcmp.texi: Renamed from
10882         doc/posix-functions/bcmp.texi.
10883         * doc/pastposix-functions/bcopy.texi: Renamed from
10884         doc/posix-functions/bcopy.texi.
10885         * doc/pastposix-functions/bsd_signal.texi: Renamed from
10886         doc/posix-functions/bsd_signal.texi.
10887         * doc/pastposix-functions/bzero.texi: Renamed from
10888         doc/posix-functions/bzero.texi.
10889         * doc/pastposix-functions/ecvt.texi: Renamed from
10890         doc/posix-functions/ecvt.texi.
10891         * doc/pastposix-functions/fcvt.texi: Renamed from
10892         doc/posix-functions/fcvt.texi.
10893         * doc/pastposix-functions/ftime.texi: Renamed from
10894         doc/posix-functions/ftime.texi.
10895         * doc/pastposix-functions/gcvt.texi: Renamed from
10896         doc/posix-functions/gcvt.texi.
10897         * doc/pastposix-functions/getcontext.texi: Renamed from
10898         doc/posix-functions/getcontext.texi.
10899         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
10900         doc/posix-functions/gethostbyaddr.texi.
10901         * doc/pastposix-functions/gethostbyname.texi: Renamed from
10902         doc/posix-functions/gethostbyname.texi.
10903         * doc/pastposix-functions/getwd.texi: Renamed from
10904         doc/posix-functions/getwd.texi.
10905         * doc/pastposix-functions/h_errno.texi: Renamed from
10906         doc/posix-functions/h_errno.texi.
10907         * doc/pastposix-functions/index.texi: Renamed from
10908         doc/posix-functions/index.texi.
10909         * doc/pastposix-functions/makecontext.texi: Renamed from
10910         doc/posix-functions/makecontext.texi.
10911         * doc/pastposix-functions/mktemp.texi: Renamed from
10912         doc/posix-functions/mktemp.texi.
10913         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
10914         doc/posix-functions/pthread_attr_getstackaddr.texi.
10915         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
10916         doc/posix-functions/pthread_attr_setstackaddr.texi.
10917         * doc/pastposix-functions/rindex.texi: Renamed from
10918         doc/posix-functions/rindex.texi.
10919         * doc/pastposix-functions/scalb.texi: Renamed from
10920         doc/posix-functions/scalb.texi.
10921         * doc/pastposix-functions/setcontext.texi: Renamed from
10922         doc/posix-functions/setcontext.texi.
10923         * doc/pastposix-functions/swapcontext.texi: Renamed from
10924         doc/posix-functions/swapcontext.texi.
10925         * doc/pastposix-functions/ualarm.texi: Renamed from
10926         doc/posix-functions/ualarm.texi.
10927         * doc/pastposix-functions/usleep.texi: Renamed from
10928         doc/posix-functions/usleep.texi.
10929         * doc/pastposix-functions/vfork.texi: Renamed from
10930         doc/posix-functions/vfork.texi.
10931         * doc/pastposix-functions/wcswcs.texi: Renamed from
10932         doc/posix-functions/wcswcs.texi.
10933         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
10934         (Function Substitutes): Update.
10935
10936 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10937
10938         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
10939         m4/strerror.m4.
10940
10941 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10942             Bruno Haible  <bruno@clisp.org>
10943
10944         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
10945
10946 2008-12-13  Bruno Haible  <bruno@clisp.org>
10947
10948         * modules/strtoull (Depends-on): Remove unistd.
10949
10950 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10951
10952         * modules/strtoull (Depends-on): Add stdlib.
10953
10954 2008-12-11  Simon Josefsson  <simon@josefsson.org>
10955
10956         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
10957
10958 2008-12-10  Jim Meyering  <meyering@redhat.com>
10959
10960         gl_ASSERT: don't say assertions are disabled when they're not
10961         * m4/assert.m4 (gl_ASSERT): Do not make configure report
10962         "checking whether to enable assertions... no", when they are in
10963         fact enabled.  This is solely a bug in the output of configure.
10964         In spite of saying "no", NDEBUG was not defined in that case.
10965         Also, as noted by Eric Blake, leave assertions enabled upon
10966         --enable-assert=INVALID.
10967
10968 2008-12-10  Bruno Haible  <bruno@clisp.org>
10969
10970         Change MODULES.html to refer to POSIX:2008 where possible.
10971         * MODULES.html.sh (POSIX2008_URL): New variable.
10972         (posix_headers): Remove sys/timeb, ucontext.
10973         (posix2001_headers): New variable.
10974         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
10975         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
10976         index, makecontext, mktemp, pthread_attr_getstackaddr,
10977         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
10978         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
10979         (posix2001_functions): New variable.
10980         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
10981         otherwise.
10982
10983 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10984
10985         add missing include to parse-duration.c
10986         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
10987         * modules/parse-duration (Depends-on): Add xalloc.
10988
10989         fix sed script reading maint.mk
10990         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
10991         (syntax-check-rules): Use it.
10992
10993 2008-12-09  Bruno Haible  <bruno@clisp.org>
10994
10995         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
10996         MacOS X 10.4/PowerPC.
10997         Reported by Simon Josefsson.
10998
10999 2008-12-08  Jim Meyering  <meyering@redhat.com>
11000
11001         work around mingw's lack of some S_IF definitions
11002         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
11003         Reported by Simon Josefsson.
11004
11005 2008-12-08  Bruno Haible  <bruno@clisp.org>
11006
11007         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
11008         applied to variables. Needed on MacOS X 10.4/PowerPC.
11009         Reported by Simon Josefsson.
11010
11011 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
11012         and Eric Blake  <ebb9@byu.net>
11013
11014         assert: honor --enable-assert
11015         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
11016         order to honor --enable-assert, rather than treating it as a
11017         synonym for --disable-assert.
11018
11019 2008-12-08  Jim Meyering  <meyering@redhat.com>
11020
11021         * lib/posixtm.c: Remove now-useless declaration of mktime.
11022
11023         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
11024
11025 2008-12-07  Bruno Haible  <bruno@clisp.org>
11026
11027         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
11028         test_once): Mark functions as static.
11029         * tests/test-tls.c (test_tls): Likewise.
11030
11031 2008-12-07  Bruno Haible  <bruno@clisp.org>
11032
11033         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
11034         iconv_register_autodetect.
11035
11036 2008-12-07  Jim Meyering  <meyering@redhat.com>
11037
11038         posixtm.c: avoid a warning
11039         * lib/posixtm.c (posixtime): Don't initialize tm0.
11040         It's no longer needed to placate gcc4's -Wuninitialized,
11041         and the attempt to placate would elicit a new warning.
11042
11043         unicodeio.c: mark unused parameters
11044         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
11045         (fallback_failure_callback): Likewise.
11046
11047 2008-12-07  Bruno Haible  <bruno@clisp.org>
11048
11049         * gnulib-tool (func_create_testdir): When building the tests
11050         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
11051         Reported by Simon Josefsson.
11052
11053 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11054
11055         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
11056
11057 2008-12-06  Bruno Haible  <bruno@clisp.org>
11058
11059         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
11060         Suggested by Eric Blake.
11061
11062 2008-12-06  Bruno Haible  <bruno@clisp.org>
11063
11064         Fix a c-stack test failure on MacOS X.
11065         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
11066         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
11067         handler for SIGBUS as well.
11068         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
11069         install a signal handler for SIGBUS as well.
11070         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
11071
11072 2008-12-06  Bruno Haible  <bruno@clisp.org>
11073
11074         Advocacy documentation.
11075         * doc/gnulib-intro.texi (Benefits): New section.
11076         * doc/gnulib.texi: Update.
11077
11078 2008-12-06  Bruno Haible  <bruno@clisp.org>
11079
11080         Document the 'manywarnings' module.
11081         * doc/manywarnings.texi: New file.
11082         * doc/gnulib.texi: Include it.
11083
11084 2008-12-05  Eric Blake  <ebb9@byu.net>
11085
11086         tests: silence some gcc warnings
11087         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
11088         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
11089         type mismatches.
11090
11091 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11092             Bruno Haible  <bruno@clisp.org>
11093
11094         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
11095
11096 2008-11-29  Jim Meyering  <meyering@redhat.com>
11097
11098         unicodeio.c: mark unused parameters
11099         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
11100         (fallback_failure_callback): Likewise.
11101
11102         fts: fix a thinko
11103         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
11104         (set_stat_type): Return S_IF*-valued "type" directly.
11105         Prompted by James Youngman's spotting a related bug.
11106         Confirmed by further testing through find.
11107
11108         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
11109         * lib/fts.c (D_TYPE): Define.
11110         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
11111         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
11112         (s_ifmt_shift_bits): New function.
11113         (set_stat_type): New function.
11114         (fts_build): When not calling fts_stat, call set_stat_type
11115         to propagate dirent.d_type info to fts_read caller.
11116         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
11117         fts_statp->st_mode type information may be valid.
11118
11119 2008-11-28  Simon Josefsson  <simon@josefsson.org>
11120
11121         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
11122         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
11123         <sds@gnu.org>.
11124
11125 2008-11-20  Bruno Haible  <bruno@clisp.org>
11126
11127         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
11128         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
11129         INCLUDE_NEXT.
11130         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
11131         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
11132         * modules/math (Makefile.am): Substitute
11133         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
11134         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
11135
11136 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
11137             Bruno Haible  <bruno@clisp.org>
11138
11139         * lib/stdint.in.h: Define all type macros so that their expansion is
11140         a single typedef'ed token. Fixes a compilation failure in Boost which
11141         does "using ::int8_t;".
11142
11143 2008-11-18  Simon Josefsson  <simon@josefsson.org>
11144
11145         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
11146         gl_MANYWARN_ALL_GCC.
11147         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
11148         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
11149         * modules/manywarnings: New file.
11150         * MODULES.html.sh: Mention manywarnings module.
11151
11152 2008-11-18  Bruno Haible  <bruno@clisp.org>
11153
11154         * doc/gnulib-tool.texi (Unit tests): New section.
11155
11156 2008-11-18  Simon Josefsson  <simon@josefsson.org>
11157
11158         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
11159         paths like 'lib/po/foo.po'.
11160
11161 2008-11-17  Simon Josefsson  <simon@josefsson.org>
11162
11163         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
11164         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
11165
11166 2008-11-17  Simon Josefsson  <simon@josefsson.org>
11167
11168         * m4/warnings.m4: Use CPPFLAGS to really check whether the
11169         parameter works.
11170
11171 2008-11-17  Simon Josefsson  <simon@josefsson.org>
11172
11173         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
11174
11175 2008-11-17  Bruce Korb  <bkorb@gnu.org>
11176
11177         * modules/parse-duration-tests: New file.
11178         * tests/test-parse-duration.sh: New file.
11179         * tests/test-parse-duration.c: New file.
11180
11181         New module 'parse-duration'.
11182         * lib/parse-duration.h: New file.
11183         * lib/parse-duration.c: New file.
11184         * modules/parse-duration: New file.
11185
11186 2008-11-17  Bruno Haible  <bruno@clisp.org>
11187
11188         * tests/test-select-out.sh: Comment out the first pipe test.
11189         Reported by Simon Josefsson.
11190
11191 2008-11-17  Bruno Haible  <bruno@clisp.org>
11192
11193         * modules/getaddrinfo (Depends-on): Add servent, hostent.
11194         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
11195         gl_HOSTENT.
11196
11197 2008-11-17  Bruno Haible  <bruno@clisp.org>
11198
11199         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
11200         -lnetwork and -lnet. Needed for Haiku and BeOS.
11201
11202 2008-11-16  Bruno Haible  <bruno@clisp.org>
11203
11204         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
11205
11206 2008-11-16  Bruno Haible  <bruno@clisp.org>
11207
11208         Avoid test failure on Haiku.
11209         * tests/test-fsync.c: Include <errno.h>.
11210         (main): Don't require that fsync (0) fails.
11211
11212 2008-11-15  Bruno Haible  <bruno@clisp.org>
11213
11214         New module 'hostent'.
11215         * modules/hostent: New file.
11216         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
11217
11218 2008-11-15  Bruno Haible  <bruno@clisp.org>
11219
11220         New module 'servent'.
11221         * modules/servent: New file.
11222         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
11223
11224 2008-11-15  Bruno Haible  <bruno@clisp.org>
11225
11226         Avoid generating same test program with two different rules.
11227         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
11228         test-frexp to test-frexp-nolibm.
11229         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
11230         test-frexpl to test-frexpl-nolibm.
11231
11232 2008-11-15  Bruno Haible  <bruno@clisp.org>
11233
11234         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
11235         $(FREXPL_LIBM).
11236
11237 2008-11-15  Bruno Haible  <bruno@clisp.org>
11238
11239         * lib/netdb.in.h: Activate the definitions also when the system's
11240         <netdb.h> has 'struct addrinfo'.
11241         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
11242         EAI_OVERFLOW or AI_NUMERICSERV.
11243         * doc/posix-headers/netdb.texi: Document the problem.
11244
11245 2008-11-15  Bruno Haible  <bruno@clisp.org>
11246
11247         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
11248
11249         Make the 'sched' module work on platforms where <sched.h> exists but
11250         is incomplete (such as Haiku).
11251         * lib/sched.in.h; Include the system's <sched.h> if it exists.
11252         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
11253         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
11254         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
11255         HAVE_STRUCT_SCHED_PARAM.
11256         * modules/sched (Depends-on): Add include_next.
11257         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
11258         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
11259         * doc/posix-headers/sched.texi: Document the issue.
11260
11261 2008-11-13  Jim Meyering  <meyering@redhat.com>
11262
11263         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
11264         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
11265         test would fail due to the difference in the Report bugs to ...
11266         line.  The expected address is empty, "<>", while the actual
11267         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
11268
11269 2008-11-12  Bruno Haible  <bruno@clisp.org>
11270
11271         lstat: don't compile lstat.c on systems lacking lstat
11272         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
11273         which don't have lstat; this is handled by lib/sys_stat.in.h already.
11274         Reported by Daniel P. Berrange via Jim Meyering.
11275
11276 2008-11-12  Jim Meyering  <meyering@redhat.com>
11277
11278         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
11279
11280 2008-11-12  Simon Josefsson  <simon@josefsson.org>
11281
11282         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
11283         instead.
11284
11285 2008-11-12  Bruno Haible  <bruno@clisp.org>
11286
11287         * lib/unicodeio.c: Include unistr.h.
11288         (utf8_wctomb): Remove function.
11289         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
11290
11291 2008-11-12  Simon Josefsson  <simon@josefsson.org>
11292
11293         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
11294         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
11295         <bruno@clisp.org>.
11296         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
11297
11298 2008-11-12  Simon Josefsson  <simon@josefsson.org>
11299
11300         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
11301         * doc/gnulib.texi: Add section for warnings.
11302
11303 2008-11-11  Bruno Haible  <bruno@clisp.org>
11304
11305         * lib/sockets.h: Add a comment.
11306
11307 2008-11-11  Karl Berry  <karl@gnu.org>
11308
11309         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
11310
11311 2008-11-11  Eric Blake  <ebb9@byu.net>
11312
11313         fdl.texi: avoid git symlinks
11314         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
11315
11316 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
11317
11318         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
11319
11320 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
11321
11322         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
11323         (gl_WARN_ADD): Substitute $2 if literal.
11324
11325 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
11326
11327         * m4/warning.m4: Remove.
11328
11329 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
11330
11331         * m4/warnings.m4: Almost complete rewrite. :-)
11332
11333 2008-11-10  Simon Josefsson  <simon@josefsson.org>
11334
11335         * modules/warnings: New module.
11336         * m4/warnings.m4: New file.
11337         * MODULES.html.sh: Mention warnings module.
11338         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
11339         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11340
11341 2008-11-10  Eric Blake  <ebb9@byu.net>
11342
11343         fdl.texi: make a symlink to the latest version
11344         * doc/standards.texi: Revert today's earlier change.
11345         * doc/fdl-1.2.texi: Rename from old fdl.texi...
11346         * doc/fdl.texi: ...and replace this with a symlink to the newer
11347         fdl-1.3.texi.
11348
11349 2008-11-10  Bruno Haible  <bruno@clisp.org>
11350
11351         * tests/test-select-fd.c (main): Accept the result file name as fourth
11352         argument.
11353         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
11354         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
11355
11356 2008-11-10  Bruno Haible  <bruno@clisp.org>
11357
11358         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
11359         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
11360         as autoconf-substituted macros.
11361         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
11362         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
11363         gl_NETDB_H_DEFAULTS. Set these variables.
11364         * modules/netdb (Makefile.am): Substitute these variables.
11365
11366 2008-11-10  Eric Blake  <ebb9@byu.net>
11367
11368         standards.texi: include correct file for FDL 1.3
11369         * doc/standards.texi (GNU Free Documentation License): Change
11370         include file to pull in FDL 1.3, not 1.2.
11371
11372         fdl.texi: revert accidental change to license
11373         * doc/fdl.texi: This is FDL 1.2, not 1.3.
11374
11375 2008-11-10  Bruno Haible  <bruno@clisp.org>
11376
11377         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
11378         cross-compiling guesses also when the native compile gives no result.
11379
11380 2008-11-10  Bruno Haible  <bruno@clisp.org>
11381
11382         * lib/spawni.c (__spawni): Force variable into the stack.
11383
11384 2008-11-10  Bruno Haible  <bruno@clisp.org>
11385
11386         Add support for Haiku.
11387         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
11388         glibc and BeOS, but also on Haiku.
11389         * lib/fpurge.c (fpurge): Likewise.
11390         * lib/freadable.c (freadable): Likewise.
11391         * lib/freadahead.c (freadahead): Likewise.
11392         * lib/freading.c (freading): Likewise.
11393         * lib/freadptr.c (freadptr): Likewise.
11394         * lib/freadseek.c (freadptrinc): Likewise.
11395         * lib/fseeko.c (rpl_fseeko): Likewise.
11396         * lib/fseterr.c (fseterr): Likewise.
11397         * lib/fwritable.c (fwritable): Likewise.
11398         * lib/fwriting.c (fwriting): Likewise.
11399         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
11400
11401 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
11402
11403         * lib/config.charset: Treat Haiku like BeOS.
11404
11405 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
11406
11407         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
11408         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
11409
11410 2008-11-08  Bruno Haible  <bruno@clisp.org>
11411
11412         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
11413         AC_CACHE_CHECK.
11414
11415 2008-11-08  Bruno Haible  <bruno@clisp.org>
11416
11417         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
11418
11419 2008-11-08  Bruno Haible  <bruno@clisp.org>
11420
11421         * tests/test-select-fd.c: New file.
11422         * tests/test-select-in.sh: New file.
11423         * tests/test-select-out.sh: New file.
11424         * tests/test-select-stdin.c: New file.
11425         * modules/select-tests (Files): Add the new files.
11426         (Depends-on): Add gettimeofday.
11427         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
11428         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
11429         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
11430
11431 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
11432             Bruno Haible  <bruno@clisp.org>
11433
11434         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
11435
11436 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
11437
11438         * build-aux/pmccabe2html: Added support for C++ source files.
11439
11440 2008-11-05  Ben Pfaff  <blp@gnu.org>
11441
11442         Fix lib/close.c build on Windows.
11443         * modules/close (Files): Add lib/w32sock.h.
11444
11445 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
11446
11447         Accept Bison's NEWS format.
11448         * build-aux/announce-gen (print_news_deltas): Tweak
11449         $re_prefix.
11450
11451 2008-11-04  Bruno Haible  <bruno@clisp.org>
11452
11453         * modules/random_r (Maintainer): Add glibc.
11454
11455 2008-11-04  Simon Josefsson  <simon@josefsson.org>
11456
11457         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
11458         by karl@freefriends.org (Karl Berry).
11459         * doc/alloca.texi: Likewise.
11460         * doc/c-ctype.texi: Likewise.
11461         * doc/c-strcase.texi: Likewise.
11462         * doc/c-strcaseeq.texi: Likewise.
11463         * doc/c-strcasestr.texi: Likewise.
11464         * doc/c-strstr.texi: Likewise.
11465         * doc/c-strtod.texi: Likewise.
11466         * doc/c-strtold.texi: Likewise.
11467         * doc/ctime.texi: Likewise.
11468         * doc/error.texi: Likewise.
11469         * doc/fdl.texi: Likewise.
11470         * doc/gcd.texi: Likewise.
11471         * doc/getdate.texi: Likewise.
11472         * doc/gnulib-intro.texi: Likewise.
11473         * doc/gnulib-tool.texi: Likewise.
11474         * doc/gnulib.texi: Likewise.
11475         * doc/inet_ntoa.texi: Likewise.
11476         * doc/maintain.texi: Likewise.
11477         * doc/make-stds.texi: Likewise.
11478         * doc/quote.texi: Likewise.
11479         * doc/regexprops-generic.texi: Likewise.
11480         * doc/standards.texi: Likewise.
11481         * doc/verify.texi: Likewise.
11482         * doc/visibility.texi: Likewise.
11483         * doc/gnulib.texi (GNU Free Documentation License): Include
11484         fdl-1.3.texi instead of fdl.texi.
11485
11486 2008-11-04  Simon Josefsson  <simon@josefsson.org>
11487
11488         * doc/fdl-1.3.texi: New file, from
11489         <http://www.gnu.org/licenses/fdl-1.3.texi>.
11490         * modules/fdl-1.3: Add.
11491         * MODULES.html.sh: Add fdl-1.3.
11492
11493 2008-11-03  Bruno Haible  <bruno@clisp.org>
11494
11495         Make determination of absolute name of header file work with AIX xlc.
11496         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
11497         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
11498         preprocessing.
11499         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
11500         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
11501
11502 2008-11-03  Simon Josefsson  <simon@josefsson.org>
11503
11504         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
11505         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
11506         <ludo@gnu.org>.
11507
11508 2008-11-02  Bruno Haible  <bruno@clisp.org>
11509
11510         Mark 'strpbrk' obsolete.
11511         * modules/strpbrk (Status, Notice): New sections.
11512         * modules/strtok_r (Depends-on): Add strpbrk.
11513
11514 2008-11-02  Bruno Haible  <bruno@clisp.org>
11515
11516         Mark 'strdup' obsolete.
11517         * modules/strdup (Status, Notice): New sections.
11518         * modules/findprog (Depends-on): Add strdup.
11519         * modules/getaddrinfo (Depends-on): Likewise.
11520         * modules/localename (Depends-on): Likewise.
11521         * modules/relocatable-lib (Depends-on): Likewise.
11522         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
11523         * modules/relocatable-prog (Depends-on): Likewise.
11524         * modules/trim (Depends-on): Likewise.
11525         * modules/unictype/gen-ctype (Depends-on): Likewise.
11526         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
11527
11528 2008-11-02  Bruno Haible  <bruno@clisp.org>
11529
11530         Mark 'strcspn' obsolete.
11531         * modules/strcspn (Status, Notice): New sections.
11532
11533 2008-11-02  Bruno Haible  <bruno@clisp.org>
11534
11535         Mark 'rmdir' obsolete.
11536         * modules/rmdir (Status, Notice): New sections.
11537         * modules/clean-temp (Depends-on): Add rmdir.
11538         * modules/openat (Depends-on): Likewise.
11539
11540 2008-11-02  Bruno Haible  <bruno@clisp.org>
11541
11542         Mark 'raise' obsolete.
11543         * modules/raise (Status, Notice): New sections.
11544         (Include): Specify <signal.h>.
11545         * modules/stdio (Depends-on): Add raise.
11546         * modules/write (Depends-on): Likewise.
11547
11548 2008-11-02  Bruno Haible  <bruno@clisp.org>
11549
11550         Mark 'memset' obsolete.
11551         * modules/memset (Status, Notice): New sections.
11552
11553 2008-11-02  Bruno Haible  <bruno@clisp.org>
11554
11555         Mark 'memmove' obsolete.
11556         * modules/memmove (Status, Notice): New sections.
11557         * modules/argp (Depends-on): Add memmove.
11558         * modules/argz (Depends-on): Likewise.
11559         * modules/canonicalize (Depends-on): Likewise.
11560         * modules/canonicalize-lgpl (Depends-on): Likewise.
11561         * modules/fts (Depends-on): Likewise.
11562         * modules/getcwd (Depends-on): Likewise.
11563         * modules/human (Depends-on): Likewise.
11564         * modules/regex (Depends-on): Likewise.
11565         * modules/striconveh (Depends-on): Likewise.
11566         * modules/trim (Depends-on): Likewise.
11567         * modules/unistr/u8-move (Depends-on): Likewise.
11568         * modules/unistr/u16-move (Depends-on): Likewise.
11569         * modules/unistr/u32-move (Depends-on): Likewise.
11570
11571 2008-11-02  Bruno Haible  <bruno@clisp.org>
11572
11573         Mark 'memcpy' obsolete.
11574         * modules/memcpy (Status, Notice): New sections.
11575
11576 2008-11-02  Bruno Haible  <bruno@clisp.org>
11577
11578         Mark 'memcmp' obsolete.
11579         * modules/memcmp (Status, Notice): New sections.
11580         * modules/argmatch (Depends-on): Add memchr.
11581         * modules/backupfile (Depends-on): Likewise.
11582         * modules/c-strcasestr (Depends-on): Likewise.
11583         * modules/crypto/des (Depends-on): Likewise.
11584         * modules/csharpcomp (Depends-on): Likewise.
11585         * modules/fnmatch (Depends-on): Likewise.
11586         * modules/git-merge-changelog (Depends-on): Likewise.
11587         * modules/isnand (Depends-on): Likewise.
11588         * modules/isnand-nolibm (Depends-on): Likewise.
11589         * modules/isnanf (Depends-on): Likewise.
11590         * modules/isnanf-nolibm (Depends-on): Likewise.
11591         * modules/isnanl (Depends-on): Likewise.
11592         * modules/isnanl-nolibm (Depends-on): Likewise.
11593         * modules/mbchar (Depends-on): Likewise.
11594         * modules/memcoll (Depends-on): Likewise.
11595         * modules/quotearg (Depends-on): Likewise.
11596         * modules/regex (Depends-on): Likewise.
11597         * modules/relocatable-prog (Depends-on): Likewise.
11598         * modules/same (Depends-on): Likewise.
11599         * modules/signbit (Depends-on): Likewise.
11600         * modules/strcasestr-simple (Depends-on): Likewise.
11601         * modules/unictype/gen-ctype (Depends-on): Likewise.
11602         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
11603         * modules/uniname/uniname (Depends-on): Likewise.
11604         * modules/unistr/u8-cmp (Depends-on): Likewise.
11605
11606 2008-11-02  Bruno Haible  <bruno@clisp.org>
11607
11608         Mark 'memchr' obsolete.
11609         * modules/memchr (Status, Notice): New sections.
11610         * modules/argp (Depends-on): Add memchr.
11611         * modules/base64 (Depends-on): Likewise.
11612         * modules/c-strcasestr (Depends-on): Likewise.
11613         * modules/chdir-long (Depends-on): Likewise.
11614         * modules/fnmatch (Depends-on): Likewise.
11615         * modules/getsubopt (Depends-on): Likewise.
11616         * modules/git-merge-changelog (Depends-on): Likewise.
11617         * modules/glob (Depends-on): Likewise.
11618         * modules/strcasestr-simple (Depends-on): Likewise.
11619         * modules/strnlen (Depends-on): Likewise.
11620
11621 2008-11-02  Bruno Haible  <bruno@clisp.org>
11622
11623         Mark 'atexit' obsolete.
11624         * modules/atexit (Status, Notice): New sections.
11625         * modules/chdir-long (Depends-on): Add atexit.
11626         * modules/wait-process (Depends-on): Likewise.
11627
11628 2008-11-02  Bruno Haible  <bruno@clisp.org>
11629
11630         * gnulib-tool: New option --with-obsolete.
11631         (func_usage): Document it.
11632         (func_modules_transitive_closure): Drop obsolete dependencies if
11633         incobsolete is not true.
11634         (func_import): Read and save the incobsolete variable to the cache.
11635
11636 2008-11-02  Bruno Haible  <bruno@clisp.org>
11637
11638         * modules/TEMPLATE-EXTENDED: New field 'Status'.
11639         * gnulib-tool: New option --extract-status.
11640         (func_usage): Document it.
11641         (sed_extract_prog): Recognize it.
11642         (func_get_status): New function.
11643
11644 2008-10-30  Simon Josefsson  <simon@josefsson.org>
11645
11646         * modules/sockets (License): Change from LGPL to LGPLv2+.
11647
11648 2008-10-28  Simon Josefsson  <simon@josefsson.org>
11649
11650         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
11651
11652 2008-10-28  Simon Josefsson  <simon@josefsson.org>
11653
11654         * MODULES.html.sh (Support for systems lacking POSIX:2001):
11655         Mention times and sys_times.
11656         * modules/sys_times, modules/sys_times-tests: New modules.
11657         * modules/times, modules/times-tests: Likewise
11658         * m4/sys_times_h.m4: New file.
11659         * lib/sys_times.in.h: Likewise
11660         * lib/times.c: Likewise.
11661         * tests/test-sys_times.c: Likewise.
11662         * tests/test-times.c: Likewise.
11663         * doc/posix-headers/sys_times.texi: Update.
11664         * doc/posix-functions/times.texi: Update.
11665
11666 2008-10-28  Jim Meyering  <meyering@redhat.com>
11667
11668         * modules/tempname (Depends-on): Add lstat.
11669
11670         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
11671
11672 2008-10-28  Simon Josefsson  <simon@josefsson.org>
11673
11674         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
11675         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
11676         using idiom used elsewhere in gnulib.
11677
11678 2008-10-27  Jim Meyering  <meyering@redhat.com>
11679
11680         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
11681
11682 2008-10-27  Simon Josefsson  <simon@josefsson.org>
11683
11684         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
11685         TESTS_ENVIRONMENT, for shell scripts that needs to call built
11686         programs.
11687         * tests/test-argp-2.sh: Use $EXEEXT when needed.
11688
11689 2008-10-27  Simon Josefsson  <simon@josefsson.org>
11690
11691         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
11692
11693 2008-10-27  Bruno Haible  <bruno@clisp.org>
11694
11695         * tests/test-lstat.c: Include <stdio.h>.
11696
11697 2008-10-27  Simon Josefsson  <simon@josefsson.org>
11698
11699         * modules/lstat-tests: New module.
11700         * tests/test-lstat.c: New file.
11701
11702 2008-10-26  Jim Meyering  <meyering@redhat.com>
11703
11704         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
11705
11706 2008-10-26  Simon Josefsson  <simon@josefsson.org>
11707             Bruno Haible  <bruno@clisp.org>
11708
11709         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
11710         * modules/configmake (Include): Add a note that the include must come
11711         after all system headers.
11712         * lib/javaversion.c: Include configmake.h after all other includes.
11713
11714 2008-10-26  Bruno Haible  <bruno@clisp.org>
11715
11716         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
11717         HAVE_STRUCT_RANDOM_DATA to 1.
11718         (gl_STDLIB_H): Simplify.
11719
11720 2008-10-26  Simon Josefsson  <simon@josefsson.org>
11721
11722         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
11723         substitute HAVE_STRUCT_RANDOM_DATA.
11724         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
11725         random_data.
11726         * modules/stdlib (Makefile.am): Substitute
11727         HAVE_STRUCT_RANDOM_DATA.
11728
11729 2008-10-26  Simon Josefsson  <simon@josefsson.org>
11730
11731         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
11732         * doc/gnulib-intro.texi (Copyright): Likewise.
11733
11734 2008-10-26  Simon Josefsson  <simon@josefsson.org>
11735
11736         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
11737         findings.
11738
11739 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
11740             Bruno Haible  <bruno@clisp.org>
11741
11742         * lib/unistd.in.h: Include <winsock2.h>.
11743         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
11744         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
11745         Provide dummy declarations.
11746         (gethostname): Override.
11747         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
11748         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
11749         gl_PREREQ_SYS_H_WINSOCK2.
11750         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
11751         * doc/posix-functions/gethostname.texi: More details.
11752
11753 2008-10-25  Bruno Haible  <bruno@clisp.org>
11754
11755         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
11756         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
11757         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
11758
11759         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
11760         here ...
11761         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
11762         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
11763         gl_UNISTD_H_DEFAULTS.
11764
11765 2008-10-25  Eric Blake  <ebb9@byu.net>
11766
11767         signbit: avoid spurious compiler failure
11768         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
11769         declarations inside function.
11770
11771 2008-10-24  Simon Josefsson  <simon@josefsson.org>
11772             Bruno Haible  <bruno@clisp.org>
11773
11774         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
11775         * modules/random_r (Depends-on): Add stdint.
11776
11777 2008-10-24  Bruno Haible  <bruno@clisp.org>
11778
11779         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
11780         Eggert.
11781         * modules/strerror (License): Likewise.
11782
11783 2008-10-24  Jim Meyering  <meyering@redhat.com>
11784
11785         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
11786         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
11787
11788 2008-10-24  Eric Blake  <ebb9@byu.net>
11789
11790         getgroups: fix compilation when getgroups is available
11791         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
11792         but with <config.h> override of getgroups disabled.
11793
11794 2008-10-24  Simon Josefsson  <simon@josefsson.org>
11795
11796         * doc/gnulib.texi (Header files): Add note about C++ problems.
11797         Explained by Bruno Haible <bruno@clisp.org>.
11798
11799 2008-10-23  Bruno Haible  <bruno@clisp.org>
11800
11801         Define a dummy SA_NODEFER macro on Interix.
11802         * lib/signal.in.h (SA_NODEFER): Define fallback.
11803         Reported by Aleksey Cheusov <cheusov@tut.by> via
11804         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
11805
11806 2008-10-23  Bruno Haible  <bruno@clisp.org>
11807
11808         * modules/freadahead (License): Change to LGPLv2+.
11809         Suggested by Simon Josefsson.
11810
11811 2008-10-23  Jim Meyering  <meyering@redhat.com>
11812
11813         random_r: new module
11814         * modules/random_r: New file.
11815         * m4/random_r.m4: New file.
11816         * lib/random_r.c: New file, from glibc.
11817         * modules/random_r-tests: New file.
11818         * tests/test-random_r.c: New file.
11819         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
11820          Declare.
11821         (RAND_MAX): Define.
11822         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
11823         * modules/stdlib: Substitute them, too.
11824         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
11825         * doc/glibc-functions/initstate_r.texi: Mention the new module.
11826         * doc/glibc-functions/random_r.texi: Likewise.
11827         * doc/glibc-functions/setstate_r.texi: Likewise.
11828         * doc/glibc-functions/srandom_r.texi: Likewise.
11829         * config/srclist.txt: Mention it.
11830
11831 2008-10-23  David Lutterkort  <lutter@redhat.com>
11832
11833         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
11834         link requirement
11835
11836 2008-10-23  Jim Meyering  <meyering@redhat.com>
11837
11838         selinux-h: mark parameters of stub functions as intentionally unused
11839         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
11840         * lib/se-context.in.h: Likewise.
11841
11842 2008-10-22  Simon Josefsson  <simon@josefsson.org>
11843
11844         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
11845
11846 2008-10-22  Simon Josefsson  <simon@josefsson.org>
11847
11848         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
11849
11850 2008-10-22  Eric Blake  <ebb9@byu.net>
11851
11852         glthread/thread: avoid compiler warning
11853         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
11854         Add unreachable abort to silence compiler.
11855
11856 2008-10-22  Eric Blake  <ebb9@byu.net>
11857
11858         netdb: also supply struct addrinfo for cygwin 1.5.x
11859         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
11860         older cygwin.
11861         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
11862         cygwin.
11863         * doc/posix-headers/netdb.texi (netdb.h): Document this.
11864
11865 2008-10-22  Bruno Haible  <bruno@clisp.org>
11866
11867         * users.txt: Update entry about pspp.
11868
11869 2008-10-21  Bruno Haible  <bruno@clisp.org>
11870
11871         Simplification.
11872         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
11873         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
11874
11875         Simplification.
11876         * lib/ioctl.c (ioctl): Don't undefine.
11877         * lib/socket.c (socket): Don't undefine.
11878
11879         Remove unused module indicator macros.
11880         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
11881         GNULIB_$1 as a C macro.
11882
11883         * doc/posix-functions/close.texi: Undo last change.
11884         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
11885         Windows platforms.
11886
11887 2008-10-21  Bruno Haible  <bruno@clisp.org>
11888
11889         Add gethostname() declaration to <unistd.h>.
11890         * lib/unistd.in.h (gethostname): New declaration.
11891         * lib/gethostname.c: Include <unistd.h>.
11892         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
11893         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
11894         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
11895         and HAVE_GETHOSTNAME.
11896         * modules/gethostname (Depends-on): Add unistd.
11897         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
11898         (Include): Specify <unistd.h>.
11899         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
11900         HAVE_GETHOSTNAME.
11901         * tests/test-gethostname.c: Include <unistd.h> first.
11902
11903 2008-10-21  Bruno Haible  <bruno@clisp.org>
11904
11905         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
11906         * modules/select-tests (Depends-on): Likewise.
11907         Reported by Simon Josefsson.
11908
11909 2008-10-21  Simon Josefsson  <simon@josefsson.org>
11910
11911         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
11912         * lib/accept.c: New file, based on winsock.c.
11913         * lib/bind.c: New file, based on winsock.c.
11914         * lib/connect.c: New file, based on winsock.c.
11915         * lib/getpeername.c: New file, based on winsock.c.
11916         * lib/getsockname.c: New file, based on winsock.c.
11917         * lib/getsockopt.c: New file, based on winsock.c.
11918         * lib/ioctl.c: New file, based on winsock.c.
11919         * lib/listen.c: New file, based on winsock.c.
11920         * lib/recv.c: New file, based on winsock.c.
11921         * lib/recvfrom.c: New file, based on winsock.c.
11922         * lib/send.c: New file, based on winsock.c.
11923         * lib/sendto.c: New file, based on winsock.c.
11924         * lib/setsockopt.c: New file, based on winsock.c.
11925         * lib/shutdown.c: New file, based on winsock.c.
11926         * lib/socket.c: New file, based on winsock.c.
11927         * lib/w32sock.h: New file, based on winsock.c.
11928         * lib/winsock.c: Remove file.
11929         * modules/accept: Likewise.
11930         * modules/bind: Likewise.
11931         * modules/connect: Likewise.
11932         * modules/getpeername: Likewise.
11933         * modules/getsockname: Likewise.
11934         * modules/getsockopt: Likewise.
11935         * modules/ioctl: Likewise.
11936         * modules/listen: Likewise.
11937         * modules/recv: Likewise.
11938         * modules/recvfrom: Likewise.
11939         * modules/send: Likewise.
11940         * modules/sendto: Likewise.
11941         * modules/setsockopt: Likewise.
11942         * modules/shutdown: Likewise.
11943         * modules/socket: Use socket.c instead of winsock.c.
11944         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
11945         * doc/posix-functions/accept.texi: Doc fix.
11946         * doc/posix-functions/bind.texi: Doc fix.
11947         * doc/posix-functions/close.texi: Doc fix.
11948         * doc/posix-functions/connect.texi: Doc fix.
11949         * doc/posix-functions/getpeername.texi: Doc fix.
11950         * doc/posix-functions/getsockname.texi: Doc fix.
11951         * doc/posix-functions/getsockopt.texi: Doc fix.
11952         * doc/posix-functions/ioctl.texi: Doc fix.
11953         * doc/posix-functions/listen.texi: Doc fix.
11954         * doc/posix-functions/recv.texi: Doc fix.
11955         * doc/posix-functions/recvfrom.texi: Doc fix.
11956         * doc/posix-functions/send.texi: Doc fix.
11957         * doc/posix-functions/sendto.texi: Doc fix.
11958         * doc/posix-functions/setsockopt.texi: Doc fix.
11959         * doc/posix-functions/shutdown.texi: Doc fix.
11960         * doc/posix-functions/socket.texi: Doc fix.
11961
11962 2008-10-20  Bruno Haible  <bruno@clisp.org>
11963
11964         Take into account the role of SIGABRT_COMPAT on Windows 2008.
11965         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
11966         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
11967         as an alias for SIGABRT.
11968         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
11969         (sigaction): Map it to SIGABRT.
11970         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
11971
11972 2008-10-20  Bruno Haible  <bruno@clisp.org>
11973
11974         * lib/fts.c: Don't include lstat.h.
11975         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
11976
11977         Move the lstat() declaration to <sys/stat.h>.
11978         * lib/lstat.h: Remove file.
11979         * lib/sys_stat.in.h: Add special invocation convention.
11980         (lstat): New declaration.
11981         * lib/lstat.c (orig_lstat): New function.
11982         (rpl_lstat): Use orig_lstat instead of lstat.
11983         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
11984         AC_C_INLINE. Set REPLACE_LSTAT.
11985         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
11986         and REPLACE_LSTAT.
11987         * modules/lstat (Files): Remove lib/lstat.h.
11988         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
11989         (Include): Specify <sys/stat.h> instead of lstat.h.
11990         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
11991         REPLACE_LSTAT.
11992         * NEWS: Mention the change.
11993
11994 2008-10-20  Bruno Haible  <bruno@clisp.org>
11995
11996         * modules/posix_spawn-tests: New file.
11997         * tests/test-posix_spawn3.c: New file.
11998
11999 2008-10-20  Bruno Haible  <bruno@clisp.org>
12000
12001         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
12002         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
12003         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
12004         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
12005         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
12006
12007 2008-10-20  Bruno Haible  <bruno@clisp.org>
12008
12009         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
12010         of posix_spawn on AIX 5.3.
12011
12012 2008-10-20  Bruno Haible  <bruno@clisp.org>
12013
12014         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
12015
12016 2008-10-20  Bruno Haible  <bruno@clisp.org>
12017
12018         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
12019         of AC_LANG_PROGRAM.
12020
12021 2008-10-20  Simon Josefsson  <simon@josefsson.org>
12022
12023         * lib/netdb.in.h: Don't define GNU specific constants until they
12024         are supported or needed.  Reported by Bruno Haible
12025         <bruno@clisp.org>.
12026
12027 2008-10-20  Simon Josefsson  <simon@josefsson.org>
12028
12029         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
12030
12031 2008-10-20  Simon Josefsson  <simon@josefsson.org>
12032
12033         * lib/getaddrinfo.h: Remove file.
12034         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
12035         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
12036         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
12037         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
12038         * modules/netdb: Substitute GNULIB_GETADDRINFO.
12039         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
12040         * tests/test-getaddrinfo.c: Likewise.
12041         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
12042         * NEWS: Mention change.
12043
12044 2008-10-19  Bruno Haible  <bruno@clisp.org>
12045
12046         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
12047
12048 2008-10-19  Bruno Haible  <bruno@clisp.org>
12049
12050         * lib/wait-process.c: Include simply <sys/wait.h>.
12051         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
12052         WIFSTOPPED): Remove fallback definitions.
12053         * modules/wait-process (Depends-on): Add sys_wait.
12054
12055         New module 'sys_wait'.
12056         * modules/sys_wait: New file.
12057         * lib/sys_wait.in.h: New file, partially copied from
12058         lib/wait-process.c.
12059         * m4/sys_wait_h.m4: New file.
12060         * doc/posix-headers/sys_wait.texi: Mention the new module.
12061
12062 2008-10-19  Bruno Haible  <bruno@clisp.org>
12063
12064         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
12065
12066 2008-10-19  Bruno Haible  <bruno@clisp.org>
12067
12068         Assume that waitpid() fills an 'int' status, not a 'union wait'.
12069         * lib/wait-process.c (WAIT_T): Remove type.
12070         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
12071         (wait_subprocess): Update.
12072
12073 2008-10-19  Bruno Haible  <bruno@clisp.org>
12074
12075         New module 'atoll'.
12076         * modules/atoll: New file.
12077         * lib/stdlib.in.h (atoll): New declaration.
12078         * lib/atoll.c: New file, from glibc with modifications.
12079         * m4/atoll.m4: New file.
12080         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
12081         HAVE_ATOLL.
12082         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
12083         * doc/posix-functions/atoll.texi: Mention the new module.
12084
12085 2008-10-19  Bruno Haible  <bruno@clisp.org>
12086
12087         Add strtoull() declaration to <stdlib.h>.
12088         * lib/stdlib.in.h (strtoull): New declaration.
12089         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
12090         Set HAVE_STRTOULL.
12091         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
12092         HAVE_STRTOULL.
12093         * modules/strtoull (Depends-on): Add stdlib.
12094         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
12095         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
12096         HAVE_STRTOULL.
12097
12098 2008-10-19  Bruno Haible  <bruno@clisp.org>
12099
12100         Add strtoll() declaration to <stdlib.h>.
12101         * lib/stdlib.in.h (strtoll): New declaration.
12102         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
12103         Set HAVE_STRTOLL.
12104         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
12105         HAVE_STRTOLL.
12106         * modules/strtoll (Depends-on): Add stdlib.
12107         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
12108         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
12109
12110 2008-10-19  Bruno Haible  <bruno@clisp.org>
12111
12112         * modules/bcopy (Depends-on): Add strings.
12113         (Include): Specify <strings.h>.
12114
12115 2008-10-19  Bruno Haible  <bruno@clisp.org>
12116
12117         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
12118
12119 2008-10-19  Bruno Haible  <bruno@clisp.org>
12120
12121         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
12122         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
12123         mingw.
12124
12125 2008-10-19  Bruno Haible  <bruno@clisp.org>
12126
12127         * lib/atanl.c: Don't include isnanl.h.
12128         * lib/cosl.c: Likewise.
12129         * lib/ldexpl.c: Likewise.
12130         * lib/logl.c: Likewise.
12131         * lib/sinl.c: Likewise.
12132         * lib/sqrtl.c: Likewise.
12133         * lib/tanl.c: Likewise.
12134
12135         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
12136         * lib/isnanf.h: Remove file.
12137         * lib/isnand.h: Remove file.
12138         * lib/isnanl.h: Remove file.
12139         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
12140         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
12141         macros.
12142         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
12143         HAVE_ISNANF, don't define it as a C macro.
12144         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
12145         HAVE_ISNAND, don't define it as a C macro.
12146         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
12147         HAVE_ISNANL, don't define it as a C macro.
12148         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
12149         HAVE_ISNAN[FDL].
12150         * modules/isnanf (Files): Remove lib/isnanf.h.
12151         (Depends-on): Add math.
12152         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12153         (Include): Specify <math.h> instead of isnanf.h.
12154         * modules/isnand (Files): Remove lib/isnand.h.
12155         (Depends-on): Add math.
12156         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12157         (Include): Specify <math.h> instead of isnand.h.
12158         * modules/isnanl (Files): Remove lib/isnanl.h.
12159         (Depends-on): Add math.
12160         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12161         (Include): Specify <math.h> instead of isnanl.h.
12162         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
12163         HAVE_ISNAN[FDL].
12164         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
12165         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
12166         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
12167         * NEWS: Mention the change.
12168
12169 2008-10-18  Bruno Haible  <bruno@clisp.org>
12170
12171         Add getusershell(), setusershell(), endusershell() declarations to
12172         <unistd.h>.
12173         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
12174         declarations.
12175         * lib/getusershell.c: Include unistd.h.
12176         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
12177         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
12178         HAVE_GETUSERSHELL.
12179         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
12180         and HAVE_GETUSERSHELL.
12181         * modules/getusershell (Depends-on): Add unistd, extensions.
12182         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12183         (Include): Specify <unistd.h>.
12184         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
12185         HAVE_GETUSERSHELL.
12186
12187 2008-10-18  Bruno Haible  <bruno@clisp.org>
12188
12189         Add a getloadavg() declaration to <stdlib.h>.
12190         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
12191         getloadavg declaration.
12192         (getloadavg): New declaration.
12193         * lib/getloadavg.c: Include <stdlib.h> first.
12194         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
12195         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
12196         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
12197         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
12198         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
12199         * modules/getloadavg (Depends-on): Add stdlib, extensions.
12200         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
12201         (Include): Specify <stdlib.h>.
12202         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
12203         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
12204
12205 2008-10-18  Bruno Haible  <bruno@clisp.org>
12206
12207         * lib/dirchownmod.c: Don't include lchmod.h.
12208
12209         Move the lchmod() declaration to <sys/stat.h>.
12210         * lib/lchmod.h: Remove file.
12211         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
12212         (lchmod): New declaration, moved here from lib/lchown.h.
12213         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
12214         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
12215         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
12216         and HAVE_LCHMOD.
12217         * modules/lchmod (Files): Remove lib/lchmod.h.
12218         (Depends-on): Add sys_stat, extensions.
12219         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
12220         (Include): Specify <sys/stat.h> instead of lchmod.h.
12221         * modules/sys_stat (Depends-on): Add link-warning.
12222         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
12223         definition of GL_LINK_WARNING.
12224         * NEWS: Mention the change.
12225
12226 2008-10-18  Bruno Haible  <bruno@clisp.org>
12227
12228         * lib/fchdir.c: Don't include dirfd.h.
12229         * lib/fts.c: Likewise.
12230         * lib/getcwd.c: Likewise.
12231         * lib/glob.c: Likewise.
12232
12233         Move the dirfd() declaration to <dirent.h>.
12234         * lib/dirfd.h: Remove file.
12235         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
12236         (dirfd): New declaration.
12237         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
12238         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
12239         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
12240         HAVE_DECL_DIRFD.
12241         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
12242         HAVE_DECL_DIRFD.
12243         * modules/dirfd (Files): Remove lib/dirfd.h.
12244         (Depends-on): Add dirent, extensions.
12245         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
12246         (Include): Specify <dirent.h> instead of dirfd.h.
12247         * modules/dirent (Depends-on): Add link-warning.
12248         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
12249         definition of GL_LINK_WARNING.
12250         * NEWS: Mention the change.
12251
12252 2008-10-18  Bruno Haible  <bruno@clisp.org>
12253
12254         Move the euidaccess() declaration to <unistd.h>.
12255         * lib/euidaccess.h: Remove file.
12256         * lib/unistd.in.h (euidaccess): New declaration.
12257         * lib/euidaccess.c: Don't include euidaccess.h.
12258         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
12259         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
12260         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
12261         and HAVE_EUIDACCESS.
12262         * modules/euidaccess (Files): Remove lib/euidaccess.h.
12263         (Depends-on): Add unistd.
12264         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12265         (Include): Specify <unistd.h> instead of euidaccess.h.
12266         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
12267         HAVE_EUIDACCESS.
12268         * NEWS: Mention the change.
12269
12270 2008-10-18  Bruno Haible  <bruno@clisp.org>
12271
12272         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
12273
12274         Move the getdomainname() declaration to <unistd.h>.
12275         * lib/getdomainname.h: Remove file.
12276         * lib/unistd.in.h (getdomainname): New declaration.
12277         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
12278         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
12279         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
12280         HAVE_GETDOMAINNAME.
12281         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12282         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
12283         * modules/getdomainname (Files): Remove lib/getdomainname.h.
12284         (Depends-on): Add unistd, extensions.
12285         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12286         (Includes): Specify <unistd.h> instead of getdomainname.h.
12287         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
12288         HAVE_GETDOMAINNAME.
12289         * NEWS: Mention the change.
12290
12291 2008-10-18  Bruno Haible  <bruno@clisp.org>
12292
12293         * modules/dirent: New file.
12294         * m4/dirent_h.m4: New file.
12295         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
12296         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
12297         * modules/fchdir (Files): Remove lib/dirent.in.h.
12298         (Depends-on): Add dirent.
12299         (Makefile.am): Move rules to modules/dirent.
12300         * doc/posix-headers/dirent.texi: Mention the new module.
12301
12302 2008-10-18  Bruno Haible  <bruno@clisp.org>
12303
12304         Avoid -Wunused-parameter warnings in public gnulib header files.
12305         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
12306         macro.
12307         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
12308
12309 2008-10-18  Bruno Haible  <bruno@clisp.org>
12310
12311         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
12312         * doc/glibc-functions/error.texi: Mention the module 'error'.
12313         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
12314         * doc/glibc-functions/getdomainname.texi: Mention the module
12315         'getdomainname'.
12316         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
12317         * doc/glibc-functions/getpagesize.texi: Mention the module
12318         'getpagesize'.
12319         * doc/glibc-functions/getusershell.texi: Mention the module
12320         'getusershell'.
12321         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
12322         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
12323         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
12324         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
12325         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
12326         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
12327         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
12328         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
12329         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
12330         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
12331         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
12332         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
12333         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
12334         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
12335
12336 2008-10-17  Bruno Haible  <bruno@clisp.org>
12337
12338         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
12339         HP-UX and IRIX, use -0.0L.
12340         * tests/test-ceill.c (minus_zero): Likewise.
12341         * tests/test-floorl.c (minus_zero): Likewise.
12342         * tests/test-frexpl.c (minus_zero): Likewise.
12343         * tests/test-isnan.c (minus_zerol): Likewise.
12344         * tests/test-isnanl.h (minus_zero): Likewise.
12345         * tests/test-ldexpl.c (minus_zero): Likewise.
12346         * tests/test-roundl.c (minus_zero): Likewise.
12347         * tests/test-signbit.c (minus_zerol): Likewise.
12348         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
12349         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
12350         * tests/test-truncl.c (minus_zero): Likewise.
12351         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
12352         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
12353         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
12354         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
12355
12356 2008-10-17  Bruno Haible  <bruno@clisp.org>
12357
12358         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
12359         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
12360         that it gets activated only for gcc >= 3.0.
12361         * lib/dirent.in.h: Likewise.
12362         * lib/errno.in.h: Likewise.
12363         * lib/fcntl.in.h: Likewise.
12364         * lib/float.in.h: Likewise.
12365         * lib/iconv.in.h: Likewise.
12366         * lib/inttypes.in.h: Likewise.
12367         * lib/locale.in.h: Likewise.
12368         * lib/math.in.h: Likewise.
12369         * lib/netdb.in.h: Likewise.
12370         * lib/netinet_in.in.h: Likewise.
12371         * lib/search.in.h: Likewise.
12372         * lib/signal.in.h: Likewise.
12373         * lib/spawn.in.h: Likewise.
12374         * lib/stdarg.in.h: Likewise.
12375         * lib/stdint.in.h: Likewise.
12376         * lib/stdio.in.h: Likewise.
12377         * lib/stdlib.in.h: Likewise.
12378         * lib/string.in.h: Likewise.
12379         * lib/strings.in.h: Likewise.
12380         * lib/sys_file.in.h: Likewise.
12381         * lib/sys_ioctl.in.h: Likewise.
12382         * lib/sys_select.in.h: Likewise.
12383         * lib/sys_socket.in.h: Likewise.
12384         * lib/sys_stat.in.h: Likewise.
12385         * lib/sys_time.in.h: Likewise.
12386         * lib/sysexits.in.h: Likewise.
12387         * lib/time.in.h: Likewise.
12388         * lib/unistd.in.h: Likewise.
12389         * lib/wchar.in.h: Likewise.
12390         * lib/wctype.in.h: Likewise.
12391         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
12392
12393 2008-10-17  Jim Meyering  <meyering@redhat.com>
12394
12395         ignore-value: don't depend on inline module
12396         * modules/ignore-value (Depends-on): Remove 'inline'.
12397         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
12398         Suggestion from Bruno Haible.
12399
12400 2008-10-17  Bruno Haible  <bruno@clisp.org>
12401
12402         New implementation of condition variables for Win32.
12403         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
12404         (gl_linked_waitqueue_t): New type.
12405         (gl_cond_t): Use it.
12406         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
12407         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
12408         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
12409         (glthread_cond_init_func, glthread_cond_wait_func,
12410         glthread_cond_timedwait_func, glthread_cond_signal_func,
12411         glthread_cond_broadcast_func, glthread_cond_destroy_func):
12412         Reimplemented on the basis of gl_linked_waitqueue_t.
12413         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
12414         gl_waitqueue_t.
12415         (gl_rwlock_t): Update.
12416         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
12417
12418 2008-10-17  Simon Josefsson  <simon@josefsson.org>
12419
12420         * modules/recvfrom (Depends-on): Add dependency on getpeername.
12421         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
12422
12423 2008-10-17  Jim Meyering  <meyering@redhat.com>
12424
12425         ignore-value: new module
12426         * modules/ignore-value: New file.
12427         * lib/ignore-value.h: New file.
12428         * MODULES.html.sh (Compiler warning management): New section,
12429         just for this module.  More to come.
12430
12431 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
12432
12433         open-safer.c: avoid 'signed and unsigned in conditional...' warning
12434         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
12435         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
12436
12437 2008-10-16  Jim Meyering  <meyering@redhat.com>
12438
12439         openat-die.c: avoid 'no previous prototype' warning
12440         * lib/openat-die.c: Include "openat.h".
12441         Reported by Reuben Thomas <rrt@sc3d.org>.
12442
12443 2008-10-16  Simon Josefsson  <simon@josefsson.org>
12444
12445         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
12446         * lib/netdb.in.h: Fix typo.
12447         Reported by Bruno Haible  <bruno@clisp.org>
12448
12449         * lib/netdb.in.h: Include sys/socket.h for platforms without
12450         netdb.h, to get structures like hostent on MinGW.
12451         * modules/netdb (Depends-on): Add sys_socket.
12452
12453 2008-10-15  Simon Josefsson  <simon@josefsson.org>
12454
12455         * modules/netdb, modules/netdb-tests: New file.
12456         * m4/netdb_h.m4: New file.
12457         * lib/netdb.in.h: Add, currently just an empty file pending
12458         definitions.
12459         * tests/test-netdb.c: New file.
12460         * doc/posix-headers/netdb.texi: Mention that we replace it if
12461         needed.
12462         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
12463         netdb.
12464
12465 2008-10-15  Simon Josefsson  <simon@josefsson.org>
12466
12467         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
12468         with code.
12469
12470 2008-10-13  Bruno Haible  <bruno@clisp.org>
12471
12472         * lib/glthread/cond.c (glthread_cond_wait_func,
12473         glthread_cond_timedwait_func): Add a comment.
12474
12475 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
12476
12477         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
12478         * tests/test-select.c: Likewise,
12479
12480 2008-10-13  Bruno Haible  <bruno@clisp.org>
12481
12482         * lib/glthread/cond.c (glthread_cond_wait_func,
12483         glthread_cond_timedwait_func): Fix variable name.
12484         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
12485
12486 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
12487
12488         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
12489         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
12490         struct sockaddr.sa_len.
12491         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
12492
12493 2008-10-13  Simon Josefsson  <simon@josefsson.org>
12494
12495         * build-aux/pmccabe2html: Add css and css_url parameters.
12496
12497 2008-10-12  Bruno Haible  <bruno@clisp.org>
12498
12499         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
12500         calling aclx_get.
12501         Reported by Rainer Tammer <tammer@tammer.net>.
12502
12503 2008-10-12  Bruno Haible  <bruno@clisp.org>
12504
12505         Use msvcrt aware primitives for creation/termination of Win32 threads.
12506         * lib/glthread/thread.c: Include <process.h>.
12507         (glthread_create_func): Use _beginthreadex instead of CreateThread.
12508         (wrapper_func): Update signature.
12509         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
12510
12511 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
12512             Bruno Haible  <bruno@clisp.org>
12513
12514         Provide a Win32 implementation of the 'cond' module.
12515         * lib/glthread/cond.h [USE_WIN32]: New implementation.
12516         * lib/glthread/cond.c (glthread_cond_init_func,
12517         glthread_cond_wait_func, glthread_cond_timedwait_func,
12518         glthread_cond_signal_func, glthread_cond_broadcast_func,
12519         glthread_cond_destroy_func) [USE_WIN32]: New functions.
12520         * modules/cond (Dependencies): Add gettimeofday.
12521
12522 2008-10-11  Bruno Haible  <bruno@clisp.org>
12523
12524         Make sleep work on older versions of mingw.
12525         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
12526         only whether it exists.
12527         * doc/posix-functions/sleep.texi: Mention the problem with older
12528         versions of mingw.
12529
12530 2008-10-11  Bruno Haible  <bruno@clisp.org>
12531
12532         New module 'shutdown'.
12533         * modules/shutdown: New file.
12534         * lib/sys_socket.in.h (shutdown): New declaration.
12535         * lib/winsock.c (shutdown): New function.
12536         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
12537         GNULIB_SHUTDOWN.
12538         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
12539         * doc/posix-functions/shutdown.texi: Document the new module.
12540
12541 2008-10-11  Jim Meyering  <meyering@redhat.com>
12542
12543         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
12544
12545 2008-10-11  Bruno Haible  <bruno@clisp.org>
12546
12547         New module 'fclose'.
12548         * modules/fclose: New file.
12549         * lib/stdio.in.h (fclose): New declaration.
12550         * lib/fclose.c: New file.
12551         * m4/fclose.m4: New file.
12552         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
12553         REPLACE_FCLOSE.
12554         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
12555         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
12556         REPLACE_FCLOSE.
12557         * modules/close (Depends-on): fclose.
12558         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
12559
12560 2008-10-11  Bruno Haible  <bruno@clisp.org>
12561
12562         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
12563         set errno and don't call _close.
12564
12565 2008-10-10  Bruno Haible  <bruno@clisp.org>
12566
12567         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
12568         ACL, not afterwards. Fixes test failure on Cygwin.
12569
12570 2008-10-09  Ben Pfaff  <blp@gnu.org>
12571
12572         * build-aux/announce-gen: Fix gnulib version related part of usage
12573         message.  Die with a useful error message if no tarballs are
12574         found.
12575
12576 2008-10-10  Jim Meyering  <meyering@redhat.com>
12577
12578         bootstrap: use git's --depth=N option only if it's supported
12579         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
12580         recognize the --depth option.  Reported by Pádraig Brady.
12581
12582 2008-10-09  Bruno Haible  <bruno@clisp.org>
12583
12584         New module 'ioctl'.
12585         * modules/ioctl: New file.
12586         * lib/sys_socket.in.h (ioctl): Remove declaration.
12587         * lib/winsock.c: Include <sys/ioctl.h>.
12588         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
12589         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
12590         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
12591         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
12592         * doc/posix-functions/ioctl.texi: Mention the new module.
12593
12594 2008-10-09  Bruno Haible  <bruno@clisp.org>
12595
12596         New module 'sys_ioctl'.
12597         * lib/sys_ioctl.in.h: New file.
12598         * m4/sys_ioctl_h.m4: New file.
12599         * modules/sys_ioctl: New file.
12600         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
12601
12602 2008-10-09  Bruno Haible  <bruno@clisp.org>
12603
12604         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
12605         * lib/winsock.c: Include <stdarg.h>.
12606         (rpl_ioctl): Change to second argument 'int' and then varargs.
12607
12608 2008-10-09  Bruno Haible  <bruno@clisp.org>
12609
12610         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
12611         when the sys_socket module is present and the system has <winsock2.h>.
12612
12613 2008-10-09  Bruno Haible  <bruno@clisp.org>
12614
12615         * doc/posix-functions/close.texi: Mention module 'close' instead of
12616         module 'sys_socket'.
12617
12618 2008-10-09  Bruno Haible  <bruno@clisp.org>
12619
12620         * doc/glibc-headers/sys_ioctl.texi: New file.
12621         * doc/gnulib.texi: Include it.
12622
12623 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
12624             Bruno Haible  <bruno@clisp.org>
12625
12626         Combine the two replacements of 'close'.
12627         * lib/sys_socket.in.h (close): Define to a reminder to include
12628         <unistd.h>.
12629         (_gl_close_fd_maybe_socket): New declaration.
12630         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
12631         * lib/winsock.c (close): Remove undefinition.
12632         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
12633         needed for the gnulib module 'close'.
12634         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
12635         define to an error symbol or to a warning, if suitable.
12636         * lib/close.c: Include <sys/socket.h>.
12637         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
12638         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
12639         UNISTD_H_HAVE_WINSOCK2_H.
12640         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
12641         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12642         UNISTD_H_HAVE_WINSOCK2_H.
12643         * modules/sys_socket (Files): Add m4/unistd_h.m4.
12644         (configure.ac): Set a module indicator.
12645         (Makefile.am): Substitute GNULIB_CLOSE.
12646         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
12647         * modules/poll-tests (Depends-on): Add close.
12648         * modules/select-tests (Depends-on): Likewise.
12649
12650 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
12651             Bruno Haible  <bruno@clisp.org>
12652
12653         New module 'close'.
12654         * modules/close: New file.
12655         * lib/unistd.in.h (close): Move declaration out of the
12656         FCHDIR_REPLACEMENT scope.
12657         (_gl_unregister_fd): New declaration.
12658         * lib/close.c: New file.
12659         * lib/fchdir.c (rpl_close): Remove function.
12660         * m4/close.m4: New file.
12661         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
12662         close.
12663         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
12664         REPLACE_CLOSE.
12665         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
12666         REPLACE_CLOSE.
12667         * modules/fchdir (Depends-on): Add close.
12668
12669 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
12670             Bruno Haible  <bruno@clisp.org>
12671
12672         * lib/fcntl.in.h (open): Simplify conditionals.
12673         (_gl_register_fd): New declaration.
12674         * lib/fchdir.c (rpl_open): Remove function.
12675         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
12676         also.
12677         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
12678         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
12679         open.
12680
12681 2008-10-09  Jim Meyering  <meyering@redhat.com>
12682
12683         GNUmakefile: use the more name-space-friendly "_version"
12684         * top/GNUmakefile (_dummy): Update.
12685         (_version): Rename from "version".
12686
12687 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
12688             Bruno Haible  <bruno@clisp.org>
12689
12690         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
12691         rpl_close.
12692         (_gl_register_fd): New function, extracted from rpl_open.
12693         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
12694         (rpl_open, rpl_opendir): Use _gl_register_fd.
12695
12696 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
12697
12698         Fix organization of 'open' replacement.
12699         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
12700         (gl_FUNC_OPEN): Use it.
12701         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
12702
12703 2008-10-08  Bruno Haible  <bruno@clisp.org>
12704
12705         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
12706
12707 2008-10-08  Simon Josefsson  <simon@josefsson.org>
12708
12709         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
12710         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
12711         listen).
12712
12713 2008-10-08  Eric Blake  <ebb9@byu.net>
12714
12715         GNUmakefile: add 'make version' target
12716         * top/GNUmakefile (_curr-ver): Split version update rules...
12717         (version): ...into a target.
12718
12719 2008-10-07  Bruno Haible  <bruno@clisp.org>
12720
12721         Use a more portable replacement expression for -0.0L.
12722         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
12723         instead of -0.0L. Fix m4 quotation.
12724
12725         * tests/test-signbit.c: Include <float.h>.
12726         (minus_zero): New variable.
12727         (test_signbitl): Use minus_zero instead of -zero.
12728         * modules/signbit-tests (Depends-on): Add float.
12729
12730         * tests/test-ceill.c: Include <float.h>.
12731         (zero): Remove variable.
12732         (minus_zero): New variable.
12733         (main): Use minus_zero instead of -zero.
12734         * modules/ceill-tests (Depends-on): Add float.
12735
12736         * tests/test-floorl.c: Include <float.h>.
12737         (zero): Remove variable.
12738         (minus_zero): New variable.
12739         (main): Use minus_zero instead of -zero.
12740         * modules/floorl-tests (Depends-on): Add float.
12741
12742         * tests/test-roundl.c: Include <float.h>.
12743         (zero): Remove variable.
12744         (minus_zero): New variable.
12745         (main): Use minus_zero instead of -zero.
12746         * modules/roundl-tests (Depends-on): Add float.
12747
12748         * tests/test-truncl.c: Include <float.h>.
12749         (zero): Remove variable.
12750         (minus_zero): New variable.
12751         (main): Use minus_zero instead of -zero.
12752         * modules/truncl-tests (Depends-on): Add float.
12753
12754         * tests/test-frexpl.c (zero): Remove variable.
12755         (minus_zero): New variable.
12756         (main): Use minus_zero instead of -zero.
12757         * modules/frexpl-tests (Depends-on): Add float.
12758
12759         * tests/test-isnan.c (zerol): Remove variable.
12760         (minus_zerol): New variable.
12761         (test_long_double): Use minus_zerol instead of -zerol.
12762         * modules/isnan-tests (Depends-on): Add float.
12763
12764         * tests/test-isnanl.h (zero): Remove variable.
12765         (minus_zero): New variable.
12766         (main): Use minus_zero instead of -zero.
12767         * modules/isnanl-nolibm-tests (Depends-on): Add float.
12768         * modules/isnanl-tests (Depends-on): Add float.
12769
12770         * tests/test-ldexpl.c (zero): Remove variable.
12771         (minus_zero): New variable.
12772         (main): Use minus_zero instead of -zero.
12773         * modules/ldexpl-tests (Depends-on): Add float.
12774
12775         * tests/test-snprintf-posix.h (zerol): Remove variable.
12776         (minus_zerol): New variable.
12777         (test_function): Use minus_zerol instead of -zerol.
12778         * modules/snprintf-posix-tests (Depends-on): Add float.
12779         * modules/vsnprintf-posix-tests (Depends-on): Add float.
12780
12781         * tests/test-sprintf-posix.h (zerol): Remove variable.
12782         (minus_zerol): New variable.
12783         (test_function): Use minus_zerol instead of -zerol.
12784         * modules/sprintf-posix-tests (Depends-on): Add float.
12785         * modules/vsprintf-posix-tests (Depends-on): Add float.
12786
12787         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
12788         (minus_zerol): New variable.
12789         (test_function): Use minus_zerol instead of -zerol.
12790         * modules/vasnprintf-posix-tests (Depends-on): Add float.
12791
12792         * tests/test-vasprintf-posix.c (zerol): Remove variable.
12793         (minus_zerol): New variable.
12794         (test_function): Use minus_zerol instead of -zerol.
12795         * modules/vasprintf-posix-tests (Depends-on): Add float.
12796
12797 2008-10-07  Simon Josefsson  <simon@josefsson.org>
12798
12799         * MODULES.html.sh (Support for building documentation): Mention
12800         pmccabe2html.  Sort entries.
12801
12802         Add pmccabe2html module, from gnupdf.
12803         * build-aux/pmccabe.css: New file.
12804         * build-aux/pmccabe2html: New file.
12805         * m4/pmccabe2html.m4: New file.
12806         * modules/pmccabe2html: New file.
12807
12808 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
12809
12810         flock: new module
12811         * MODULES.html.sh: Add to list of modules.
12812         * lib/flock.c: flock implementation for Windows and Unix systems
12813         which have fcntl.
12814         * doc/glibc-functions/flock.texi: Update documentation.
12815         * lib/sys_file.in.h: <sys/file.h> header file.
12816         * m4/flock.m4: M4 macros.
12817         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
12818         * modules/flock: flock module.
12819         * modules/flock-tests: flock tests module.
12820         * modules/sys_file: sys/file.h module.
12821         * tests/test-flock.c: test suite for flock.
12822
12823 2008-10-06  Jim Meyering  <meyering@redhat.com>
12824
12825         bootstrap: check for LT_INIT more portably still ;-)
12826         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
12827         Spotted by Bruno Haible.
12828
12829 2008-10-06  Eric Blake  <ebb9@byu.net>
12830
12831         test-signbit: avoid tripping Irix cc bug on -0.0L
12832         * tests/test-signbit.c (minus_zerol): Delete, and replace with
12833         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
12834         entire testsuite consistent and avoids an Irix 6.2 bug.
12835
12836 2008-10-05  Bruno Haible  <bruno@clisp.org>
12837             Jim Meyering  <jim@meyering.net>
12838
12839         Add an option for ignoring EPIPE during close_stdout.
12840         * lib/closeout.h: Include <stdbool.h>.
12841         (close_stdout_set_ignore_EPIPE): New declaration.
12842         * lib/closeout.c: Include <stdbool.h>.
12843         (ignore_EPIPE): New variable.
12844         (close_stdout_set_ignore_EPIPE): New function.
12845         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
12846         * lib/close-stream.c (close_stream): Mention the possible EPIPE
12847         failure.
12848         * modules/closeout (Depends-on): Add stdbool.
12849
12850 2008-10-05  Bruno Haible  <bruno@clisp.org>
12851
12852         * modules/accept: New file.
12853         * modules/bind: New file.
12854         * modules/connect: New file.
12855         * modules/getpeername: New file.
12856         * modules/getsockname: New file.
12857         * modules/getsockopt: New file.
12858         * modules/listen: New file.
12859         * modules/recv: New file.
12860         * modules/recvfrom: New file.
12861         * modules/send: New file.
12862         * modules/sendto: New file.
12863         * modules/setsockopt: New file.
12864         * modules/socket: New file.
12865         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
12866         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
12867         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
12868         the particular module is requested. Add a link warning when the
12869         particular module is not requested.
12870         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
12871         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
12872         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
12873         the particular module is requested.
12874         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
12875         gl_SYS_SOCKET_H_DEFAULTS): New macros.
12876         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
12877         * modules/sys_socket (Depends-on): Add link-warning.
12878         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
12879         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
12880         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
12881         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
12882         GL_LINK_WARNING.
12883         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
12884         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
12885         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
12886         * doc/posix-functions/getpeername.texi: Mention the new module
12887         'getpeername'.
12888         * doc/posix-functions/getsockname.texi: Mention the new module
12889         'getsockname'.
12890         * doc/posix-functions/getsockopt.texi: Mention the new module
12891         'getsockopt'.
12892         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
12893         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
12894         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
12895         * doc/posix-functions/send.texi: Mention the new module 'send'.
12896         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
12897         * doc/posix-functions/setsockopt.texi: Mention the new module
12898         'setsockopt'.
12899         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
12900         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
12901         listen, connect, accept.
12902         * modules/select-tests (Depends-on): Likewise.
12903
12904 2008-10-05  Bruno Haible  <bruno@clisp.org>
12905
12906         * lib/winsock.c (strerror): Remove unused #undef.
12907         (rpl_close): Remove unused local variable.
12908
12909         * modules/sys_socket (Depends-on); Add errno.
12910
12911 2008-10-05  Bruno Haible  <bruno@clisp.org>
12912
12913         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
12914         (select): Add a link warning when the 'select' module is not used.
12915         * modules/sys_select (Depends-on): Add link-warning.
12916         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
12917         Suggested by Paolo Bonzini.
12918
12919 2008-10-05  Jim Meyering  <meyering@redhat.com>
12920
12921         bootstrap: check for LT_INIT more portably
12922         * build-aux/bootstrap: Avoid using grep -E, since it's not
12923         portable enough.  Suggestion from Bruno Haible.
12924
12925 2008-10-05  Bruno Haible  <bruno@clisp.org>
12926
12927         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
12928         as being fixed by gnulib.
12929
12930 2008-10-05  Bruno Haible  <bruno@clisp.org>
12931
12932         * modules/select-tests: New file, mostly copied from
12933         modules/sys_select-tests.
12934         * tests/test-select.c: New file, mostly copied from
12935         tests/test-sys_select.c.
12936         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
12937         * modules/sys_select-tests (Depends-on): Remove all dependencies.
12938         (Makefile.am): Remove test_sys_select_LDADD.
12939
12940         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
12941         to an undefined symbol, for an error message.
12942         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
12943         (gl_SYS_SELECT_H_DEFAULTS): New macro.
12944         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
12945         winsock-select.c here.
12946         * modules/sys_select (Files): Remove lib/winsock-select.c.
12947         (Depends-on): Remove alloca.
12948         (Makefile.am): Substitute GNULIB_SELECT.
12949         * modules/select: New file.
12950         * doc/posix-functions/select.texi: Update.
12951
12952 2008-10-05  Bruno Haible  <bruno@clisp.org>
12953
12954         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
12955         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
12956         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
12957         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
12958         getdtablesize.
12959         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
12960         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
12961
12962 2008-10-05  Bruno Haible  <bruno@clisp.org>
12963
12964         * modules/getdtablesize-tests: New file.
12965         * tests/test-getdtablesize.c: New file.
12966
12967         New module 'getdtablesize'.
12968         * lib/unistd.in.h (getdtablesize): New declaration.
12969         * lib/getdtablesize.c: New file.
12970         * m4/getdtablesize.m4: New file.
12971         * modules/getdtablesize: New file.
12972         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12973         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
12974         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
12975         HAVE_GETDTABLESIZE.
12976         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
12977
12978 2008-10-05  Bruno Haible  <bruno@clisp.org>
12979
12980         * modules/sched (Makefile.am): Fix typo.
12981         Reported by Simon Josefsson.
12982
12983 2008-10-05  Jim Meyering  <meyering@redhat.com>
12984
12985         bootstrap: check for LT_INIT, too
12986         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
12987         are deprecated.  Suggestion from Ralf Wildenhues.
12988
12989 2008-10-05  Bruno Haible  <bruno@clisp.org>
12990
12991         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
12992         overriding them by ours.
12993         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
12994
12995 2008-10-05  Jim Meyering  <meyering@redhat.com>
12996
12997         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
12998         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
12999         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
13000
13001 2008-10-04  Bruno Haible  <bruno@clisp.org>
13002
13003         * modules/dup2 (License): Change to LGPLv2+.
13004         * modules/sleep (License): Likewise.
13005         * modules/perror (License): Likewise.
13006         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
13007         Blake.
13008         * modules/signal (License): Likewise.
13009         * modules/sigprocmask (License): Likewise.
13010         * modules/raise (License): Change to LGPLv2+, with approval by Jim
13011         Meyering.
13012
13013 2008-10-04  Bruno Haible  <bruno@clisp.org>
13014
13015         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
13016         Reported by Rainer Tammer <tammer@tammer.net>.
13017
13018 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
13019             Bruno Haible  <bruno@clisp.org>
13020
13021         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
13022         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
13023         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
13024
13025 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
13026
13027         filevercmp: new module
13028         * lib/filevercmp.h: New function filevercmp comparing version strings.
13029         * lib/filevercmp.c: Implementation of filevercmp function.
13030         * modules/filevercmp: Module metadata.
13031         * tests/test-filevercmp.c: Unit test for new module.
13032         * modules/filevercmp-tests: Unit test metadata.
13033         * MODULES.html.sh: Add filevercmp module.
13034
13035 2008-10-03  Bruno Haible  <bruno@clisp.org>
13036
13037         * lib/c-ctype.h: Add comment.
13038         Reported by Jim Meyering.
13039
13040 2008-10-02  Bruno Haible  <bruno@clisp.org>
13041
13042         * modules/posix_spawn-internal (Depends-on): Add 'open'.
13043
13044 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
13045
13046         * build-aux/bootstrap: Allow renaming bootstrap, and change the
13047         name of bootstrap.conf accordingly.
13048
13049 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
13050
13051         * build-aux/bootstrap: Install git-merge-changelog configuration
13052         items into .gitconfig if needed.
13053
13054 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
13055
13056         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
13057         git repository, and initialize/update it accordingly.
13058
13059 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
13060
13061         * modules/fsync-tests: New file.
13062         * tests/test-fsync.c: New file.
13063
13064         New module 'fsync'.
13065         * lib/fsync.c: New file.
13066         * m4/fsync.m4: New file.
13067         * modules/fsync: New file.
13068         * lib/unistd.in.h (fsync): New declaration.
13069         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
13070         GNULIB_FSYNC and HAVE_FSYNC.
13071         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
13072         * MODULES.html.sh (posix_functions): Add fsync.
13073         * doc/posix-functions/fsync.texi: Mention the new module.
13074
13075 2008-10-02  Jim Meyering  <meyering@redhat.com>
13076
13077         fts.c: sync with similar code from coreutils' remove.c
13078         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
13079         Guard also with "#if defined __linux__", since for now at least,
13080         this code is Linux-kernel-specific.
13081
13082 2008-10-02  Jim Meyering  <meyering@redhat.com>
13083
13084         fts: bug fixes
13085         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
13086         Include <sys/vfs.h>, not <sys/statfs.h>.
13087
13088         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
13089         Include <sys/vfs.h>, not <sys/statfs.h>.
13090
13091 2008-10-01  Bruno Haible  <bruno@clisp.org>
13092
13093         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
13094         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
13095         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
13096         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
13097         * doc/posix-functions/posix_spawnp.texi: Likewise.
13098         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
13099         whether posix_spawn actually works.
13100         * m4/pipe.m4 (gl_PIPE): Likewise.
13101         * modules/execute (Files): Add m4/posix_spawn.m4.
13102         * modules/pipe (Files): Add m4/posix_spawn.m4.
13103         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
13104
13105 2008-10-01  Jim Meyering  <meyering@redhat.com>
13106
13107         remove trailing spaces
13108         * NEWS: Likewise.
13109         * lib/poll.c (poll): Likewise.
13110         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
13111         * lib/winsock.c (rpl_close): Likewise.
13112         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
13113         * modules/yield: Likewise.
13114         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
13115         * tests/test-sys_select.c (connect_to_socket): Likewise.
13116
13117         fts.c: adjust a new interface to be more generally useful
13118         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
13119         (fts_build): Adjust caller.
13120
13121 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13122
13123         * modules/cond-tests: New file.
13124         * tests/test-cond.c: New file.
13125
13126 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13127             Bruno Haible  <bruno@clisp.org>
13128
13129         * modules/cond (Dependencies): Add errno, time.
13130         * lib/glthread/cond.h: Include <time.h>.
13131         (gl_cond_define, gl_cond_define_initialized): Use the same definition
13132         across platforms.
13133
13134 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13135             Bruno Haible  <bruno@clisp.org>
13136
13137         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
13138
13139 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13140             Bruno Haible  <bruno@clisp.org>
13141
13142         * modules/tls-tests (Depends-on): Add thread, yield.
13143         (configure.ac): Remove all checks.
13144         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
13145         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
13146         gl_thread_self): Remove definitions. Include glthread/thread.h and
13147         glthread/yield.h instead.
13148         (test_tls): Pass an additional NULL argument to gl_thread_join.
13149
13150 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13151             Bruno Haible  <bruno@clisp.org>
13152
13153         * modules/lock-tests (Depends-on): Add thread, yield.
13154         (configure.ac): Remove all checks.
13155         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
13156         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
13157         gl_thread_self): Remove definitions. Include glthread/thread.h and
13158         glthread/yield.h instead.
13159         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
13160         additional NULL argument to gl_thread_join.
13161
13162 2008-09-30  Bruno Haible  <bruno@clisp.org>
13163
13164         Fix the Win32 implementation of the 'thread' module.
13165         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
13166         pointer type.
13167         (gl_thread_self): Invoke gl_thread_self_func.
13168         (gl_thread_self_func): New declaration.
13169         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
13170         (do_init_self_key, init_self_key): New functions.
13171         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
13172         Remove some fields.
13173         (running_threads, running_lock): Remove variables.
13174         (get_current_thread_handle): New function.
13175         (gl_thread_self_func, wrapper_func, glthread_create_func,
13176         glthread_join_func, gl_thread_exit_func): Largely rewritten and
13177         simplified.
13178
13179 2008-09-30  Bruno Haible  <bruno@clisp.org>
13180
13181         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
13182         files.
13183
13184 2008-09-30  Jim Meyering  <meyering@redhat.com>
13185
13186         fts.m4: correct the test for statfs.f_type
13187         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
13188         when checking for statfs.f_type.
13189
13190 2008-09-15  Simon Josefsson  <simon@josefsson.org>
13191
13192         tests: avoid some compiler warnings
13193         * tests/test-memchr.c (main): Pass NULL indirectly.
13194         * tests/test-getdate.c (main): Remove unused variable 'ret'.
13195
13196 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
13197
13198         getdate.y: disallow countable dayshifts like "4 yesterday ago"
13199         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
13200         exactly specified dayshifts.
13201         (dayshift): New rule.
13202         (rel): Add dayshift.
13203         (relative_time_table) [tomorrow, yesterday, today, now]:
13204         Use tDAY_SHIFT in place of tDAY_UNIT.
13205         * tests/test-getdate.c: Add tests for now-disallowed countable
13206         dayshifts, e.g., "4 yesterday ago".
13207
13208 2008-09-29  Bruno Haible  <bruno@clisp.org>
13209
13210         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
13211         * tests/test-posix_spawn1.in.sh: Renamed from
13212         tests/test-posix_spawn.in.sh.
13213         * tests/test-posix_spawn2.c: New file.
13214         * tests/test-posix_spawn2.in.sh: New file.
13215         * modules/posix_spawnp-tests (Files): Update.
13216         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
13217
13218 2008-09-29  Bruno Haible  <bruno@clisp.org>
13219
13220         Propagate effects of putenv/setenv/unsetenv to child processes.
13221         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
13222         * lib/pipe.c (create_pipe): Likewise.
13223
13224 2008-09-29  Bruno Haible  <bruno@clisp.org>
13225
13226         Enable use of shell scripts as executables in mingw.
13227         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
13228         run the program as a shell script.
13229         * lib/pipe.c (create_pipe): Likewise.
13230         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
13231         resulting array.
13232
13233 2008-09-29  Eric Blake  <ebb9@byu.net>
13234
13235         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
13236
13237 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
13238
13239         * doc/posix-functions/accept.texi: Update mingw problems.
13240         * doc/posix-functions/bind.texi: Update mingw problems.
13241         * doc/posix-functions/close.texi: Update mingw problems.
13242         * doc/posix-functions/connect.texi: Update mingw problems.
13243         * doc/posix-functions/getpeername.texi: Update mingw problems.
13244         * doc/posix-functions/getsockname.texi: Update mingw problems.
13245         * doc/posix-functions/getsockopt.texi: Update mingw problems.
13246         * doc/posix-functions/ioctl.texi: Update mingw problems.
13247         * doc/posix-functions/listen.texi: Update mingw problems.
13248         * doc/posix-functions/recv.texi: Update mingw problems.
13249         * doc/posix-functions/recvfrom.texi: Update mingw problems.
13250         * doc/posix-functions/select.texi: Update mingw problems.
13251         * doc/posix-functions/send.texi: Update mingw problems.
13252         * doc/posix-functions/sendto.texi: Update mingw problems.
13253         * doc/posix-functions/setsockopt.texi: Update mingw problems.
13254         * doc/posix-functions/socket.texi: Update mingw problems.
13255
13256 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
13257             Bruno Haible  <bruno@clisp.org>
13258
13259         * lib/sys_select.in.h: Include sys/time.h.
13260         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
13261         * modules/sys_select: Depend on sys_time.
13262         * tests/test-sys_select.c: Test that sys/select.h defines struct
13263         timeval fully.
13264
13265 2008-09-29  Bruno Haible  <bruno@clisp.org>
13266
13267         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
13268         * lib/sys_select.in.h: Likewise.
13269
13270 2008-09-29  Bruno Haible  <bruno@clisp.org>
13271
13272         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
13273
13274 2008-09-29  Bruno Haible  <bruno@clisp.org>
13275
13276         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
13277         Set LIBSOCKET instead of augmenting LIBS.
13278         * modules/sockets (Link): New section.
13279         * modules/sockets-tests (test_sockets_LDADD): New variable.
13280         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
13281         * modules/poll-tests (test_poll_LDADD): New variable.
13282         * NEWS: Document the change.
13283
13284 2008-09-29  Bruno Haible  <bruno@clisp.org>
13285
13286         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
13287         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
13288         ARPA_INET_H directly.
13289         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
13290
13291 2008-09-28  Bruno Haible  <bruno@clisp.org>
13292
13293         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
13294         from gl_HEADER_SYS_SOCKET.
13295         (gl_HEADER_SYS_SOCKET): Invoke it.
13296         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
13297
13298 2008-09-28  Bruno Haible  <bruno@clisp.org>
13299
13300         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
13301         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
13302         Needed on OSF/1 4.0.
13303
13304 2008-09-28  Bruno Haible  <bruno@clisp.org>
13305
13306         Override open more carefully.
13307         * lib/open.c (orig_open): New function.
13308         (rpl_open): Use orig_open instead of open.
13309         * lib/fcntl.in.h: Add special invocation convention.
13310         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
13311         (gl_FUNC_OPEN): Invoke it.
13312
13313         Override freopen more carefully.
13314         * lib/freopen.c (orig_freopen): New function.
13315         (rpl_freopen): Use orig_freopen instead of freopen.
13316         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
13317         (gl_FUNC_FREOPEN): Invoke it.
13318
13319         Override fopen more carefully.
13320         * lib/fopen.c (orig_fopen): New function.
13321         (rpl_fopen): Use orig_fopen instead of fopen.
13322         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
13323         (gl_FUNC_FOPEN): Invoke it.
13324         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
13325
13326 2008-09-28  Bruno Haible  <bruno@clisp.org>
13327
13328         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
13329         SIGPIPE.
13330
13331 2008-09-28  Bruno Haible  <bruno@clisp.org>
13332
13333         * tests/test-sigaction.c (handler, main): Disable the check whether
13334         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
13335         glibc systems with LinuxThreads.
13336
13337 2008-09-28  Bruno Haible  <bruno@clisp.org>
13338
13339         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
13340
13341         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
13342         with AIX xlc.
13343         * lib/fcntl.in.h (open): Likewise.
13344         Reported by Rainer Tammer <tammer@tammer.net>.
13345
13346 2008-09-28  Bruno Haible  <bruno@clisp.org>
13347
13348         * modules/posix_spawnp-tests: New file.
13349         * tests/test-posix_spawn.c: New file.
13350         * tests/test-posix_spawn.in.sh: New file.
13351
13352         New module 'posix_spawnp'.
13353         * modules/posix_spawnp: New file.
13354         * lib/spawnp.c: New file, from GNU libc with modifications.
13355         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
13356
13357         New module 'posix_spawn'.
13358         * modules/posix_spawn: New file.
13359         * lib/spawn.c: New file, from GNU libc with modifications.
13360         * doc/posix-functions/posix_spawn.texi: Mention the new module.
13361
13362         New module 'posix_spawnattr_destroy'.
13363         * modules/posix_spawnattr_destroy: New file.
13364         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
13365         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
13366         module.
13367
13368         New module 'posix_spawnattr_setsigmask'.
13369         * modules/posix_spawnattr_setsigmask: New file.
13370         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
13371         modifications.
13372         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
13373         new module.
13374
13375         New module 'posix_spawnattr_getsigmask'.
13376         * modules/posix_spawnattr_getsigmask: New file.
13377         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
13378         modifications.
13379         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
13380         new module.
13381
13382         New module 'posix_spawnattr_setsigdefault'.
13383         * modules/posix_spawnattr_setsigdefault: New file.
13384         * lib/spawnattr_setdefault.c: New file, from GNU libc with
13385         modifications.
13386         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
13387         new module.
13388
13389         New module 'posix_spawnattr_getsigdefault'.
13390         * modules/posix_spawnattr_getsigdefault: New file.
13391         * lib/spawnattr_getdefault.c: New file, from GNU libc with
13392         modifications.
13393         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
13394         new module.
13395
13396         New module 'posix_spawnattr_setschedpolicy'.
13397         * modules/posix_spawnattr_setschedpolicy: New file.
13398         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
13399         modifications.
13400         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
13401         new module.
13402
13403         New module 'posix_spawnattr_getschedpolicy'.
13404         * modules/posix_spawnattr_getschedpolicy: New file.
13405         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
13406         modifications.
13407         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
13408         new module.
13409
13410         New module 'posix_spawnattr_setschedparam'.
13411         * modules/posix_spawnattr_setschedparam: New file.
13412         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
13413         modifications.
13414         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
13415         new module.
13416
13417         New module 'posix_spawnattr_getschedparam'.
13418         * modules/posix_spawnattr_getschedparam: New file.
13419         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
13420         modifications.
13421         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
13422         new module.
13423
13424         New module 'posix_spawnattr_setpgroup'.
13425         * modules/posix_spawnattr_setpgroup: New file.
13426         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
13427         modifications.
13428         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
13429         module.
13430
13431         New module 'posix_spawnattr_getpgroup'.
13432         * modules/posix_spawnattr_getpgroup: New file.
13433         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
13434         modifications.
13435         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
13436         module.
13437
13438         New module 'posix_spawnattr_setflags'.
13439         * modules/posix_spawnattr_setflags: New file.
13440         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
13441         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
13442         module.
13443
13444         New module 'posix_spawnattr_getflags'.
13445         * modules/posix_spawnattr_getflags: New file.
13446         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
13447         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
13448         module.
13449
13450         New module 'posix_spawnattr_init'.
13451         * modules/posix_spawnattr_init: New file.
13452         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
13453         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
13454         module.
13455
13456         New module 'posix_spawn_file_actions_destroy'.
13457         * modules/posix_spawn_file_actions_destroy: New file.
13458         * lib/spawn_faction_destroy.c: New file, from GNU libc with
13459         modifications.
13460         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
13461         the new module.
13462
13463         New module 'posix_spawn_file_actions_addopen'.
13464         * modules/posix_spawn_file_actions_addopen: New file.
13465         * lib/spawn_faction_addopen.c: New file, from GNU libc with
13466         modifications.
13467         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
13468         the new module.
13469
13470         New module 'posix_spawn_file_actions_adddup2'.
13471         * modules/posix_spawn_file_actions_adddup2: New file.
13472         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
13473         modifications.
13474         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
13475         the new module.
13476
13477         New module 'posix_spawn_file_actions_addclose'.
13478         * modules/posix_spawn_file_actions_addclose: New file.
13479         * lib/spawn_faction_addclose.c: New file, from GNU libc with
13480         modifications.
13481         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
13482         the new module.
13483
13484         New module 'posix_spawn_file_actions_init'.
13485         * modules/posix_spawn_file_actions_init: New file.
13486         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
13487         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
13488         new module.
13489
13490         New module 'posix_spawn-internal'.
13491         * modules/posix_spawn-internal: New file.
13492         * lib/spawn_int.h: New file, from GNU libc with modifications.
13493         * lib/spawni.c: New file, from GNU libc with modifications.
13494         * m4/posix_spawn.m4: New file.
13495
13496         New module 'spawn'.
13497         * modules/spawn: New file.
13498         * lib/spawn.in.h: New file, from GNU libc with modifications.
13499         * m4/spawn_h.m4: New file.
13500         * doc/posix-headers/spawn.texi: Mention the new module.
13501
13502 2008-09-28  Bruno Haible  <bruno@clisp.org>
13503
13504         * modules/sched-tests: New file.
13505         * tests/test-sched.c: New file.
13506
13507         New module 'sched'.
13508         * modules/sched: New file.
13509         * lib/sched.in.h: New file.
13510         * m4/sched_h.m4: New file.
13511         * doc/posix-headers/sched.texi: Mention the new module.
13512
13513 2008-09-27  Eric Blake  <ebb9@byu.net>
13514
13515         Fix previous patch, and tweak references to $0.
13516         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
13517         (func_version, func_gnulib_dir): Don't call this program
13518         gnulib-tool.
13519         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
13520         with using $0 in function.
13521         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
13522         (func_fatal_error): Reuse the name the user invoked us with.
13523
13524 2008-09-27  Bruno Haible  <bruno@clisp.org>
13525
13526         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
13527         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
13528         (gl_ICONV_H): Not here.
13529         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
13530         instead of assigning ICONV_H directly.
13531
13532         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
13533         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
13534         WCHAR_H directly.
13535
13536 2008-09-27  Bruno Haible  <bruno@clisp.org>
13537
13538         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
13539         * modules/arpa_inet (Depends-on): Add link-warning.
13540         (Makefile.am): Insert the definition of GL_LINK-WARNING.
13541         * modules/unistd (Makefile.am): Likewise.
13542
13543 2008-09-26  Bruno Haible  <bruno@clisp.org>
13544
13545         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
13546         variables.
13547         (func_version): Essentially copied from gnulib-tool.
13548         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
13549         func_readlink): Copied from gnulib-tool.
13550
13551 2008-09-26  Bruno Haible  <bruno@clisp.org>
13552
13553         * gnulib-tool (func_version): Change directory to $gnulib_dir before
13554         invoking git-version-gen.
13555
13556 2008-09-26  Bruno Haible  <bruno@clisp.org>
13557
13558         * posix-modules: Update to directory names changed on 2008-01-19.
13559         Remove commas in output before splitting into words. No more need to
13560         avoid 'ftruncate' since 2007-02-19.
13561
13562 2008-09-26  Bruno Haible  <bruno@clisp.org>
13563
13564         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
13565
13566 2008-09-26  Bruno Haible  <bruno@clisp.org>
13567
13568         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
13569         * modules/fwriteerror (Depends-on): Add errno.
13570
13571 2008-09-26  Bruno Haible  <bruno@clisp.org>
13572
13573         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
13574         * tests/test-vc-list-files-cvs.sh: Likewise.
13575
13576 2008-09-26  Bruno Haible  <bruno@clisp.org>
13577
13578         * doc/posix-headers/sys_resource.texi: Reorder items.
13579
13580 2008-09-26  Jim Meyering  <meyering@redhat.com>
13581
13582         fts: tweak inode comparison function
13583         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
13584         inode numbers, as documented.
13585
13586         fts: sort dirent entries on inode number before traversing
13587         This avoids a quadratic, seek-related performance penalty when
13588         operating on a directory containing many entries (measurable at 10k;
13589         3.5 hours at 2 million entries with a cold cache) on certain types
13590         of file systems, including ext3 and ext4, but not tmpfs.
13591         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
13592         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
13593         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
13594         (fs_handles_readdir_ordered_dirents_efficiently): New function.
13595         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
13596         (fts_build): Set the stat.st_ino member from D_INO.
13597         If it is likely to be useful, sort dirent entries on inode number.
13598
13599         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
13600         and the struct statfs.f_type member.
13601         * modules/fts (Depends-on): Add d-ino.
13602
13603 2008-09-26  Bruno Haible  <bruno@clisp.org>
13604
13605         * modules/sigpipe-die (Depends-on): Add sigpipe.
13606
13607         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
13608         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
13609         and GNULIB_STDIO_H_SIGPIPE are set.
13610         * lib/stdio-write.c: New file.
13611         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
13612         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
13613         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
13614         REPLACE_STDIO_WRITE_FUNCS.
13615         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
13616         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
13617         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
13618         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
13619         * modules/stdio (Files): Add lib/stdio-write.c.
13620         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
13621         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
13622         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
13623         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
13624         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
13625         REPLACE_FPRINTF_POSIX.
13626         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
13627         REPLACE_PRINTF_POSIX.
13628         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
13629         REPLACE_VFPRINTF_POSIX.
13630         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
13631         REPLACE_VPRINTF_POSIX.
13632         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
13633         SIGPIPE issue.
13634         * doc/posix-functions/fputc.texi: Likewise.
13635         * doc/posix-functions/fputs.texi: Likewise.
13636         * doc/posix-functions/fwrite.texi: Likewise.
13637         * doc/posix-functions/printf.texi: Likewise.
13638         * doc/posix-functions/putc.texi: Likewise.
13639         * doc/posix-functions/putchar.texi: Likewise.
13640         * doc/posix-functions/puts.texi: Likewise.
13641         * doc/posix-functions/vfprintf.texi: Likewise.
13642         * doc/posix-functions/vprintf.texi: Likewise.
13643
13644         * modules/safe-write (Depends-on): Add write.
13645
13646         * modules/sigpipe-tests: New file.
13647         * tests/test-sigpipe.c: New file.
13648         * tests/test-sigpipe.sh: New file.
13649
13650         * modules/write: New file.
13651         * lib/unistd.in.h: Include <sys/types.h>.
13652         (write): New declaration.
13653         * lib/write.c: New file.
13654         * m4/write.m4: New file.
13655         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13656         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
13657         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
13658         GNULIB_WRITE, REPLACE_WRITE.
13659         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
13660         and the SIGPIPE issue.
13661
13662         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
13663         (raise): New declaration.
13664         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
13665         (ext_signal): New function.
13666         (rpl_raise): New function.
13667         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
13668         GNULIB_SIGNAL_H_SIGPIPE.
13669         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
13670         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
13671
13672         * modules/sigpipe: New file.
13673         * m4/sigpipe.m4: New file.
13674
13675 2008-09-25  Derek Price  <derek@ximbiot.com>
13676             Bruno Haible  <bruno@clisp.org>
13677
13678         * gnulib-tool (func_import): Report all license incompatibilities, not
13679         just the first one.
13680
13681 2008-09-25  Bruno Haible  <bruno@clisp.org>
13682
13683         * gnulib-tool (func_import): When computing the edits, consider not
13684         only the Makefile.ams that exist but also those that will be generated.
13685
13686 2008-09-25  Simon Josefsson  <simon@josefsson.org>
13687
13688         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
13689         fixes gnulib-tool --test warning about duplicate dependency.
13690
13691 2008-09-25  Bruno Haible  <bruno@clisp.org>
13692
13693         * gnulib-tool: Don't ask the user to perform edits in the generated
13694         Makefile.ams.
13695         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
13696         apply to the Makefile.am being generated.
13697         (func_emit_tests_Makefile_am): Execute edits that apply to the
13698         Makefile.am being generated.
13699         (func_import): Setup list of Makefile.am edits before emitting the
13700         Makefile.ams, not at the end.
13701         (func_create_testdir): Update.
13702         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
13703
13704 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13705
13706         * gnulib-tool (func_import): Store the --tests-base option in the
13707         comment in gnulib-cache.m4.
13708
13709 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
13710
13711         * NEWS: Document increased portability that sys_select now provides.
13712
13713         * lib/sys_select.in.h: Install select wrapper.
13714         * lib/sys_socket.in.h: Use more descriptive name when there is no
13715         select wrapper.
13716         * lib/winsock-select.c: New.
13717         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
13718         Require gl_HEADER_SYS_SOCKET.
13719         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
13720         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
13721         * tests/test-sys_select.c: Add functional tests.
13722
13723 2008-09-24  Eric Blake  <ebb9@byu.net>
13724
13725         open, fopen: close fd leak in last patch
13726         * lib/open.c (rpl_open): Close fd before returning error.
13727         * lib/fopen.c (rpl_fopen): Close fd before returning error.
13728         * doc/posix-functions/open.texi (open): Document that Irix also
13729         has the bug.
13730         * doc/posix-functions/fopen.texi (fopen): Likewise.
13731         Reported by Paolo Bonzini.
13732
13733 2008-09-24  Bruno Haible  <bruno@clisp.org>
13734
13735         Ensure that a filename ending in a slash cannot be used to access a
13736         non-directory.
13737         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
13738         to check whether it's really a directory.
13739         * lib/fopen.c: Include fcntl.h, unistd.h.
13740         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
13741         and fdopen().
13742         * modules/fopen (Depends-on): Add unistd.
13743         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
13744         * tests/test-fopen.c (main): Likewise.
13745         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
13746         * doc/posix-functions/fopen.texi: Likewise.
13747         Reported by Eric Blake.
13748
13749 2008-09-23  Eric Blake  <ebb9@byu.net>
13750
13751         c-stack: avoid compiler optimizations when provoking overflow
13752         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
13753         recursion harder to optimize, to ensure a stack overflow occurs.
13754         * tests/test-c-stack.c (recurse): Likewise.
13755         Borrowed from libsigsegv.
13756
13757         c-stack: work around Irix sigaltstack bug
13758         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
13759         whether sigaltstack uses wrong end of stack_t (copied in part from
13760         libsigsegv).
13761         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
13762         Irix bug, without requiring an over-allocation.
13763         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
13764         bug.
13765
13766         fopen: document mingw bug on directories
13767         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
13768         not allowing a stream visiting a directory, even though reading
13769         from such a stream is not portable.
13770
13771 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
13772
13773         * lib/poll.c: Rewrite.
13774         * modules/poll: Depend on alloca.
13775
13776 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
13777
13778         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
13779         instead define prototypes for a full set of wrappers.  Ensure
13780         that Cygwin does not use the compatibility code, which is only
13781         for MinGW.
13782         * lib/winsock.c: New.
13783         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
13784         * modules/sys_socket: Add lib/winsock.c.
13785
13786         * modules/poll-tests: Add errno and perror.
13787         * tests/test-poll.c: Use ioctl, not ioctlsocket.
13788
13789 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
13790
13791         * tests/test-poll.c: Downgrade minimum needed Winsock version.
13792
13793 2008-09-23  Bruno Haible  <bruno@clisp.org>
13794
13795         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
13796         * doc/glibc-functions/*: Likewise.
13797
13798 2008-09-23  Simon Josefsson  <simon@josefsson.org>
13799
13800         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
13801         success.
13802
13803 2008-09-22  Eric Blake  <ebb9@byu.net>
13804             Bruno Haible  <bruno@clisp.org>
13805
13806         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
13807         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
13808         supply %A but mishandle pseudo-NaN.
13809         Reported by Simon Josefsson.
13810
13811 2008-09-21  Bruno Haible  <bruno@clisp.org>
13812
13813         * tests/test-lock.c (main): Tweak skip message.
13814         * tests/test-tls.c (main): Likewise.
13815
13816 2008-09-21  Bruno Haible  <bruno@clisp.org>
13817
13818         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
13819         whether 'struct sigaction' has sa_sigaction here...
13820         (gl_PREREQ_SIG_HANDLER_H): ... not here.
13821         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
13822
13823 2008-09-21  Bruno Haible  <bruno@clisp.org>
13824
13825         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
13826         section.
13827         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
13828         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
13829         the new section.
13830         (Support for obsolete systems lacking POSIX:2001): New section.
13831         (String handling <string.h>): Move strdup to the new section.
13832         Suggested by Simon Josefsson and Paolo Bonzini.
13833
13834 2008-09-21  Bruno Haible  <bruno@clisp.org>
13835
13836         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
13837         exponents in %e and %g results on 'long double'. Needed for mingw's
13838         improved *printf functions.
13839         * tests/test-vasprintf-posix.c (test_function): Likewise.
13840         * tests/test-snprintf-posix.h (test_function): Likewise.
13841         * tests/test-sprintf-posix.h (test_function): Likewise.
13842         Reported by Eric Blake.
13843
13844 2008-09-21  Bruno Haible  <bruno@clisp.org>
13845
13846         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
13847         * tests/test-sprintf-posix.h (test_function): Likewise.
13848
13849 2008-09-21  Bruno Haible  <bruno@clisp.org>
13850
13851         * modules/getpass (Depends-on): Add strdup-posix.
13852
13853         New module 'strdup-posix'.
13854         * modules/strdup-posix: New file.
13855         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
13856         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
13857         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
13858         REPLACE_STRDUP.
13859         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
13860         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
13861         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13862         strdup-posix.
13863
13864         * modules/strdup (Depends-on): Remove malloc-posix.
13865
13866 2008-09-20  Bruno Haible  <bruno@clisp.org>
13867
13868         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
13869         Wildenhues.
13870
13871 2008-09-20  Bruno Haible  <bruno@clisp.org>
13872
13873         Ensure that wint_t gets defined on IRIX 5.3.
13874         * lib/wchar.in.h (wint_t): Define if not defined by the system.
13875         * lib/wctype.in.h (wint_t): Likewise.
13876         (__wctype_wint_t): Remove type.
13877         (isw*): Use wint_t instead of __wctype_wint_t.
13878         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
13879         * modules/wchar (Files): Add m4/wint_t.m4.
13880         (Makefile.am): Substitute HAVE_WINT_T.
13881         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
13882         * tests/test-wctype.c: Check that wint_t is defined.
13883         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
13884         * doc/posix-headers/wctype.texi: Likewise.
13885         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13886
13887 2008-09-18  Bruno Haible  <bruno@clisp.org>
13888
13889         * gnulib-tool (func_exit): Update comment.
13890
13891 2008-09-18  Simon Josefsson  <simon@josefsson.org>
13892
13893         * modules/getaddrinfo (Depends-on): Remove strdup, this module
13894         assumes strdup exists and does not depend on strdup to return
13895         ENOMEM on out of memory conditions.
13896
13897 2008-09-18  Bruno Haible  <bruno@clisp.org>
13898
13899         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
13900         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
13901         digits for the exponent.
13902
13903 2008-09-18  Jim Meyering  <meyering@redhat.com>
13904             Bruno Haible  <bruno@clisp.org>
13905
13906         * lib/vasnprintf.c (decimal_point_char): Define also if
13907         NEED_PRINTF_INFINITE_LONG_DOUBLE.
13908
13909 2008-09-16  Bruno Haible  <bruno@clisp.org>
13910         and Eric Blake  <ebb9@byu.net>
13911
13912         vasnprintf: support Irix 5.3
13913         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
13914         that mishandle long double infinity.
13915         Reported by Tom G. Christensen.
13916
13917 2008-09-16  Bruno Haible  <bruno@clisp.org>
13918
13919         * doc/glibc-functions/scandir.texi: Mention the function is missing on
13920         Solaris 9.
13921         * doc/glibc-functions/alphasort.texi: Likewise.
13922         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
13923
13924 2008-09-16  Jim Meyering  <meyering@redhat.com>
13925
13926         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
13927         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
13928         a umask modification leak out of a subshell.  Otherwise, the
13929         opensolaris /bin/sh would be accepted and thus cause unwarranted
13930         failures in the coreutils test suite.
13931
13932 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
13933
13934         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
13935         to succeed.
13936
13937 2008-09-16  Jim Meyering  <meyering@redhat.com>
13938
13939         avoid spurious test failure when library is built without ACL support
13940         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
13941         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
13942         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
13943         * tests/test-copy-acl.sh: Likewise.
13944
13945 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13946
13947         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
13948         based on character occurrence counts.
13949
13950 2008-09-15  Eric Blake  <ebb9@byu.net>
13951
13952         tests: avoid some compiler warnings
13953         * tests/test-memchr.c (main): Pass NULL indirectly.
13954         * tests/test-closein.c (main): Avoid unused variable.
13955
13956 2008-09-15  Bruno Haible  <bruno@clisp.org>
13957
13958         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
13959         are missing on OpenBSD 4.0 individually.
13960         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
13961
13962 2008-09-15  Bruno Haible  <bruno@clisp.org>
13963
13964         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
13965         * doc/posix-functions/strerror.texi: Mention also Cygwin.
13966         * doc/posix-functions/perror.texi: Likewise.
13967         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
13968         is missing.
13969         Reported by Eric Blake.
13970
13971         * lib/errno.in.h: Use replacement values >= 2000.
13972         Reported by Eric Blake.
13973
13974 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13975
13976         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
13977         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
13978         limit.
13979         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
13980         compareseq was aborted.
13981
13982 2008-09-14  Bruno Haible  <bruno@clisp.org>
13983
13984         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
13985         yvec_edit_count.
13986         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
13987         (fstrcmp_bounded): Simplify result computation accordingly.
13988
13989 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13990
13991         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
13992         (fstrcmp): Define in terms of fstrcmp_bounded.
13993         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
13994         lower_bound argument.
13995         Return quickly if the result is certainly < lower_bound.
13996         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
13997
13998 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13999
14000         * lib/diffseq.h (EARLY_ABORT): New macro.
14001         (compareseq): Change return type to bool. Return true when EARLY_ABORT
14002         evaluates to true.
14003
14004 2008-09-14  Bruno Haible  <bruno@clisp.org>
14005
14006         * modules/perror-tests: New file.
14007         * tests/test-perror.sh: New file.
14008         * tests/test-perror.c: New file.
14009
14010         New module 'perror'.
14011         * lib/stdio.in.h (perror): New declaration.
14012         * lib/perror.c: New file.
14013         * m4/perror.m4: New file.
14014         * modules/perror: New file.
14015         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
14016         * doc/posix-functions/perror.texi: Mention the perror module.
14017         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
14018         REPLACE_PERROR.
14019         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
14020         REPLACE_PERROR.
14021
14022 2008-09-14  Bruno Haible  <bruno@clisp.org>
14023
14024         * modules/stdio (Makefile.am): Reorder to match the order in
14025         lib/stdio.in.h.
14026         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
14027
14028 2008-09-13  Bruno Haible  <bruno@clisp.org>
14029
14030         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
14031
14032 2008-09-13  Bruno Haible  <bruno@clisp.org>
14033
14034         Extend strerror to cover the added errno values.
14035         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
14036         (rpl_strerror): Provide error messages for the added errno values and
14037         for the WSA* values.
14038         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
14039         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
14040         strerror.
14041         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
14042         * modules/strerror (Depends-on): Add errno.
14043         * doc/posix-functions/strerror.texi: Document the change.
14044         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
14045         and EOVERFLOW.
14046
14047 2008-09-13  Bruno Haible  <bruno@clisp.org>
14048
14049         * modules/EOVERFLOW: Remove file.
14050         * m4/eoverflow.m4: Remove file.
14051         * modules/EOVERFLOW-tests: Remove file.
14052         * tests/test-EOVERFLOW.c: Remove file.
14053         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
14054         * modules/ftell (Depends-on): Likewise.
14055         * modules/getdelim (Depends-on): Likewise.
14056         * modules/getugroups (Depends-on): Likewise.
14057         * modules/poll (Depends-on): Likewise.
14058         * modules/snprintf (Depends-on): Likewise.
14059         * modules/sprintf-posix (Depends-on): Likewise.
14060         * modules/vasnprintf (Depends-on): Likewise.
14061         * modules/vasprintf (Depends-on): Likewise.
14062         * modules/vfprintf-posix (Depends-on): Likewise.
14063         * modules/vsnprintf (Depends-on): Likewise.
14064         * modules/vsprintf-posix (Depends-on): Likewise.
14065         * modules/xvasprintf (Depends-on): Likewise.
14066         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
14067         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
14068         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
14069         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
14070         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
14071         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
14072         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
14073         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
14074         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
14075         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
14076         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
14077         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
14078         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
14079         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
14080         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
14081         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
14082         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
14083         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
14084         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
14085         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
14086         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
14087         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
14088         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
14089         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
14090         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
14091         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
14092         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
14093         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
14094         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
14095         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
14096         * MODULES.html.sh: Remove EOVERFLOW.
14097         * NEWS: Mention the change.
14098
14099 2008-09-13  Bruno Haible  <bruno@clisp.org>
14100
14101         * modules/errno-tests: New file.
14102         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
14103
14104         * lib/errno.in.h: New file.
14105         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
14106         * modules/errno: New file.
14107         * doc/posix-headers/errno.texi: Update documentation.
14108         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
14109
14110 2008-09-13  Bruno Haible  <bruno@clisp.org>
14111
14112         * tests/test-poll.c: Use #if for native Windows, rather than testing
14113         __MSVCRT__.
14114
14115 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14116             Bruno Haible  <bruno@clisp.org>
14117
14118         * lib/glob.c: Don't include <pwd.h> on native Windows.
14119         (WINDOWS32): New macro.
14120         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
14121
14122 2008-09-13  Bruno Haible  <bruno@clisp.org>
14123
14124         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
14125         (ETIMEDOUT): Remove macro.
14126         (glthread_cond_timedwait_multithreaded): New declaration.
14127         (glthread_cond_timedwait): Use it.
14128         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
14129         (glthread_cond_timedwait_multithreaded): New function.
14130
14131 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
14132
14133         * modules/poll-tests: Do not check for io.h.
14134         * tests/test-poll.c: Check for __MSVCRT__ instead.
14135
14136 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
14137
14138         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
14139         * modules/poll-tests: Add inet_pton, stdbool, sockets.
14140         * tests/test-poll.c: Use them.  Use _pipe on Windows.
14141
14142 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
14143
14144         * modules/poll-tests: New.
14145         * tests/test-poll.c: New.
14146
14147 2008-09-12  Eric Blake  <ebb9@byu.net>
14148
14149         frexp: test for NetBSD failure on -0.0
14150         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
14151         not all, bugs from NetBSD 3.0 have been fixed.
14152         * doc/posix-functions/frexp.texi (frexp): Document bug.
14153         Reported by Thomas Klausner.
14154
14155         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
14156         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
14157         literal -0.0.
14158         Reported by Jonathan C. Patschke <jp@centtech.com>.
14159
14160 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14161
14162         * lib/glthread/cond.h: Use dummy implementation also if
14163         USE_WIN32_THREADS.
14164
14165 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14166
14167         * modules/fnmatch-posix (License): Change to LGPLv2+.
14168         * modules/fnmatch-gnu (License): Likewise.
14169
14170 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14171
14172         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
14173
14174 2008-09-11  Jim Meyering  <meyering@redhat.com>
14175
14176         * users.txt: Add gtk-vnc.
14177
14178 2008-09-08  Simon Josefsson  <simon@josefsson.org>
14179
14180         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
14181         rotate amounts.
14182
14183         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
14184         required for 16-bit and 8-bit rotates.
14185         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
14186         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
14187         UINT8_MAX instead of hard-coded constants.
14188         Suggested by Paul Eggert.
14189
14190 2008-09-07  Bruno Haible  <bruno@clisp.org>
14191
14192         * tests/test-striconveh.c (main): Check behaviour when converting from
14193         UTF-7.
14194
14195         Make striconveh work better with stateful encodings.
14196         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
14197         that iconv does not increment the inptr when returning -1/EINVAL.
14198
14199 2008-09-07  Bruno Haible  <bruno@clisp.org>
14200
14201         * build-aux/config.rpath: Update according to libtool-2.2.6.
14202         * build-aux/config.libpath: Likewise.
14203
14204 2008-09-06  Bruno Haible  <bruno@clisp.org>
14205
14206         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
14207         * lib/freadptr.c (freadptr): Likewise.
14208         * lib/freadseek.c (freadptrinc): Likewise.
14209         Reported by Simon Josefsson.
14210
14211 2008-09-06  Bruno Haible  <bruno@clisp.org>
14212
14213         * modules/freadptr (License): Change to LGPLv2+.
14214         * modules/freadseek (License): Likewise.
14215         Suggested by Eric Blake.
14216
14217         * modules/memchr2 (License): Change to LGPLv2+.
14218         Approved by Eric Blake.
14219
14220 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14221             Bruno Haible  <bruno@clisp.org>
14222
14223         Make gnulib-tool work with native 'sed' on AIX.
14224         * gnulib-tool (sed_noop): New variable.
14225         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
14226         func_add_or_update, func_create_testdir): Use it to initialize sed
14227         script variables.
14228         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
14229
14230 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
14231             Bruno Haible  <bruno@clisp.org>
14232
14233         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
14234         also works after #include directives.
14235
14236 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
14237
14238         getdate.y: reject an out-of-range timezone value
14239         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
14240         the range [-24...+24].  When specified with only one or two digits,
14241         * tests/test-getdate.c: Tests for the fix.
14242         * doc/getdate.texi: Document this change.
14243
14244 2008-09-03  Bruno Haible  <bruno@clisp.org>
14245
14246         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
14247
14248 2008-09-02  Simon Josefsson  <simon@josefsson.org>
14249
14250         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
14251         <bruce.korb@gmail.com> with ideas from Ben Pfaff
14252         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
14253         Blake <ebb9@byu.net>.
14254
14255         * tests/test-bitrotate.c: Add more test vectors.
14256
14257 2008-09-02  Eric Blake  <ebb9@byu.net>
14258
14259         vasnprintf-posix: handle large precision via %.*d
14260         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
14261         when handling it ourselves.
14262         * tests/test-vasnprintf-posix.c (test_function): Add test.
14263         * tests/test-snprintf-posix.h (test_function): Likewise.
14264         * tests/test-sprintf-posix.h (test_function): Likewise.
14265         * tests/test-vasprintf-posix.c (test_function): Likewise.
14266         Reported by Alain Guibert.
14267
14268 2008-09-01  Eric Blake  <ebb9@byu.net>
14269
14270         c-stack: make configure-time check more robust
14271         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
14272         successful sigaction call.
14273         Reported by Tom G. Christensen.
14274
14275 2008-09-01  Bruno Haible  <bruno@clisp.org>
14276
14277         New module 'findprog-lgpl'.
14278         * modules/findprog-lgpl: New file.
14279         * lib/findprog-lgpl.c: New file.
14280         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
14281         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
14282         to decide whether to use strdup or xstrdup, concatenated_filename or
14283         xconcatenated_filename.
14284
14285 2008-09-01  Bruno Haible  <bruno@clisp.org>
14286
14287         Split module 'concat-filename' into 'concat-filename' (LGPL) and
14288         'xconcat-filename' (GPL).
14289         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
14290         (License): Change to LGPLv2+.
14291         * modules/xconcat-filename: New file.
14292         * lib/concat-filename.h (concatenated_filename): Change specification.
14293         (xconcatenated_filename): New declaration.
14294         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
14295         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
14296         memory situations.
14297         * lib/xconcat-filename.c: New file.
14298         * NEWS: Mention the change.
14299         * lib/findprog.c: Include concat-filename.h, not filename.h.
14300         (find_in_path): Use xconcatenated_filename instead of
14301         concatenated_filename.
14302         * lib/javacomp.c: Include concat-filename.h, not filename.h.
14303         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
14304         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
14305         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
14306         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
14307         instead of concatenated_filename.
14308         * lib/javaexec.c: Include concat-filename.h, not filename.h.
14309         (execute_java_class): Use xconcatenated_filename instead of
14310         concatenated_filename.
14311         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
14312         * modules/javacomp (Depends-on): Likewise.
14313         * modules/javaexec (Depends-on): Likewise.
14314
14315 2008-09-01  Bruno Haible  <bruno@clisp.org>
14316
14317         Split module 'filename' into 'filename' and 'concat-filename'.
14318         * modules/filename: Keep only lib/filename.h.
14319         (License): Change to LGPLv2+.
14320         * modules/concat-filename: New file, extracted from modules/filename.
14321         * lib/filename.h (concatenated_filename): Remove declaration.
14322         * lib/concat-filename.h: New file, extracted from lib/filename.h.
14323         * lib/concat-filename.c: Include concat-filename.h.
14324         * NEWS: Mention the change.
14325
14326 2008-09-01  Simon Josefsson  <simon@josefsson.org>
14327
14328         * lib/bitrotate.h (rotl8, rotr8): Add.
14329
14330         * modules/bitrotate (configure.ac): Need
14331         AC_REQUIRE([AC_C_INLINE]).
14332         (Description): Mention stdint.h.  Reported by Bruno Haible
14333         <bruno@clisp.org>.
14334
14335         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
14336         Paolo Bonzini <bonzini@gnu.org>.
14337
14338 2008-08-31  Bruno Haible  <bruno@clisp.org>
14339
14340         Assume Solaris specific bi-arch conventions on Solaris systems.
14341         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
14342         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
14343         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
14344         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
14345         like acl_libdirstem.
14346         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
14347         acl_libdirstem.
14348         * NEWS: Mention the change.
14349         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
14350
14351 2008-08-31  Jim Meyering  <meyering@redhat.com>
14352
14353         * lib/strftime.h: Add comments describing the two added arguments.
14354
14355         remove duplicate #include directives
14356         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
14357         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
14358
14359 2008-08-31  Bruno Haible  <bruno@clisp.org>
14360
14361         New module 'sigpipe-die'.
14362         * modules/sigpipe-die: New file.
14363         * lib/sigpipe-die.h: New file.
14364         * lib/sigpipe-die.c: New file.
14365         * MODULES.html.sh (Signal handling): Add sigpipe-die.
14366
14367 2008-08-31  Bruno Haible  <bruno@clisp.org>
14368
14369         Don't override previously installed signal handlers.
14370         * lib/fatal-signal.c (saved_sigactions): New variable.
14371         (uninstall_handlers): Reset the signal to the saved handler, not
14372         to SIG_DFL (except when ignored).
14373         (install_handlers): Save the previous handlers.
14374
14375 2008-08-30  Bruno Haible  <bruno@clisp.org>
14376
14377         * gnulib-tool (func_reset_sigpipe): New function.
14378         (func_get_automake_snippet, func_modules_transitive_closure,
14379         func_import): Invoke it before a join command that reads from stdin,
14380         to avoid "echo: write error: Broken pipe" error messages on stderr.
14381         Reported by Sam Steingold <sds@gnu.org>.
14382
14383 2008-08-30  Bruno Haible  <bruno@clisp.org>
14384
14385         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
14386         Code copied from m4/open.m4.
14387         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
14388         access and the filename ends in a slash. Code copied from lib/open.c.
14389         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
14390         * tests/test-fopen.c (main): Check against bug with trailing slash.
14391
14392 2008-08-29  Bruno Haible  <bruno@clisp.org>
14393
14394         Avoid some "gcc -pedantic" warnings.
14395         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
14396         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
14397         * lib/dirent.in.h: Likewise.
14398         * lib/fcntl.in.h: Likewise.
14399         * lib/float.in.h: Likewise.
14400         * lib/iconv.in.h: Likewise.
14401         * lib/inttypes.in.h: Likewise.
14402         * lib/locale.in.h: Likewise.
14403         * lib/math.in.h: Likewise.
14404         * lib/netinet_in.in.h: Likewise.
14405         * lib/search.in.h: Likewise.
14406         * lib/signal.in.h: Likewise.
14407         * lib/stdarg.in.h: Likewise.
14408         * lib/stdint.in.h: Likewise.
14409         * lib/stdio.in.h: Likewise.
14410         * lib/stdlib.in.h: Likewise.
14411         * lib/string.in.h: Likewise.
14412         * lib/strings.in.h: Likewise.
14413         * lib/sys_select.in.h: Likewise.
14414         * lib/sys_socket.in.h: Likewise.
14415         * lib/sys_stat.in.h: Likewise.
14416         * lib/sys_time.in.h: Likewise.
14417         * lib/sysexits.in.h: Likewise.
14418         * lib/time.in.h: Likewise.
14419         * lib/unistd.in.h: Likewise.
14420         * lib/wchar.in.h: Likewise.
14421         * lib/wctype.in.h: Likewise.
14422         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
14423         * modules/fchdir (Makefile.am): Likewise.
14424         * modules/fcntl (Makefile.am): Likewise.
14425         * modules/float (Makefile.am): Likewise.
14426         * modules/iconv_open (Makefile.am): Likewise.
14427         * modules/inttypes (Makefile.am): Likewise.
14428         * modules/locale (Makefile.am): Likewise.
14429         * modules/math (Makefile.am): Likewise.
14430         * modules/netinet_in (Makefile.am): Likewise.
14431         * modules/search (Makefile.am): Likewise.
14432         * modules/signal (Makefile.am): Likewise.
14433         * modules/stdarg (Makefile.am): Likewise.
14434         * modules/stdint (Makefile.am): Likewise.
14435         * modules/stdio (Makefile.am): Likewise.
14436         * modules/stdlib (Makefile.am): Likewise.
14437         * modules/string (Makefile.am): Likewise.
14438         * modules/strings (Makefile.am): Likewise.
14439         * modules/sys_select (Makefile.am): Likewise.
14440         * modules/sys_socket (Makefile.am): Likewise.
14441         * modules/sys_stat (Makefile.am): Likewise.
14442         * modules/sys_time (Makefile.am): Likewise.
14443         * modules/sysexits (Makefile.am): Likewise.
14444         * modules/time (Makefile.am): Likewise.
14445         * modules/unistd (Makefile.am): Likewise.
14446         * modules/wchar (Makefile.am): Likewise.
14447         * modules/wctype (Makefile.am): Likewise.
14448         Reported by Reuben Thomas <rrt@sc3d.org>.
14449
14450 2008-08-29  Bruno Haible  <bruno@clisp.org>
14451
14452         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
14453         any more.
14454
14455 2008-08-29  Simon Josefsson  <simon@josefsson.org>
14456
14457         * MODULES.html.sh (Misc): Add bitrotate.
14458
14459         * modules/bitrotate: New file.
14460
14461         * lib/bitrotate.h: New file.
14462
14463         * modules/bitrotate-tests: New file.
14464
14465         * tests/test-bitrotate.c: New file.
14466
14467         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
14468         on the bitrotate module.
14469
14470         * lib/arctwo.c: Use new bitrotate module.
14471
14472 2008-08-29  Jim Meyering  <meyering@redhat.com>
14473
14474         bootstrap: merge changes from coreutils
14475         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
14476         of copied files.  Remove a kludge, now that this is fixed.
14477         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
14478         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
14479         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
14480
14481 2008-08-29  Bruno Haible  <bruno@clisp.org>
14482
14483         * MODULES.html.sh: Remove --cvs-urls option.
14484
14485 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
14486
14487         maint.mk: adjust to file name change
14488         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
14489
14490 2008-08-28  Jim Meyering  <meyering@redhat.com>
14491
14492         * modules/getndelim2 (License): Relicense to LGPLv2+.
14493         Approved by Richard Stallman for the version of 1995, and by
14494         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
14495
14496 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
14497
14498         * lib/getdelim.c (flockfile, funlockfile): Make all of them
14499         dummy if one is not available.  Do not touch them if
14500         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
14501         (getc_maybe_unlocked): New.
14502         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
14503
14504 2008-08-26  Eric Blake  <ebb9@byu.net>
14505
14506         doc/INSTALL: resync from autoconf
14507         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
14508         (INSTALL_PRELUDE): Delete; this is done more efficiently by
14509         moving...
14510         * install.texi [!autoconf]: ...here.  Resync from autoconf.
14511         * INSTALL: Regenerate.
14512         * INSTALL.ISO: New file.
14513         * INSTALL.UTF-8: Likewise.
14514
14515 2008-08-26  Jim Meyering  <meyering@redhat.com>
14516
14517         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
14518         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
14519         these definitions conditional, so that they may be overridden, too.
14520
14521 2008-08-26  Bruno Haible  <bruno@clisp.org>
14522
14523         Generate INSTALL file variants with prettier quotes.
14524         * doc/Makefile (INSTALL_PRELUDE): New macro.
14525         (INSTALL): Use it.
14526         (INSTALL.ISO, INSTALL.UTF-8): New rules.
14527
14528 2008-08-26  Bruno Haible  <bruno@clisp.org>
14529
14530         Run makeinfo in an English locale.
14531         * doc/Makefile (MAKEINFO): New variable.
14532
14533 2008-08-26  Bruno Haible  <bruno@clisp.org>
14534
14535         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
14536         Suggested by Eric Blake.
14537
14538 2008-08-25  Bruno Haible  <bruno@clisp.org>
14539
14540         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
14541
14542 2008-08-25  Eric Blake  <ebb9@byu.net>
14543
14544         c-stack: test that stack overflow can be caught
14545         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
14546         that platform allows handling stack overflow; at least OS/2 EMX
14547         has sigaltstack, but crashes before transferring control to
14548         handler on stack overflow.
14549         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
14550         check for HAVE_STACK_OVERFLOW_HANDLING.
14551         Reported by Elbert Pol.
14552
14553 2008-08-25  Bruno Haible  <bruno@clisp.org>
14554
14555         * doc/posix-functions/strftime.texi: Fix description of strftime
14556         module.
14557
14558 2008-08-24  Bruno Haible  <bruno@clisp.org>
14559
14560         * tests/uniwidth/test-uc_width2.c: New file.
14561         * tests/uniwidth/test-uc_width2.sh: New file.
14562         * modules/uniwidth/width-tests (Files): Add the new files.
14563         (TESTS): Add uniwidth/test-uc_width2.sh.
14564         (TESTS_ENVIRONMENT): New variable.
14565         (check_PROGRAMS): Add test-uc_width2.
14566         (test_uc_width2_SOURCES): New variable.
14567
14568         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
14569         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
14570         not 0x00AB.
14571         Reported by Alexander V. Lukyanov <lav@netis.ru>.
14572
14573 2008-08-22  Eric Blake  <ebb9@byu.net>
14574
14575         test-lock, test-tls: mention why a test is skipped
14576         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
14577         skipped.
14578         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
14579
14580         count-one-bits: relax license
14581         * modules/count-one-bits (License): Relicense to LGPLv2+.
14582         Suggested by Ludovic Courtès, approved by Ben Pfaff.
14583
14584 2008-08-22  Andreas Schwab  <schwab@suse.de>
14585
14586         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
14587         Remove spurious space in assignment.
14588
14589 2008-08-21  Simon Josefsson  <simon@josefsson.org>
14590
14591         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
14592         Paul Eggert <eggert@CS.UCLA.EDU>.
14593
14594 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
14595
14596         * modules/gettext: Add m4/threadlib.m4.
14597
14598 2008-08-19  Eric Blake  <ebb9@byu.net>
14599
14600         test-c-stack: fix compilation failure on FreeBSD 5.0
14601         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
14602         headers before <sys/resource.h>.
14603         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
14604         the bug.
14605         Reported by Nelson H. F. Beebe.
14606
14607         strverscmp: migrate from "strverscmp.h" to <string.h>
14608         * modules/string (Makefile.am): Add new hooks.
14609         * modules/strverscmp (Files): Remove strverscmp.h.
14610         (Depends-on): Add string.
14611         (configure.ac): Add indicator.
14612         (Include): Mention new header.
14613         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
14614         defaults.
14615         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
14616         results.
14617         * lib/strverscmp.h: Delete.
14618         * lib/string.in.h (strverscmp): Provide declaration, when needed.
14619         * tests/test-strverscmp.c (includes): Adjust client.
14620         * lib/check-version.c (includes): Likewise.
14621         * NEWS: Document the change.
14622
14623         strverscmp: add unit test
14624         * modules/strverscmp-tests: New file.
14625         * tests/test-strverscmp.c: Likewise.
14626
14627 2008-08-19  Simon Josefsson  <simon@josefsson.org>
14628
14629         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
14630         regarding Windows crypto stuff, from Mono.
14631
14632 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
14633
14634         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
14635         if present, for intel RND.  Return error on failures.
14636
14637 2008-08-18  Ben Pfaff  <blp@gnu.org>
14638
14639         gitlog-to-changelog: give better diagnostic for failed pipe-open
14640         * build-aux/gitlog-to-changelog: Improve error message: suggest
14641         that the version of Git may be too old.
14642
14643 2008-08-18  Simon Josefsson  <simon@josefsson.org>
14644
14645         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
14646         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
14647
14648 2008-08-18  Bruno Haible  <bruno@clisp.org>
14649
14650         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
14651         pthread_in_use().
14652
14653 2008-08-18  Bruno Haible  <bruno@clisp.org>
14654
14655         * lib/glthread/threadlib.c: Include <pthread.h>.
14656
14657 2008-08-18  Bruno Haible  <bruno@clisp.org>
14658
14659         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
14660         glthread_recursive_lock_* macros.
14661         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
14662         Fix syntax error.
14663
14664 2008-08-18  Bruno Haible  <bruno@clisp.org>
14665
14666         * lib/glthread/thread.c: Avoid forcing a context switch right after
14667         thread creation.
14668
14669 2008-08-17  Bruno Haible  <bruno@clisp.org>
14670
14671         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
14672         * lib/glthread/thread.h: Provide Win32 specific implementation.
14673         * modules/thread (Files): Add lib/glthread/thread.c.
14674         (Depends-on): Add lock.
14675         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
14676
14677 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14678
14679         New module 'yield'.
14680         * modules/yield: New file.
14681         * lib/glthread/yield.h: New file.
14682         * m4/yield.m4: New file.
14683         * MODULES.html.sh (Multithreading): Add yield.
14684
14685 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14686
14687         New module 'thread'.
14688         * modules/thread: New file.
14689         * lib/glthread/thread.h: New file.
14690         * m4/thread.m4: New file.
14691         * MODULES.html.sh (Multithreading): Add thread.
14692
14693 2008-08-17  Bruno Haible  <bruno@clisp.org>
14694
14695         * lib/glthread/lock.h: Include <stdlib.h> always.
14696         * lib/glthread/tls.h: Likewise.
14697         * lib/glthread/cond.h: Likewise.
14698
14699 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14700
14701         New module 'cond'.
14702         * modules/cond: New file.
14703         * lib/glthread/cond.h: New file.
14704         * lib/glthread/cond.c: New file.
14705         * m4/cond.m4: New file.
14706         * MODULES.html.sh (Multithreading): Add cond.
14707
14708 2008-08-16  Eric Blake  <ebb9@byu.net>
14709
14710         c-stack: fix regression on Irix 5.3 from 2008-06-21
14711         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
14712         sa_sigaction...
14713         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
14714         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
14715         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
14716         * modules/signal (Makefile.am): Use the value.
14717         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
14718         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
14719         * doc/posix-headers/signal.texi (signal.h): Document this
14720         portability issue.
14721         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
14722         Reported by Tom G. Christensen.
14723
14724 2008-08-17  Bruno Haible  <bruno@clisp.org>
14725
14726         New module 'threadlib'.
14727         * modules/threadlib: New file.
14728         * lib/glthread/threadlib.c: New file, extracted from
14729         lib/glthread/lock.c.
14730         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
14731         functions.
14732         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
14733         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
14734         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
14735         macros.
14736         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
14737         (gl_DISABLE_THREADS): Remove macro.
14738         * modules/lock (Files): Remove build-aux/config.rpath.
14739         (Depends-on): Remove havelib. Add threadlib.
14740         (configure.ac-early): Remove section.
14741         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
14742         * modules/tls (Depends-on): Remove lock. Add threadlib.
14743         (Link): New section, copied from threadlib.
14744         * MODULES.html.sh (Multithreading): Add threadlib.
14745
14746 2008-08-14  Bruno Haible  <bruno@clisp.org>
14747
14748         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
14749         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
14750         glthread_rwlock_unlock, glthread_rwlock_destroy,
14751         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
14752         glthread_recursive_lock_destroy): Define as macros always.
14753         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
14754         glthread_lock_lock.
14755         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
14756         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
14757         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
14758         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
14759         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
14760         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
14761         (glthread_recursive_lock_lock_func): Renamed from
14762         glthread_recursive_lock_lock.
14763         (glthread_recursive_lock_unlock_func): Renamed from
14764         glthread_recursive_lock_unlock.
14765         (glthread_recursive_lock_destroy_func): Renamed from
14766         glthread_recursive_lock_destroy.
14767
14768 2008-08-14  Bruno Haible  <bruno@clisp.org>
14769
14770         * lib/glthread/lock.h: Renamed from lib/lock.h.
14771         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
14772         * lib/glthread/tls.h: Renamed from lib/tls.h.
14773         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
14774         * lib/fstrcmp.c: Update includes.
14775         * lib/strsignal.c: Update includes.
14776         * modules/lock (Files, Makefile.am): Update.
14777         (Include): Change to "glthread/lock.h".
14778         * modules/tls (Files, Makefile.am): Update.
14779         (Include): Change to "glthread/tls.h".
14780         * tests/test-lock.c: Update includes.
14781         * tests/test-tls.c: Update includes.
14782         * NEWS: Mention the renamed header files.
14783
14784 2008-08-11  Jim Meyering  <meyering@redhat.com>
14785
14786         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
14787
14788 2008-08-11  Eric Blake  <ebb9@byu.net>
14789
14790         test-c-stack: avoid C99-ism
14791         * tests/test-c-stack.c (main): Fix whitespace, move declaration
14792         before statement.
14793         Reported by Alain Guibert.
14794
14795 2008-08-10  Jim Meyering  <meyering@redhat.com>
14796
14797         ensure that return value of uinttostr et al are not ignored
14798         * lib/inttostr.h (__GNUC_PREREQ): Define.
14799         (__attribute_warn_unused_result__): Define.
14800         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
14801
14802 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
14803
14804         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
14805         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
14806
14807 2008-08-07  Jim Meyering  <meyering@redhat.com>
14808
14809         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
14810
14811         * modules/mkstemp (License): Relicense under LGPLv2+.
14812         * modules/tempname (License): Likewise.
14813
14814 2008-08-06  Bruno Haible  <bruno@clisp.org>
14815
14816         * lib/poll.c (poll): Further micro-optimization.
14817
14818 2008-08-06  Jim Meyering  <meyering@redhat.com>
14819
14820         inet_pton.c: use locale-independent tolower
14821         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
14822         (inet_pton6): Use c_tolower rather than tolower.
14823         * modules/inet_pton (Depends-on): Add c-ctype.
14824
14825 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
14826
14827         * lib/poll.c (poll): Avoid division when timeout is 0, cache
14828         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
14829
14830 2008-08-06  Jim Meyering  <meyering@redhat.com>
14831
14832         * modules/inet_pton (License): Relicense under LGPLv2+.
14833
14834 2008-08-03  Bruno Haible  <bruno@clisp.org>
14835
14836         Additional non-aborting API for lock and tls.
14837         * lib/lock.h: Include <errno.h>.
14838         (glthread_lock_init): New macro/function.
14839         (gl_lock_init): Define as wrapper around glthread_lock_init.
14840         (glthread_lock_lock): New macro/function.
14841         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
14842         (glthread_lock_unlock): New macro/function.
14843         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
14844         (glthread_lock_destroy): New macro/function.
14845         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
14846         (glthread_rwlock_init): New macro/function.
14847         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
14848         (glthread_rwlock_rdlock): New macro/function.
14849         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
14850         (glthread_rwlock_wrlock): New macro/function.
14851         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
14852         (glthread_rwlock_unlock): New macro/function.
14853         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
14854         (glthread_rwlock_destroy): New macro/function.
14855         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
14856         (glthread_recursive_lock_init): New macro/function.
14857         (gl_recursive_lock_init): Define as wrapper around
14858         glthread_recursive_lock_init.
14859         (glthread_recursive_lock_lock): New macro/function.
14860         (gl_recursive_lock_lock): Define as wrapper around
14861         glthread_recursive_lock_lock.
14862         (glthread_recursive_lock_unlock): New macro/function.
14863         (gl_recursive_lock_unlock): Define as wrapper around
14864         glthread_recursive_lock_unlock.
14865         (glthread_recursive_lock_destroy): New macro/function.
14866         (gl_recursive_lock_destroy): Define as wrapper around
14867         glthread_recursive_lock_destroy.
14868         (glthread_once): New macro/function.
14869         (gl_once): Define as wrapper around glthread_once.
14870         Update function declarations.
14871         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
14872         glthread_rwlock_init. Return error code.
14873         (glthread_rwlock_rdlock_multithreaded): Renamed from
14874         glthread_rwlock_rdlock. Return error code.
14875         (glthread_rwlock_wrlock_multithreaded): Renamed from
14876         glthread_rwlock_wrlock. Return error code.
14877         (glthread_rwlock_unlock_multithreaded): Renamed from
14878         glthread_rwlock_unlock. Return error code.
14879         (glthread_rwlock_destroy_multithreaded): Renamed from
14880         glthread_rwlock_destroy. Return error code.
14881         (glthread_recursive_lock_init_multithreaded): Renamed from
14882         glthread_recursive_lock_init. Return error code.
14883         (glthread_recursive_lock_lock_multithreaded): Renamed from
14884         glthread_recursive_lock_lock. Return error code.
14885         (glthread_recursive_lock_unlock_multithreaded): Renamed from
14886         glthread_recursive_lock_unlock. Return error code.
14887         (glthread_recursive_lock_destroy_multithreaded): Renamed from
14888         glthread_recursive_lock_destroy. Return error code.
14889         (glthread_once_call): Make static.
14890         (glthread_once_multithreaded): Renamed from glthread_once.
14891         * lib/tls.h: Include <errno.h>.
14892         (glthread_tls_key_init): New macro/function.
14893         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
14894         (glthread_tls_set): New macro/function.
14895         (gl_tls_set): Define as wrapper around glthread_tls_set.
14896         (glthread_tls_key_destroy): New macro/function.
14897         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
14898         Update function declarations.
14899         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
14900         glthread_tls_get.
14901         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
14902
14903 2008-08-04  Eric Blake  <ebb9@byu.net>
14904
14905         gnumakefile: use space, not TAB, outside of targets
14906         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
14907
14908 2008-08-02  Jim Meyering  <meyering@redhat.com>
14909
14910         getdate.y: avoid locale-dependent date parsing failure
14911         In Turkish locales, getdate would fail to recognize keywords
14912         containing a lowercase "i".  The solution is not to rely on
14913         locale-sensitive case-conversion.
14914         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
14915         (lookup_word): Use c_toupper in place of toupper.
14916         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
14917         Reported by Vefa Bicakci <bicave@superonline.com> in
14918         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
14919         * modules/getdate (Depends-on): Add c-ctype.
14920
14921 2008-08-02  Bruno Haible  <bruno@clisp.org>
14922
14923         * gnulib-tool (func_import): When updating or creating a .gitignore
14924         file, prepend each added line with a slash, and ignore leading slashes
14925         from the existing lines.
14926         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
14927
14928 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14929
14930         Portability fix for GNU make 3.79.1.
14931         * top/GNUmakefile: Avoid 'else COND', which older GNU make
14932         versions do not understand.
14933
14934 2008-08-01  Bruno Haible  <bruno@clisp.org>
14935
14936         Work around bug of HP-UX 10.20 cc with -0.0 literal.
14937         * tests/test-isnanf.h (zero): New variable.
14938         (main): Avoid literal -0.0f.
14939         * tests/test-isnand.h (zero): New variable.
14940         (main): Avoid literal -0.0.
14941         * tests/test-isnanl.h (zero): New variable.
14942         (main): Avoid literal -0.0L.
14943         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
14944         (test_float, test_double, test_long_double): Avoid literals -0.0f,
14945         -0.0, -0.0L.
14946         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
14947         (test_signbitd): Avoid literal -0.0.
14948         (test_signbitl): Avoid literal -0.0L.
14949         * tests/test-ceilf1.c (zero): New variable.
14950         (main): Avoid literal -0.0f.
14951         * tests/test-ceill.c (zero): New variable.
14952         (main): Avoid literal -0.0L.
14953         * tests/test-floorf1.c (zero): New variable.
14954         (main): Avoid literal -0.0f.
14955         * tests/test-floorl.c (zero): New variable.
14956         (main): Avoid literal -0.0L.
14957         * tests/test-roundf1.c (zero): New variable.
14958         (main): Avoid literal -0.0f.
14959         * tests/test-round1.c (zero): New variable.
14960         (main): Avoid literal -0.0.
14961         * tests/test-roundl.c (zero): New variable.
14962         (main): Avoid literal -0.0L.
14963         * tests/test-truncf1.c (zero): New variable.
14964         (main): Avoid literal -0.0f.
14965         * tests/test-trunc1.c (zero): New variable.
14966         (main): Avoid literal -0.0.
14967         * tests/test-truncl.c (zero): New variable.
14968         (main): Avoid literal -0.0L.
14969         * tests/test-frexp.c (zero): New variable.
14970         (main): Avoid literal -0.0.
14971         * tests/test-frexpl.c (zero): New variable.
14972         (main): Avoid literal -0.0L.
14973         * tests/test-ldexpl.c (zero): New variable.
14974         (main): Avoid literal -0.0L.
14975         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
14976         (zerod, zerol): New variables.
14977         (test_function): Avoid literals -0.0, -0.0L.
14978         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
14979         (zerod, zerol): New variables.
14980         (test_function): Avoid literals -0.0, -0.0L.
14981         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
14982         (zerod, zerol): New variables.
14983         (test_function): Avoid literals -0.0, -0.0L.
14984         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
14985         (zerod, zerol): New variables.
14986         (test_function): Avoid literals -0.0, -0.0L.
14987         * tests/test-strtod.c (zero): New variable.
14988         (main): Avoid literal -0.0.
14989         Reported by Jonathan C. Patschke <jp@centtech.com>.
14990
14991 2008-07-31  Jim Meyering  <meyering@redhat.com>
14992
14993         sha256.h: correct definition of SHA224_DIGEST_SIZE
14994         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
14995         Reported by Paulie Pena IV <paulie4@gmail.com>.
14996         Define as 224 / 8, rather than as a literal.
14997         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
14998         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
14999         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
15000
15001 2008-07-31  Bruno Haible  <bruno@clisp.org>
15002
15003         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
15004         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
15005         Reported by Jonathan Patschke <jp@centtech.com>.
15006
15007 2008-07-31  Bruno Haible  <bruno@clisp.org>
15008
15009         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
15010         Reported by Paolo Bonzini <bonzini@gnu.org>.
15011
15012 2008-07-30  Eric Blake  <ebb9@byu.net>
15013
15014         test-strtod: allow compilation without -lm
15015         * tests/test-strtod.c (main): Avoid link dependence on fabs.
15016         Reported by Dennis Clarke <blastwave@gmail.com>.
15017
15018 2008-07-28  Jim Meyering  <meyering@redhat.com>
15019
15020         bootstrap: work also when there are no .po files in po/
15021         * build-aux/bootstrap (update_po_files): Complete the change
15022         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
15023
15024 2008-07-27  Jim Meyering  <meyering@redhat.com>
15025
15026         * users.txt: Add zile.
15027
15028 2008-07-26  Ben Pfaff  <blp@gnu.org>
15029
15030         Add missing dependencies on new m4/exponent[fdl].m4 files.
15031         * modules/isnanf-nolibm: Add m4/exponentf.m4.
15032         * modules/isnand-nolibm: Add m4/exponentd.m4.
15033         * modules/isnanl-nolibm: Add m4/exponentl.m4.
15034         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
15035         m4/isnan[fdl].m4, because the macros actually used moved.
15036         Reported by Jim Meyering.
15037
15038 2008-07-14  Ben Pfaff  <blp@gnu.org>
15039
15040         Add isinf module.
15041         * lib/isinf.c: New file.
15042         * lib/math.in.h: Define isinf macro if we have decided to replace
15043         it.
15044         * m4/isinf.m4: New file.
15045         * m4/math_h.m4: Initialize and substitute variables for isinf
15046         module.
15047         * modules/isinf: New file.
15048         * modules/isinf-tests: New file.
15049         * modules/math: Add substitutions for new module.
15050         * tests/test-isinf.c: New file.
15051         * doc/posix-functions/isinf.texi: Mention new module.
15052         * MODULES.html.sh: Mention new module.
15053
15054 2008-07-14  Ben Pfaff  <blp@gnu.org>
15055
15056         Factor out some macros for use by additional modules.
15057         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
15058         exponentf.m4.
15059         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
15060         exponentd.m4.
15061         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
15062         file exponentl.m4.
15063         * m4/exponentf.m4: New file.
15064         * m4/exponentd.m4: New file.
15065         * m4/exponentl.m4: New file.
15066         * modules/isnanf: Use new file m4/exponentf.m4.
15067         * modules/isnand: Use new file m4/exponentd.m4.
15068         * modules/isnanl: Use new file m4/exponentl.m4.
15069
15070 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
15071
15072         mktime.c: normalize tp->tm_isdst value to -1/0/1.
15073         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
15074         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
15075         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
15076
15077         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
15078         readlink on platforms without PATH_MAX.
15079
15080 2008-07-21  Eric Blake  <ebb9@byu.net>
15081
15082         Warn, not fail, on stale version.
15083         * top/GNUmakefile (_curr-ver): Tone down previous patch.
15084
15085         Don't allow installation with stale devel version number.
15086         * top/GNUmakefile (_is-install-target): New macro.
15087         (_curr-ver): Forbid installation with stale version number.
15088
15089 2008-07-20  Bruno Haible  <bruno@clisp.org>
15090
15091         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
15092         TESTS_ENVIRONMENT.
15093         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
15094
15095 2008-07-20  Bruno Haible  <bruno@clisp.org>
15096
15097         * lib/c-stack.h (c_stack_action): Add documentation.
15098         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
15099
15100 2008-07-20  Bruno Haible  <bruno@clisp.org>
15101
15102         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
15103         * modules/readlink (License): Likewise.
15104
15105 2008-07-17  Eric Blake  <ebb9@byu.net>
15106
15107         * modules/c-stack (Link): Fix typo.
15108
15109         Make c-stack use libsigsegv, when available.
15110         * modules/c-stack (Depends-on): Add libsigsegv.
15111         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
15112         needed.
15113         * lib/c-stack.c (SIGSTKSZ): Define fallback.
15114         (segv_handler, overflow_handler, c_stack_action)
15115         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
15116         implementation when libsigsegv is available, but only when using
15117         the library is necessary.
15118         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
15119         comment, explaining why XSI check fails on Linux.
15120         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
15121         * tests/test-c-stack2.sh: Tweak skip message.
15122         * NEWS: Document new link-time requirements.
15123
15124 2008-07-16  Eric Blake  <ebb9@byu.net>
15125
15126         c-stack: Expose false positives when not using libsigsegv.
15127         * modules/c-stack-tests (Files): Expand test.
15128         * tests/test-c-stack.c (main): Add means to conditionally trigger
15129         non-overflow SIGSEGV.
15130         * tests/test-c-stack2.sh: New file.
15131
15132 2008-07-14  Bruno Haible  <bruno@clisp.org>
15133
15134         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
15135         Reported by Eric Blake.
15136
15137 2008-07-14  Sam Steingold  <sds@gnu.org>
15138             Bruno Haible  <bruno@clisp.org>
15139
15140         New module libsigsegv.
15141         * modules/libsigsegv: New file.
15142         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
15143         modifications.
15144         * MODULES.html.sh (Signal handling): New section.
15145
15146 2008-07-14  Bruno Haible  <bruno@clisp.org>
15147
15148         * modules/unictype/ctype-* (Description): Add the word "function".
15149         Improves the resulting doc in MODULES.html.
15150
15151 2008-07-12  Ben Pfaff  <blp@gnu.org>
15152
15153         Add longlong module.
15154         * modules/longlong: New file.
15155
15156 2008-07-12  Bruno Haible  <bruno@clisp.org>
15157
15158         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
15159         to empty.
15160
15161 2008-07-10  Ben Pfaff  <blp@gnu.org>
15162
15163         Add isnan module.
15164         * doc/posix-functions/isnan.texi: Mention new module.
15165         * lib/math.in.h: Define isnan macro if we have decided to replace
15166         it.
15167         * m4/isnan.m4: New file.
15168         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
15169         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
15170         also.
15171         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
15172         redundancy.
15173         * m4/math_h.m4: Initialize and substitute variables for isnan
15174         module.
15175         * modules/isnan: New file.
15176         * modules/isnan-tests: New file.
15177         * modules/math: Add substitutions for new module.
15178         * tests/test-isnan.c: New file.
15179         * MODULES.html.sh: Mention new module.
15180
15181 2008-07-10  Ben Pfaff  <blp@gnu.org>
15182
15183         Add isnanf module.
15184         * lib/isnanf.m4: New file.
15185         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
15186         (gl_HAVE_ISNANF_IN_LIBM): New macro.
15187         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
15188         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
15189         * modules/isnanf: New file.
15190         * modules/isnanf-tests: New file.
15191         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
15192         files.
15193         * tests/test-isnanf-nolibm.c: factored most of its contents into
15194         new file tests/test-isnanf.h.
15195         * tests/test-isnanf.h: New file.
15196         * tests/test-isnanf.c: New file.
15197         * MODULES.html.sh: Mention new module.
15198         * doc/glibc-functions/isnanf.texi: Mention new module.
15199
15200 2008-07-10  Ben Pfaff  <blp@gnu.org>
15201
15202         Add isnand module.
15203         * lib/isnand.h: New file.
15204         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
15205         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
15206         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
15207         functionality also.
15208         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
15209         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
15210         (gl_HAVE_ISNAND_IN_LIBM): New macro.
15211         * modules/isnand: New file.
15212         * modules/isnand-tests: New file.
15213         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
15214         files.
15215         * tests/test-isnand-nolibm.c: factored most of its contents into
15216         new file tests/test-isnand.h.
15217         * tests/test-isnand.h: New file.
15218         * tests/test-isnand.c: New file.
15219         * MODULES.html.sh: Mention new module.
15220
15221 2008-07-10  Ben Pfaff  <blp@gnu.org>
15222
15223         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
15224         * lib/isnand.h: Rename lib/isnand-nolibm.h.
15225         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
15226         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
15227         * modules/isnanf-nolibm: Update references to renamed files.
15228         * modules/isnand-nolibm: Likewise.
15229         * modules/isnanf-nolibm-tests: Likewise.
15230         * modules/isnand-nolibm-tests: Likewise.
15231         * lib/frexp.c: Likewise.
15232         * lib/isfinite.c: Likewise.
15233         * lib/signbitd.c: Likewise.
15234         * lib/signbitf.c: Likewise.
15235         * lib/vasnprintf.c: Likewise.
15236         * tests/test-ceilf1.c: Likewise.
15237         * tests/test-ceilf2.c: Likewise.
15238         * tests/test-floorf1.c: Likewise.
15239         * tests/test-floorf2.c: Likewise.
15240         * tests/test-frexp.c: Likewise.
15241         * tests/test-round1.c: Likewise.
15242         * tests/test-round2.c: Likewise.
15243         * tests/test-roundf1.c: Likewise.
15244         * tests/test-strtod.c: Likewise.
15245         * tests/test-trunc1.c: Likewise.
15246         * tests/test-trunc2.c: Likewise.
15247         * tests/test-truncf1.c: Likewise.
15248         * tests/test-truncf2.c: Likewise.
15249         * NEWS: Mention the renamed header files.
15250
15251 2008-07-11  Jim Meyering  <meyering@redhat.com>
15252
15253         vc-list-files: make the last-resort awk code more portable
15254         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
15255         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
15256         does not support it.
15257
15258 2008-07-10  Eric Blake  <ebb9@byu.net>
15259
15260         Work with tar's bootstrap.
15261         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
15262         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
15263         an m4 comment.
15264
15265 2008-07-09  Jim Meyering  <meyering@redhat.com>
15266
15267         posix-shell.m4: fix typo that made this test malfunction
15268         * m4/posix-shell.m4: Remove capitalization in variable name.
15269
15270 2008-07-08  Bruno Haible  <bruno@clisp.org>
15271
15272         * m4/onceonly.m4: Update comments.
15273         Reported by Ben Pfaff <blp@cs.stanford.edu>.
15274
15275 2008-07-04  Jim Meyering  <meyering@redhat.com>
15276
15277         * users.txt: Add vc-dwim.
15278         (bison, coreutils): Use the gitweb URL.
15279
15280 2008-07-03  Jim Meyering  <meyering@redhat.com>
15281
15282         * users.txt: Add libffcall.  From Sam Steingold.
15283
15284 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
15285
15286         getdate.y: do not ignore TZ with relative day, month or year offset
15287         * lib/getdate.y (get_date): Move the tz-handling block to follow the
15288         relative-date-handling, since otherwise, the latter would clobber the
15289         sole output (an updated Start value) of the tz-handling block.
15290         * tests/test-getdate.c: Tests for the fix
15291
15292 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15293
15294         Recognize 'foo_LIBRARIES += libgnu.a'.
15295         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
15296         makefile snippet has already specified an installation location,
15297         also using '+='.
15298
15299 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
15300
15301         getdate.y: factor out common actions
15302         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
15303         Use them in place of open-coded actions.
15304
15305 2008-07-01  Simon Josefsson  <simon@josefsson.org>
15306
15307         Add self-test for getdate module.
15308         * modules/getdate-tests: New file.
15309         * tests/test-getdate.c: New file.
15310
15311 2008-06-29  Bruno Haible  <bruno@clisp.org>
15312
15313         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
15314         .gitignore.
15315         Reported by Sylvain Beucler <beuc@beuc.net>.
15316
15317 2008-06-29  Bruno Haible  <bruno@clisp.org>
15318
15319         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
15320         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
15321
15322 2008-06-29  Bruno Haible  <bruno@clisp.org>
15323
15324         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
15325         EXTRA_DIST.
15326         Reported by Sylvain Beucler <beuc@beuc.net>.
15327
15328 2008-06-26  Jim Meyering  <meyering@redhat.com>
15329
15330         make several modules depend on the "open" module
15331         This provides slightly increased consistency when opening-for-write
15332         the name of a non-directory spelled with a trailing slash.
15333         * modules/chdir-safer: Likewise.
15334         * modules/chown: Likewise.
15335         * modules/clean-temp: Likewise.
15336         * modules/copy-file: Likewise.
15337         * modules/fchdir: Likewise.
15338         * modules/fcntl-safer: Likewise.
15339         * modules/pipe: Likewise.
15340         * modules/utime: Likewise.
15341         Prompted by Eric Blake and Bruno Haible.
15342
15343 2008-06-24  Andreas Schwab  <schwab@suse.de>
15344
15345         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
15346         literals can be used as initializers for global variables.
15347
15348 2008-06-23  Eric Blake  <ebb9@byu.net>
15349
15350         Make gnulib-cache.m4 easier to diff.
15351         * gnulib-tool (func_import): Allow newlines when reading cached
15352         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
15353
15354 2008-06-23  Bruno Haible  <bruno@clisp.org>
15355
15356         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
15357         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
15358         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
15359         m4/signalblocking.m4.
15360         (gl_PREREQ_SIGACTION): Don't invoke it.
15361         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
15362         gl_PREREQ_SIG_HANDLER_H.
15363         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
15364         Don't check for sigaction here.
15365
15366 2008-06-23  Bruno Haible  <bruno@clisp.org>
15367
15368         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
15369         (install_handlers): Don't set the SA_RESETHAND flag.
15370
15371 2008-06-23  Bruno Haible  <bruno@clisp.org>
15372
15373         * m4/sigaction.m4: Comment fixes.
15374         * lib/signal.in.h: Likewise.
15375
15376 2008-06-23  Eric Blake  <ebb9@byu.net>
15377
15378         Fix typo.
15379         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
15380
15381         Avoid SA_ namespace.
15382         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
15383         Reported by Ralf Wildenhues.
15384
15385         Avoid test failure due to SA_RESTORER.
15386         * tests/test-sigaction.c (SA_MASK): New macro.
15387         (main): Avoid failing due to extension flags being set.
15388         Reported by Jim Meyering.
15389
15390         Revert use of sig-handler.h in sigprocmask.c.
15391         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
15392         it requires the existence of struct sigaction.
15393         * lib/sigprocmask.c (handler_t): Restore typedef.
15394         (rpl_signal, old_handlers): Use local type.
15395
15396 2008-06-22  Bruno Haible  <bruno@clisp.org>
15397
15398         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
15399         conditionally.
15400         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15401
15402 2008-06-22  Bruno Haible  <bruno@clisp.org>
15403
15404         * doc/posix-functions/siginterrupt.texi: Move note.
15405
15406         * lib/signal.in.h (SA_RESTART): New macro.
15407         * lib/sigaction.c: Update comment.
15408
15409         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
15410
15411         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
15412         (gl_PREREQ_SIGPROCMASK): Invoke it.
15413         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
15414
15415         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
15416
15417         * lib/sigprocmask.c: Update a comment.
15418
15419 2008-06-21  Eric Blake  <ebb9@byu.net>
15420
15421         Use sigaction module rather than signal().
15422         * modules/c-stack (Depends-on): Add sigaction.
15423         * modules/fatal-signal (Depends-on): Likewise.
15424         * modules/nanosleep (Depends-on): Likewise.
15425         * modules/sigprocmask (Files): Add sig-handler.h.
15426         * modules/sigaction (Files): Likewise.
15427         * lib/sig-handler.h (get_handler): New file, suggested by Paul
15428         Eggert.
15429         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
15430         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
15431         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
15432         (init_fatal_signals): Likewise.
15433         * lib/nanosleep.c (rpl_nanosleep): Likewise.
15434         (siginterrupt): Delete fallback.
15435         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
15436         instead.
15437         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
15438         siginterrupt.
15439
15440         New module sigaction, for mingw.
15441         * modules/sigaction: New module...
15442         * modules/sigaction-tests: ...and its test.
15443         * m4/sigaction.m4: New file.
15444         * lib/sigaction.c: Likewise.
15445         * tests/test-sigaction.c: Likewise.
15446         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
15447         * modules/signal (Makefile.am): Likewise.
15448         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
15449         needed.
15450         * doc/posix-headers/signal.texi (signal.h): Mention provided
15451         types.
15452         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
15453         that sigaction is preferable.
15454         * doc/posix-functions/sigaction.texi (sigaction): Mention new
15455         module.
15456         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15457         sigaction.
15458
15459         Improve robustness of sigprocmask by overriding signal.
15460         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
15461         is in use.
15462         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
15463         (SIGKILL, SIGSTOP): Provide fallbacks.
15464         (rpl_signal): Implement.
15465         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
15466         signal can be called inside handlers.
15467
15468         Fix nanosleep module on mingw.
15469         * modules/nanosleep (Depends-on): Add sys_select.
15470         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
15471
15472         Fix licensing of sigprocmask.
15473         * modules/raise (License): Relicense as LGPL.
15474
15475 2008-06-21  Bruno Haible  <bruno@clisp.org>
15476
15477         * lib/propername.c (proper_name_utf8): Don't use the transliterated
15478         result if it contains question marks.
15479         Reported by Michael Geng <linux@michaelgeng.de>.
15480
15481 2008-06-19  Bruno Haible  <bruno@clisp.org>
15482
15483         Fix CVS-ism.
15484         * doc/gnulib.texi: Include updated-stamp.texi.
15485         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
15486         (updated-stamp.texi): New rule.
15487         (gnulib.info): Depend on it.
15488         * doc/.gitignore: Add updated-stamp.texi.
15489         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
15490
15491 2008-06-19  Bruno Haible  <bruno@clisp.org>
15492
15493         * doc/Makefile (gnulib.info): Update and simplify dependencies.
15494         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
15495
15496 2008-06-19  Eric Blake  <ebb9@byu.net>
15497
15498         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
15499         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
15500         Reported by Stepan Kasal.
15501
15502 2008-06-18  Bruno Haible  <bruno@clisp.org>
15503
15504         * lib/fatal-signal.c (init_fatal_signals): Add comment.
15505         Reported by Eric Blake.
15506
15507 2008-06-18  Eric Blake  <ebb9@byu.net>
15508
15509         Work around cygwin 1.5.25 strsignal bug.
15510         * tests/test-strsignal.c: Allow for const char *.
15511         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
15512
15513 2008-06-18  Simon Josefsson  <simon@josefsson.org>
15514
15515         * users.txt: Update URL to article and add author/date
15516         information.
15517
15518 2008-06-17  Bruno Haible  <bruno@clisp.org>
15519
15520         New macro gl_DISABLE_THREADS.
15521         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
15522         if the user did not pass --enable-threads or --disable-threads option.
15523         (gl_DISABLE_THREADS): New macro.
15524         Reported by Eric Blake <ebb9@byu.net>.
15525
15526 2008-06-17  Bruno Haible  <bruno@clisp.org>
15527
15528         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
15529         when the macro ignores it.
15530         Based on a patch by Eric Blake <ebb9@byu.net>.
15531
15532 2008-06-17  Bruno Haible  <bruno@clisp.org>
15533
15534         * modules/tls (License): Change to LGPLv2+.
15535         Reported by Eric Blake.
15536
15537 2008-06-17  Eric Blake  <ebb9@byu.net>
15538
15539         Simplify c-stack prerequisites.
15540         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
15541         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
15542         no longer requires <ucontext.h> to exist.  Optimize setrlimit
15543         check.
15544         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
15545         <sys/resource.h>.
15546
15547         Move c-stack test into testsuite.
15548         * modules/c-stack-tests: New file.
15549         * lib/c-stack.c [DEBUG]: Move test program...
15550         * tests/test-c-stack.c: ...into this new file.  Skip rather than
15551         fail test if sigaltstack is lacking.
15552         * tests/test-c-stack.sh: New driver file.
15553
15554 2008-06-16  Eric Blake  <ebb9@byu.net>
15555
15556         Use raise module consistently.
15557         * modules/fatal-signal (Depends-on): Add raise.
15558         * modules/sigprocmask (Depends-on): Likewise.
15559         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
15560         * lib/sigprocmask.c (sigprocmask): Likewise.
15561         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
15562         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
15563
15564         Fix compliance bug in sigpending.
15565         * lib/sigprocmask.c (sigpending): Return pending array via
15566         parameter, not return value.
15567
15568 2008-06-14  Eric Blake  <ebb9@byu.net>
15569
15570         Improve obstack-printf test code.
15571         * tests/test-obstack-printf.c (test_function): Fix comment, and
15572         simplify usage of obstack_* in macros.  Add a test for coverage.
15573         Reported by Bruno Haible.
15574
15575 2008-06-14  Bruno Haible  <bruno@clisp.org>
15576
15577         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
15578         array size as a constant, not as a const variable.
15579         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
15580         AC_USE_SYSTEM_EXTENSIONS.
15581         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
15582         Test whether the obstack_printf function actually exists.
15583         * modules/obstack-printf (Depends-on): Add extensions.
15584         (Include): Remove obstack.h.
15585         * modules/obstack-printf-posix (Depends-on): Add extensions.
15586         (Include): Remove obstack.h.
15587
15588 2008-06-13  Eric Blake  <ebb9@byu.net>
15589
15590         Add obstack-printf and obstack-printf-posix modules.
15591         * modules/obstack-printf: New file.
15592         * modules/obstack-printf-posix: Likewise.
15593         * MODULES.html.sh (Misc): Mention them.
15594         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
15595         Likewise.
15596         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
15597         Likewise.
15598         * modules/stdio (Makefile.am): Accomodate new modules.
15599         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
15600         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
15601         Declare.
15602         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
15603         functions.
15604         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
15605         (gl_REPLACE_OBSTACK_PRINTF): New macros
15606         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
15607         * tests/test-obstack-printf.c: New file.
15608         * modules/obstack-printf-tests: Likewise.
15609         * modules/obstack-printf-posix-tests: Likewise.
15610
15611 2008-06-11  Bruno Haible  <bruno@clisp.org>
15612
15613         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
15614         * lib/open.c: Include errno.h.
15615         (open): Fail when attempting to write to a file that has a trailing
15616         slash.
15617         * tests/test-open.c (main): Test against trailing slash bug.
15618         * doc/posix-functions/open.texi: Mention the trailing slash bug.
15619
15620 2008-06-10  Bruno Haible  <bruno@clisp.org>
15621
15622         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
15623         for $? to work inside the trap command, with various /bin/sh-s.
15624         * tests/test-vc-list-files-cvs.sh: Likewise.
15625
15626 2008-06-10  Bruno Haible  <bruno@clisp.org>
15627
15628         * lib/acl-internal.h: Don't include gettext.h here.
15629         * lib/set-mode-acl.c: Include gettext.h here.
15630         * lib/copy-acl.c: Likewise.
15631
15632 2008-06-10  Bruno Haible  <bruno@clisp.org>
15633
15634         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
15635         * lib/wait-process.c (wait_subprocess): Likewise.
15636         * lib/execute.h (execute): Add termsigp argument.
15637         * lib/execute.c (execute): Likewise.
15638         * lib/csharpcomp.c (compile_csharp_using_pnet,
15639         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
15640         * lib/csharpexec.c (execute_csharp_using_pnet,
15641         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
15642         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
15643         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
15644         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
15645         is_jikes_present): Update.
15646         * lib/javaexec.c (execute_java_class): Update.
15647         * lib/javaversion.c (execute_and_read_line): Update.
15648         * NEWS: Document the changes.
15649         Reported by Eric Blake.
15650
15651 2008-06-10  Eric Blake  <ebb9@byu.net>
15652
15653         Add missing include.
15654         * tests/test-strstr.c (includes): Add <signal.h>.
15655         * tests/test-strcasestr.c (includes): Likewise.
15656         * tests/test-memmem.c (includes): Likewise.
15657
15658 2008-06-10  Bruno Haible  <bruno@clisp.org>
15659
15660         * lib/wait-process.c (wait_subprocess): Add an assertion.
15661
15662 2008-06-10  Bruno Haible  <bruno@clisp.org>
15663
15664         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
15665
15666 2008-06-10  Bruno Haible  <bruno@clisp.org>
15667
15668         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
15669         using alarm().
15670         * tests/test-strcasestr.c (main): Likewise.
15671         * tests/test-strstr.c (main): Likewise.
15672
15673 2008-06-09  Bruno Haible  <bruno@clisp.org>
15674
15675         Work around the Solaris 10 ACE ACLs ABI change.
15676         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
15677         declare if ACL_NO_TRIVIAL is present.
15678         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
15679         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
15680         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
15681         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
15682         define if ACL_NO_TRIVIAL is present.
15683         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
15684         and use the current ABI.
15685         (file_has_acl): Use same #if condition as elsewhere.
15686         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
15687         in use, and use the current ABI.
15688         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
15689         Reported by Jim Meyering.
15690
15691 2008-06-09  Eric Blake  <ebb9@byu.net>
15692
15693         Work around environments that (stupidly) ignore SIGALRM.
15694         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
15695         before using alarm().
15696         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
15697         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
15698         Reported by Ian Beckwith <ianb@erislabs.net>.
15699
15700         Produce autobuild blurb earlier in log.
15701         * modules/autobuild (configure.ac-early): Move AB_INIT here.
15702
15703 2008-06-09  Jim Meyering  <meyering@redhat.com>
15704         and OndÅ™ej Vašík  <ovasik@redhat.com>
15705
15706         utimens.c: correct kernel bug work-around
15707         OndÅ™ej Vašík found that the invalid return value of 280 indicates
15708         failure, not success, and the kernel bug we're trying to work
15709         around affects not just the utimensat call, but also the fallback
15710         futimens call.
15711         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
15712         not success.
15713         [HAVE_FUTIMENS]: Use the same work-around, here.
15714
15715 2008-06-09  Jim Meyering  <meyering@redhat.com>
15716
15717         add more guards around definition of ACE_-related code
15718         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
15719         ALLOW and ACE_OWNER are also defined.
15720
15721 2008-06-08  Bruno Haible  <bruno@clisp.org>
15722
15723         * lib/acl-internal.h: Add me as co-author.
15724         * lib/file-has-acl.c: Likewise.
15725         * lib/set-mode-acl.c: Likewise.
15726         * lib/copy-acl.c: Likewise.
15727
15728 2008-06-08  Bruno Haible  <bruno@clisp.org>
15729
15730         Add support for AIX ACLs.
15731         * lib/acl-internal.h (acl_nontrivial): New declaration.
15732         * lib/file-has-acl.c (acl_nontrivial): New function.
15733         (file_has_acl): Add implementation using AIX 4 ACL API.
15734         * lib/set-mode-acl.c (qset_acl): Likewise.
15735         * lib/copy-acl.c (qcopy_acl): Likewise.
15736
15737 2008-06-08  Bruno Haible  <bruno@clisp.org>
15738
15739         Add support for HP-UX ACLs.
15740         * lib/acl-internal.h (acl_nontrivial): New declaration.
15741         * lib/file-has-acl.c (acl_nontrivial): New function.
15742         (file_has_acl): Add implementation using HP-UX 11 ACL API.
15743         * lib/set-mode-acl.c (qset_acl): Likewise.
15744         * lib/copy-acl.c (qcopy_acl): Likewise.
15745
15746 2008-06-08  Bruno Haible  <bruno@clisp.org>
15747
15748         Add support for Cygwin ACLs.
15749         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
15750         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
15751         the chmod_or_fchmod call.
15752         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
15753
15754 2008-06-08  Bruno Haible  <bruno@clisp.org>
15755
15756         Fix bug with setuid modes in Solaris 10+ code.
15757         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
15758         succeeded, when the mode contains some special bits.
15759
15760 2008-06-08  Bruno Haible  <bruno@clisp.org>
15761
15762         Add support for Solaris 7..10 ACLs.
15763         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
15764         declarations.
15765         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
15766         functions.
15767         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
15768         * lib/set-mode-acl.c (qset_acl): Likewise.
15769         * lib/copy-acl.c (qcopy_acl): Likewise.
15770
15771 2008-06-08  Bruno Haible  <bruno@clisp.org>
15772
15773         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
15774         declaration.
15775         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
15776         (acl_access_nontrivial): Remove MacOS X case.
15777         (file_has_acl): Use acl_extended_nontrivial.
15778         * lib/copy-acl.c (qcopy_acl): Likewise.
15779
15780 2008-06-08  Bruno Haible  <bruno@clisp.org>
15781
15782         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
15783
15784 2008-06-08  Jim Meyering  <meyering@redhat.com>
15785
15786         * modules/acl (Maintainer): Add Bruno Haible.
15787
15788 2008-06-07  Bruno Haible  <bruno@clisp.org>
15789
15790         Improve support for Tru64 ACLs.
15791         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
15792         ACL on OSF/1.
15793
15794 2008-06-07  Bruno Haible  <bruno@clisp.org>
15795
15796         Add support for MacOS X ACLs.
15797         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
15798         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
15799         * lib/set-mode-acl.c (qset_acl): Likewise.
15800         * lib/copy-acl.c (qcopy_acl): Likewise.
15801
15802 2008-06-07  Bruno Haible  <bruno@clisp.org>
15803
15804         Fix memory leak introduced on 2008-05-22.
15805         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
15806         use.
15807
15808 2008-06-07  Bruno Haible  <bruno@clisp.org>
15809
15810         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
15811         to construct an empty ACL.
15812
15813 2008-06-07  Bruno Haible  <bruno@clisp.org>
15814
15815         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
15816         precisely.
15817         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
15818
15819 2008-06-07  Bruno Haible  <bruno@clisp.org>
15820
15821         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
15822         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
15823
15824 2008-06-07  Bruno Haible  <bruno@clisp.org>
15825
15826         * doc/posix-functions/_setjmp.texi: Explain the use of this function
15827         regardless of POSIX.
15828         * doc/posix-functions/_longjmp.texi: Likewise.
15829         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
15830         SystemV platform in this case.
15831
15832 2008-06-06  Eric Blake  <ebb9@byu.net>
15833
15834         Document abort() bugs.
15835         * doc/posix-functions/abort.texi (abort): Mention anomalies.
15836
15837         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
15838         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
15839         sigsetjmp.
15840         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
15841         siglongjmp, but only as a macro.
15842         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
15843         is obsolete.
15844         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
15845
15846         Tweak documentation to cover cygwin argz bugs.
15847         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
15848         argz bug fix; no code change needed since no cygwin releases
15849         occurred between the last fix and the bug being tested.
15850         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
15851         module and recently fixed cygwin bugs.
15852         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
15853         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
15854         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
15855         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
15856         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
15857         Likewise.
15858         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
15859         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
15860         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
15861         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
15862         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
15863         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
15864         Likewise.
15865
15866         Avoid gcc warning on cygwin.
15867         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
15868         !ACL_NO_TRIVIAL]: Avoid unused variable.
15869
15870 2008-06-05  Eric Blake  <ebb9@byu.net>
15871
15872         Be tolerant of UNKNOWN version in gnulib-tool test dir.
15873         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
15874         git-version-gen fails to come up with a version.
15875         Reported by Simon Josefsson.
15876
15877 2008-06-05  Jim Meyering  <meyering@redhat.com>
15878             Paul Eggert  <eggert@cs.ucla.edu>
15879
15880         utimens.c: work around a probable Linux kernel bug
15881         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
15882         appears to be a kernel bug that causes utimensat to return 280
15883         instead of 0, indicating success.
15884
15885 2008-06-04  Bruno Haible  <bruno@clisp.org>
15886
15887         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
15888         2008-06-01 commit.
15889
15890 2008-06-04  Bruno Haible  <bruno@clisp.org>
15891
15892         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
15893         * lib/file-has-acl.c (acl_access_nontrivial): New function.
15894         (file_has_acl): Use it. Save errno afterwards.
15895         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
15896
15897 2008-06-03  Bruno Haible  <bruno@clisp.org>
15898
15899         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
15900         draft code. Simplify #ifs.
15901         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
15902         Put Solaris code after POSIX-draft code. Fix comments regarding
15903         Solaris 10, HP-UX. Mention Cygwin.
15904         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
15905
15906 2008-06-03  Eric Blake  <ebb9@byu.net>
15907
15908         Provide fallback for older kernels.
15909         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
15910         Provide runtime fallback if kernel lacks support.
15911         Reported by Mike Frysinger.
15912
15913 2008-06-02  Bruno Haible  <bruno@clisp.org>
15914
15915         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
15916         it exists.
15917
15918 2008-06-02  Bruno Haible  <bruno@clisp.org>
15919
15920         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
15921         * lib/copy-acl.c (qcopy_acl): Update comment.
15922
15923 2008-06-02  Bruno Haible  <bruno@clisp.org>
15924
15925         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
15926         like ACL APIs.
15927
15928 2008-06-02  Bruno Haible  <bruno@clisp.org>
15929
15930         * tests/test-file-has-acl.sh: Use different code for Cygwin.
15931         * tests/test-set-mode-acl.sh: Likewise.
15932         * tests/test-copy-acl.sh: Likewise.
15933         * tests/test-copy-file.sh: Likewise.
15934
15935 2008-06-02  Bruno Haible  <bruno@clisp.org>
15936
15937         * tests/test-file-has-acl.sh: Remove unused code.
15938
15939 2008-06-01  Bruno Haible  <bruno@clisp.org>
15940
15941         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
15942         (copy_acl): Just a wrapper around qcopy_acl that emits the error
15943         messages.
15944         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
15945
15946 2008-06-01  Bruno Haible  <bruno@clisp.org>
15947
15948         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
15949         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
15950         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
15951         APIs.
15952         * modules/acl-tests (configure.ac): Remove tests now contained in
15953         m4/acl.m4.
15954
15955 2008-06-02  Jim Meyering  <meyering@redhat.com>
15956
15957         announce-gen: use a better key-server host name
15958         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
15959         it may be more consistently reliable.  Suggested by Werner Koch
15960         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
15961
15962 2008-06-01  Bruno Haible  <bruno@clisp.org>
15963
15964         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
15965         Reported by Voroskoi Andras <voroskoi@gmail.com>.
15966
15967 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
15968
15969         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
15970
15971 2008-06-01  Bruno Haible  <bruno@clisp.org>
15972
15973         New ACL tests.
15974         * tests/test-file-has-acl.sh: New file.
15975         * tests/test-file-has-acl.c: New file.
15976         * tests/test-set-mode-acl.sh: New file.
15977         * tests/test-set-mode-acl.c: New file.
15978         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
15979         * tests/test-copy-acl.c: New file.
15980         * modules/acl-tests: New file, based on modules/copy-file-tests.
15981         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
15982         (Depends-on): Add acl-tests.
15983         (configure.ac): Remove checks.
15984         (Makefile.am): Don't create test-sameacls program here any more.
15985
15986 2008-06-01  Bruno Haible  <bruno@clisp.org>
15987
15988         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
15989         * tests/test-sameacls.c: Include progname.h.
15990         (main): Invoke set_program_name. Portability fixes for MacOS X,
15991         Solaris, HP-UX.
15992
15993 2008-06-01  Bruno Haible  <bruno@clisp.org>
15994
15995         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
15996         function.
15997         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
15998
15999 2008-06-01  Bruno Haible  <bruno@clisp.org>
16000
16001         * modules/rpmatch (Depends-on): Add strdup.
16002
16003 2008-06-01  Bruno Haible  <bruno@clisp.org>
16004
16005         * lib/pipe.c: Include unistd-safer.h.
16006         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
16007         * modules/pipe (Depends-on): Add unistd-safer.
16008
16009 2008-05-30  Simon Josefsson  <simon@josefsson.org>
16010
16011         * modules/autobuild (configure.ac): Call AB_INIT.
16012
16013 2008-05-30  Simon Josefsson  <simon@josefsson.org>
16014
16015         * tests/test-getaddrinfo.c: Don't print debug messages by default.
16016         Suggested by Bruno Haible <bruno@clisp.org>.
16017
16018 2008-05-30  Simon Josefsson  <simon@josefsson.org>
16019
16020         * tests/test-base64.c: Cast size_t to unsigned long when invoking
16021         printf.  Use %lu instead of %d.  Reported by Bruno Haible
16022         <bruno@clisp.org>.
16023
16024 2008-05-29  Eric Blake  <ebb9@byu.net>
16025
16026         Prefer new POSIX 200x interfaces over futimesat.
16027         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
16028         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
16029         when available.
16030         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
16031
16032 2008-05-28  Bruno Haible  <bruno@clisp.org>
16033
16034         * modules/stpcpy (License): Change to LGPLv2+.
16035         Requested by David Lutterkort <dlutter@redhat.com>.
16036
16037 2008-05-27  Bruno Haible  <bruno@clisp.org>
16038
16039         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
16040         current mingw.
16041         Reported by Jose E. Marchesi <jemarch@gnu.org>.
16042
16043 2008-05-27  Bruno Haible  <bruno@clisp.org>
16044
16045         * modules/iconv_open (Link): New section, from module 'iconv'.
16046         * modules/striconv (Link): Likewise.
16047         * modules/striconveh (Link): Likewise.
16048         * modules/xstriconv (Link): Likewise.
16049         * modules/unicodeio (Link): Likewise.
16050         * modules/propername (Link): Likewise.
16051         Reported by Jim Meyering.
16052
16053 2008-05-26  Jim Meyering  <meyering@redhat.com>
16054
16055         sha256: do not artificially restrict buffer length to be < 2^32
16056         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
16057         uint32_t to size_t.
16058         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
16059         to match.
16060
16061         avoid unaligned access errors, e.g., on sparc
16062         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
16063         direct access through a possibly-unaligned uint64* pointer.
16064         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
16065         direct access through a possibly-unaligned uint32* pointer.
16066         Prompted by this patch from Tom "spot" Callaway:
16067         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
16068
16069         sha512.c: fix typo in comment
16070         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
16071
16072 2008-05-25  Bruno Haible  <bruno@clisp.org>
16073
16074         * lib/set-mode-acl.c: Renamed from lib/acl.c.
16075         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
16076         (Makefile.am): Update lib_SOURCES.
16077
16078 2008-05-25  Bruno Haible  <bruno@clisp.org>
16079
16080         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
16081
16082 2008-05-25  Jim Meyering  <meyering@redhat.com>
16083
16084         useless-if-before-free: freed expr may have white-space differences
16085         * build-aux/useless-if-before-free: Recognize cases in which the
16086         freed expression differs from the tested one in embedded white
16087         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
16088         $1 was used, so we can't make any regexp shy.  Improved tests now
16089         detect this.
16090
16091         useless-if-before-free: accept white space in the expression.
16092         * build-aux/useless-if-before-free: For now, any white space
16093         in the expression must be identical in the free argument.
16094
16095         useless-if-before-free: efficiency tweak
16096         * build-aux/useless-if-before-free: Make the expression-matching
16097         regexp "shy".
16098         Make the *outer* regexp shy, not the expr-matching one.
16099
16100         update code-in-comment to accept cast of free arg
16101         * build-aux/useless-if-before-free: Update regexp.
16102
16103 2008-05-25  Bruno Haible  <bruno@clisp.org>
16104
16105         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
16106         * modules/copy-file-tests (Files, Makefile.am): Update.
16107         * tests/test-copy-file.c (func_test_copy): Update.
16108
16109 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
16110
16111         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
16112
16113 2008-05-23  Bruno Haible  <bruno@clisp.org>
16114
16115         Improve support for ACLs on OSF/1.
16116         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
16117         Remove fallback for unknown flavors of ACLs.
16118
16119 2008-05-22  Bruno Haible  <bruno@clisp.org>
16120
16121         Add support for ACLs on OSF/1.
16122         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
16123         replacements.
16124         (acl_free_text): New macro fallback.
16125         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
16126         acl_free.
16127         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
16128         acl_free_text function. Require AC_C_INLINE.
16129
16130 2008-05-22  Bruno Haible  <bruno@clisp.org>
16131
16132         Make copy_acl work on MacOS X 10.5.
16133         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
16134         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
16135         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
16136         If MODE_INSIDE_ACL, don't assume that every system has the same text
16137         representation for ACLs as FreeBSD.
16138         * lib/copy-acl.c (copy_acl): Add support for platforms with
16139         !MODE_INSIDE_ACL.
16140         * lib/file-has-acl.c (file_has_acl): Likewise.
16141         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
16142         FreeBSD, MacOS X, or IRIX, respectively.
16143
16144 2008-05-22  Bruno Haible  <bruno@clisp.org>
16145
16146         * lib/acl.h: Don't include <sys/acl.h>.
16147         (GETACLCNT): Move fallback to lib/acl-internal.h.
16148         * lib/acl-internal.h: Include <sys/acl.h> here.
16149         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
16150
16151 2008-05-22  Bruno Haible  <bruno@clisp.org>
16152
16153         Split off copy_acl function to separate file.
16154         * lib/copy-acl.c: New file, extracted from lib/acl.c.
16155         * lib/acl.c (copy_acl): Moved function to separate file.
16156         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
16157         * modules/acl (Files): Add lib/copy-acl.c.
16158         (Makefiles.am): Augment lib_SOURCES.
16159
16160 2008-05-22  Bruno Haible  <bruno@clisp.org>
16161
16162         * modules/copy-file-tests: New file.
16163         * tests/test-copy-file.sh: New file.
16164         * tests/test-copy-file.c: New file.
16165         * tests/test-copy-file-sameacls.c: New file.
16166
16167 2008-05-22  Eric Blake  <ebb9@byu.net>
16168
16169         Avoid gcc warning.
16170         * tests/test-memcmp.c (main): Pass NULL indirectly.
16171
16172 2008-05-21  Bruno Haible  <bruno@clisp.org>
16173
16174         Add reference doc about ACLs.
16175         * doc/acl-resources.txt: New file.
16176         * doc/acl-cygwin.txt: New file.
16177
16178 2008-05-21  Bruno Haible  <bruno@clisp.org>
16179
16180         Avoid one more warning from gcc.
16181         * lib/vasnprintf.c (IF_LINT): Update comments.
16182         (VASNPRINTF): Use it also for the 'prefix' array initializer.
16183
16184 2008-05-21  Jim Meyering  <meyering@redhat.com>
16185
16186         avoid a warning from gcc
16187         * lib/vasnprintf.c (IF_LINT): Define.
16188         (scale10_round_decimal_long_double):
16189         Use it to avoid a "may be used uninitialized" warning.
16190         (scale10_round_decimal_double): Likewise.
16191
16192 2008-05-21  Simon Josefsson  <simon@josefsson.org>
16193
16194         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
16195         declared.
16196
16197 2008-05-20  Bruno Haible  <bruno@clisp.org>
16198
16199         * tests/test-memcmp.c (main): Test also the sign of the result. Test
16200         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
16201
16202 2008-05-20  Simon Josefsson  <simon@josefsson.org>
16203
16204         * modules/memcmp-tests: New file.
16205         * tests/test-memcmp.c: New file.
16206
16207 2008-05-19  Bruno Haible  <bruno@clisp.org>
16208
16209         * modules/propername (Notice, configure.ac): Put quoted "..." into
16210         --keyword option.
16211         * lib/propername.h: Update comments accordingly.
16212         Reported by Eric Blake.
16213
16214 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
16215
16216         * modules/getpass-gnu (Depends-on): Add fseeko.
16217
16218 2008-05-19  Simon Josefsson  <simon@josefsson.org>
16219
16220         * modules/base64-tests: New file.
16221
16222 2008-05-19  Bo Borgerson <gigabo@gmail.com>
16223
16224         * lib/base64.c (base64_decode_ctx): If a decode context structure
16225         was passed in use it to ignore newlines.  If a context structure
16226         was _not_ passed in, continue to treat newlines as garbage (this
16227         is the historical behavior).  Formerly base64_decode.
16228         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
16229         takes a decode context structure.
16230         * lib/base64.h (base64_decode): Macro for four-argument calls.
16231         (base64_decode_alloc): Likewise.
16232         * lib/base64.c (base64_decode_ctx): If a decode context structure
16233         was passed in use it to ignore newlines.  If a context structure
16234         was _not_ passed in, continue to treat newlines as garbage (this
16235         is the historical behavior).  Formerly base64_decode.
16236         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
16237         takes a decode context structure.
16238         * lib/base64.h (base64_decode): Macro for four-argument calls.
16239         (base64_decode_alloc): Likewise.
16240
16241 2008-05-19  Jim Meyering  <meyering@redhat.com>
16242
16243         avoid a warning from gcc
16244         * lib/trim.c (IF_LINT): Define.
16245         (trim2): Use it to avoid a "may be used uninitialized" warning.
16246
16247         Fix doc typo.
16248         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
16249
16250 2008-05-19  Bruno Haible  <bruno@clisp.org>
16251
16252         * doc/glibc-functions/getpass.texi: Document limits of other
16253         implementations.
16254
16255 2008-05-19  Simon Josefsson  <simon@josefsson.org>
16256             Bruno Haible <bruno@clisp.org>
16257
16258         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
16259
16260 2008-05-18  Bruno Haible  <bruno@clisp.org>
16261
16262         * modules/propername: New file, from GNU gettext.
16263         * lib/propername.h: New file, from GNU gettext.
16264         * lib/propername.c: New file, from GNU gettext.
16265         * MODULES.html.sh (Internationalization functions): Add propername.
16266
16267 2008-05-16  Jim Meyering  <meyering@redhat.com>
16268             Bruno Haible  <bruno@clisp.org>
16269
16270         Avoid some warnings from "gcc -Wshadow".
16271         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
16272
16273 2008-05-15  Eric Blake  <ebb9@byu.net>
16274
16275         Extend previous patch to cygwin 1.7.0.
16276         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
16277         fast implementation in cygwin >= 1.7.0.
16278         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
16279         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
16280
16281 2008-05-15  Bruno Haible  <bruno@clisp.org>
16282
16283         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
16284         implementation in glibc >= 2.9.
16285         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
16286         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
16287
16288 2008-05-15  Bruno Haible  <bruno@clisp.org>
16289
16290         * MODULES.html.sh (Internationalization functions): Remove linebreak.
16291         (Unicode string functions): Add unilbrk/*.
16292         Reported by Karl Berry.
16293
16294 2008-05-15  Eric Blake  <ebb9@byu.net>
16295
16296         Fix violation of <stdbool.h> replacement in regex.
16297         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
16298         * lib/regexec.c (re_search_internal): Likewise.
16299         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
16300
16301 2008-05-15  Jim Meyering  <meyering@redhat.com>
16302
16303         avoid distracting test output when git or cvs is not found
16304         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
16305         * tests/test-vc-list-files-git.sh: Likewise.
16306
16307 2008-05-15  Eric Blake  <ebb9@byu.net>
16308
16309         Glibc finally accepted the memmem speedup code, bugzilla #5514.
16310         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
16311         glibc version.
16312         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
16313         * doc/posix-functions/strstr.texi (strstr): Likewise.
16314         * lib/str-two-way.h (MAX): Sychronize with glibc.
16315
16316 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
16317
16318         * lib/regcomp.c (optimize_utf8): Add a note on why we test
16319         opr.ctx_type.
16320         (calc_first): Initialize constraint field.
16321         (duplicate_node_closure): Use it instead of special casing ANCHORS.
16322         Fix grammar.
16323         (duplicate_node): Merge constraint field for all node types.
16324         (calc_eclosure_iter): Look at constraint field for all node types.
16325         * lib/regex_internal.c (create_cd_newstate): Don't look at
16326         opr.ctx_type.
16327
16328 2008-05-14  Bruno Haible  <bruno@clisp.org>
16329
16330         Help GCC to do better code generation.
16331         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
16332         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
16333         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
16334         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
16335         Declare with attribute 'malloc' if supported.
16336
16337 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
16338
16339         use "echo STR|wc -c" rather than unportable "expr length STR"
16340         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
16341         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
16342
16343 2008-05-14  Jim Meyering  <meyering@redhat.com>
16344
16345         use dd ibs=$n count=1 ... rather than less-portable head -c$n
16346         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
16347         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
16348         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
16349         via Collin Lasse.
16350
16351 2008-05-14  Eric Blake  <ebb9@byu.net>
16352
16353         Avoid quadratic growth in gl_LIBSOURCES.
16354         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
16355         Suggested by Bruno Haible.
16356
16357         Test xmemdup0.
16358         * modules/xmemdup0-tests: New file.
16359         * tests/test-xmemdup0.c: Likewise.
16360
16361 2008-05-13  Eric Blake  <ebb9@byu.net>
16362
16363         Split xmemdup0 into its own module.
16364         * modules/xmemdup0: New file.
16365         * lib/xmemdup0.h: Likewise.
16366         * lib/xmemdup0.c: Likewise.
16367         * MODULES.html.sh (Memory management functions): Add xmemdup0.
16368         * lib/xalloc.h (xmemdup0): Remove.
16369         * lib/xmalloc.c (xmemdup0): Likewise.
16370
16371 2008-05-13  Eric Blake  <ebb9@byu.net>
16372             Bruno Haible  <bruno@clisp.org>
16373
16374         Reduce number of forks required during autoconf.
16375         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
16376         and gl_LIBSOURCES_DIR.
16377         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
16378         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
16379         m4_syscmd per file.
16380         <m4_foreach_w>: Move...
16381         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
16382
16383 2008-05-13  Eric Blake  <ebb9@byu.net>
16384
16385         * gnulib-tool: Fix various comment typos.
16386
16387 2008-05-12  Bruno Haible  <bruno@clisp.org>
16388
16389         Tailor the linebreaking algorithm.
16390         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
16391
16392 2008-05-12  Bruno Haible  <bruno@clisp.org>
16393
16394         Update to Unicode 5.0.0.
16395         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
16396         LBP_JV, LBP_JT. Redistribute values.
16397         (unilbrk_table): Change size.
16398         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
16399         Unicode TR#14 rev. 22.
16400         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
16401         LBP_JV, LBP_JT. Redistribute values.
16402         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
16403         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
16404         Update.
16405         * lib/unilbrk/lbrkprop1.h: Regenerated.
16406         * lib/unilbrk/lbrkprop2.h: Regenerated.
16407         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
16408         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
16409         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
16410         Likewise.
16411         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
16412         Likewise.
16413         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
16414         result.
16415         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
16416         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
16417         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
16418         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
16419         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
16420         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
16421
16422 2008-05-11  Bruno Haible  <bruno@clisp.org>
16423
16424         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
16425
16426 2008-05-11  Bruno Haible  <bruno@clisp.org>
16427
16428         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
16429         * modules/unilbrk/gen-lbrk: New file.
16430
16431 2008-05-11  Bruno Haible  <bruno@clisp.org>
16432
16433         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
16434         * m4/sha512.m4 (gl_SHA512): Likewise.
16435
16436 2008-05-11  Jim Meyering  <meyering@redhat.com>
16437
16438         New modules: crypto/sha256, crypto/sha512 (from coreutils)
16439         * modules/crypto/sha256: New file.
16440         * modules/crypto/sha512: Likewise.
16441         * lib/sha256.c: Likewise.
16442         * lib/sha256.h: Likewise.
16443         * lib/sha512.c: Likewise.
16444         * lib/sha512.h: Likewise.
16445         * lib/u64.h: Likewise.
16446         * m4/sha256.m4: Likewise.
16447         * m4/sha512.m4: Likewise.
16448         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
16449
16450 2008-05-10  Bruno Haible  <bruno@clisp.org>
16451
16452         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
16453         (Input/Output <stdio.h>): Add xprintf.
16454         (Signal handling <signal.h>): Add strsignal.
16455         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
16456         (Core language properties): Add func.
16457         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
16458         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
16459         strings.
16460         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
16461         (Input/output): New section.
16462         (File system functions): Add openat-die, stat-macros.
16463         (Networking functions): Add sockets.
16464         (Unicode string functions): Add unictype/*.
16465         (Support for building libraries and executables): Add gperf.
16466         (Support for building documentation): Add agpl-3.0.
16467         (Misc): Add nocrash.
16468
16469 2008-05-10  Bruno Haible  <bruno@clisp.org>
16470
16471         * modules/unictype/gen-ctype: New file.
16472
16473 2008-05-10  Jim Meyering  <meyering@redhat.com>
16474
16475         Make chdir-safer.c more efficient on a system with no symlinks.
16476         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
16477         also if ELOOP is zero.  Suggested by Bruno Haible.
16478
16479         Make chdir-safer.c slightly safer.
16480         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
16481         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
16482
16483         Avoid compile failure on systems without ELOOP (like mingw).
16484         * lib/chdir-safer.c (ELOOP): Define if not already defined.
16485         Reported by Bruno Haible.
16486
16487 2008-05-10  Bruno Haible  <bruno@clisp.org>
16488
16489         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
16490         (is_utf8_encoding): Use a case-insensitive comparison.
16491         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
16492         streq.
16493
16494 2008-05-10  Bruno Haible  <bruno@clisp.org>
16495
16496         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
16497         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
16498         * lib/unilbrk/ulc-common.h (iconv_string_length,
16499         iconv_string_keeping_offsets): Remove declarations.
16500         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
16501         Don't include <iconv.h>, streq.h, xsize.h.
16502         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
16503         conversion.
16504         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
16505         <iconv.h>, streq.h, xsize.h.
16506         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
16507         conversion.
16508         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
16509         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
16510         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
16511         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
16512
16513 2008-05-10  Bruno Haible  <bruno@clisp.org>
16514
16515         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
16516         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
16517
16518         * modules/unilbrk/u32-width-linebreaks-tests: New file.
16519         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
16520
16521         * modules/unilbrk/u16-width-linebreaks-tests: New file.
16522         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
16523
16524         * modules/unilbrk/u8-width-linebreaks-tests: New file.
16525         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
16526
16527         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
16528         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
16529
16530         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
16531         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
16532
16533         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
16534         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
16535
16536         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
16537         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
16538
16539 2008-05-10  Bruno Haible  <bruno@clisp.org>
16540
16541         Split up 'linebreak' module.
16542         * lib/unilbrk.h: New file, based on lib/linebreak.h.
16543         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
16544         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
16545         modifications.
16546         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
16547         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
16548         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
16549         lib/linebreak.c.
16550         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
16551         lib/linebreak.c.
16552         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
16553         lib/linebreak.c.
16554         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
16555         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
16556         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
16557         lib/linebreak.c.
16558         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
16559         lib/linebreak.c.
16560         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
16561         lib/linebreak.c.
16562         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
16563         lib/linebreak.c.
16564         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
16565         lib/linebreak.c.
16566         * modules/unilbrk/base: New file.
16567         * modules/unilbrk/tables: New file.
16568         * modules/unilbrk/u8-possible-linebreaks: New file.
16569         * modules/unilbrk/u16-possible-linebreaks: New file.
16570         * modules/unilbrk/u32-possible-linebreaks: New file.
16571         * modules/unilbrk/ulc-common: New file.
16572         * modules/unilbrk/ulc-possible-linebreaks: New file.
16573         * modules/unilbrk/u8-width-linebreaks: New file.
16574         * modules/unilbrk/u16-width-linebreaks: New file.
16575         * modules/unilbrk/u32-width-linebreaks: New file.
16576         * modules/unilbrk/ulc-width-linebreaks: New file.
16577         * lib/linebreak.h: Remove file.
16578         * lib/linebreak.c: Remove file.
16579         * m4/linebreak.m4: Remove file.
16580         * modules/linebreak: Remove file.
16581         * NEWS: Mention the changes.
16582
16583 2008-05-09  Eric Blake  <ebb9@byu.net>
16584
16585         Add xmemdup0.
16586         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
16587         implementation.
16588         * lib/xmalloc.c (xmemdup0): New C implementation.
16589
16590 2008-05-08  Bruno Haible  <bruno@clisp.org>
16591
16592         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
16593
16594 2008-05-07  Eric Blake  <ebb9@byu.net>
16595
16596         Support cross-compilation of <wctype.h>.
16597         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
16598         AC_CACHE_CHECK.
16599
16600 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
16601
16602         * build-aux/vc-list-files: Add support for bzr.
16603
16604 2008-05-03  Jim Meyering  <meyering@redhat.com>
16605
16606         avoid failed assertion with tight malloc
16607         * tests/test-getndelim2.c: Correct an off-by-one assertion.
16608
16609 2008-05-03  Simon Josefsson  <simon@josefsson.org>
16610
16611         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
16612         are needed from arpa/inet.h.
16613         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
16614         Reported by Bruno Haible.
16615
16616 2008-05-02  Jim Meyering  <meyering@redhat.com>
16617
16618         avoid compilation error on FreeBSD 6
16619         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
16620
16621 2008-05-01  Jim Meyering  <meyering@redhat.com>
16622
16623         useless-if-before-free: correct --help's exit status description
16624         * build-aux/useless-if-before-free (usage): Like grep, exit 0
16625         for one or more matches, etc.  Reported by Bruno Haible.
16626
16627         vc-list-files: make the stand-alone gnulib test work
16628         * modules/vc-list-files-tests (configure.ac):
16629         Define and AC_SUBST abs_aux_dir.
16630         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
16631         $(abs_top_srcdir) to each script and having each of them
16632         duplicate the work of setting PATH, set PATH here, using
16633         the new variable, abs_aux_dir instead.
16634         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
16635         * tests/test-vc-list-files-git.sh: Likewise.
16636         Reported by Bruno Haible.
16637
16638 2008-05-01  Bruno Haible  <bruno@clisp.org>
16639
16640         * lib/getndelim2.c (getndelim2): Fix newsize computation during
16641         reallocation. Rename 'done' to 'found_delimiter'.
16642
16643 2008-05-01  Jim Meyering  <meyering@redhat.com>
16644
16645         vc-list-files: accommodate /bin/sh like the one from Solaris 10
16646         * build-aux/vc-list-files: Use `...`, not $(...).
16647
16648 2008-04-30  Jim Meyering  <meyering@redhat.com>
16649
16650         add tests for vc-list-files
16651         * modules/vc-list-files-tests: New module.
16652         * tests/test-vc-list-files-cvs.sh: New file.
16653         * tests/test-vc-list-files-git.sh: New file.
16654
16655         avoid a warning from gcc
16656         * lib/getndelim2.c (IF_LINT): Define.
16657         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
16658
16659         vc-list-files: work properly with build-aux/cvsu, too
16660         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
16661         to all cvs-based clauses.
16662
16663         vc-list-files: work properly in the CVS+awk case, too
16664         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
16665
16666         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
16667         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
16668         take more than one file argument, so .  Add quotes, just in case $dir
16669         ever contains a shell meta-character.  Prompted by Soren Hansen in
16670         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
16671
16672 2008-04-29  Eric Blake  <ebb9@byu.net>
16673
16674         Optimize getndelim2 to use block operations when possible.
16675         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
16676         freadseek, and memchr2.
16677         * lib/getndelim2.c (getndelim2): Use them for block reads.
16678
16679 2008-04-29  Bruno Haible  <bruno@clisp.org>
16680
16681         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
16682         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
16683         * modules/inet_ntop (Depends-on): Add extensions.
16684         * modules/inet_pton (Depends-on): Likewise.
16685         Reported by Simon Josefsson.
16686
16687 2008-04-29  Jim Meyering  <meyering@redhat.com>
16688
16689         When the is more than one match in a block, match all of them.
16690         * build-aux/useless-if-before-free: Iterate through each block
16691         until there are no more matches.
16692
16693         Fix broken useless-if-before-free script.
16694         * build-aux/useless-if-before-free: Fix typo: missing "?" after
16695         the expression to match cast of argument to free-like function.
16696
16697 2008-04-29  Eric Blake  <ebb9@byu.net>
16698
16699         Use new header.
16700         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
16701
16702 2008-04-29  Jim Meyering  <meyering@redhat.com>
16703
16704         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
16705         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
16706         by gnulib to exist and to declare e.g., inet_ntop.
16707         Don't include "inet_ntop.h", now removed.
16708
16709         * m4/arpa_inet_h.m4: Remove trailing blanks.
16710
16711 2008-04-29  Eric Blake  <ebb9@byu.net>
16712
16713         Silence valgrind on safe reads beyond potential array bounds.
16714         * lib/rawmemchr.valgrind: New file.
16715         * lib/strchrnul.valgrind: Likewise.
16716         * modules/rawmemchr (Files): Distribute new file.
16717         * modules/strchrnul (Files): Likewise.
16718         Suggested by Bruno Haible.
16719
16720 2008-04-29  Bruno Haible  <bruno@clisp.org>
16721
16722         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
16723         (inet_ntop, inet_pton): Change portability warning's wording.
16724         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
16725         Invoke gl_CHECK_NEXT_HEADERS.
16726         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
16727         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
16728         set ARPA_INET_H.
16729         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
16730         * modules/arpa_inet (Description): No longer only for systems that
16731         lack it.
16732         (Depends-on): Add include_next.
16733         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
16734         HAVE_ARPA_INET_H.
16735
16736 2008-04-29  Jim Meyering  <meyering@redhat.com>
16737
16738         * modules/mkdir (License): Re-license as LGPLv2+.
16739
16740 2008-04-29  Bruno Haible  <bruno@clisp.org>
16741
16742         * modules/rawmemchr (Maintainer): Set to Eric.
16743         * modules/strchrnul (Maintainer): Likewise.
16744
16745 2008-04-29  Simon Josefsson  <simon@josefsson.org>
16746
16747         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
16748         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
16749
16750         * modules/arpa_inet (arpa/inet.h): Use them.
16751
16752 2008-04-28  Eric Blake  <ebb9@byu.net>
16753
16754         Test getndelim2.
16755         * modules/getndelim2-tests: New file.
16756         * tests/test-getndelim2.c: Likewise.
16757         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
16758         stream.
16759         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
16760
16761         * MODULES.html.sh: Document new module.
16762
16763 2008-04-20  Bruno Haible  <bruno@clisp.org>
16764
16765         * lib/c-stack.c (die): Use raise.
16766         * modules/c-stack (Depends-on): Add raise.
16767
16768 2008-04-28  Bruno Haible  <bruno@clisp.org>
16769
16770         Expect rpmatch to be declared.
16771         * lib/yesno.c (rpmatch): Remove declaration.
16772
16773         Declare rpmatch.
16774         * lib/stdlib.in.h (rpmatch): New declaration.
16775         * lib/rpmatch.c: Include <stdlib.h> first.
16776         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
16777         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
16778         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
16779         HAVE_RPMATCH.
16780         * modules/rpmatch (Depends-on): Add stdlib, extensions.
16781         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
16782         (Include): Set to <stdlib.h>.
16783         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
16784         HAVE_RPMATCH.
16785         * NEWS: Document the change.
16786
16787 2008-04-28  Bruno Haible  <bruno@clisp.org>
16788
16789         Change rpmatch to use nl_langinfo when appropriate.
16790         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
16791         (N_): New macro.
16792         (localized_pattern): New function/macro.
16793         (try): Remove match, nomatch arguments. Copy the pattern into safe
16794         memory before caching it.
16795         (rpmatch): Use localized_pattern. Add translator comments.
16796         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
16797         Suggested by Eric Blake.
16798         * modules/rpmatch (Depends-on): Add stdbool.
16799
16800 2008-04-28  Eric Blake  <ebb9@byu.net>
16801
16802         Add rawmemchr module, matching glibc.
16803         * modules/string (Makefile.am): New indicator.
16804         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
16805         * lib/string.in.h (rawmemchr): Declare when appropriate.
16806         * modules/rawmemchr: New file.
16807         * m4/rawmemchr.m4: Likewise.
16808         * lib/rawmemchr.c: Likewise.
16809         * modules/rawmemchr-tests: Likewise.
16810         * tests/test-rawmemchr.c: Likewise.
16811         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
16812         module.
16813         * modules/strchrnul (Depends-on): Add rawmemchr.
16814         * lib/strchrnul.c (strchrnul): Optimize a corner case.
16815
16816         Whitespace cleanup.
16817         * tests/test-strchrnul.c: Reindent.
16818         * lib/strchrnul.c: Likewise.
16819
16820         Optimize and test strchrnul.
16821         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
16822         * modules/strchrnul-tests: New file.
16823         * tests/test-strchrnul.c: Likewise.
16824
16825         Remove intprops dependency.
16826         * modules/memchr (Depends-on): Remove intprops.
16827         * modules/memrchr (Depends-on): Likewise.
16828         * modules/memchr2 (Depends-on): Likewise.
16829         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
16830         * lib/memrchr.c (__memrchr): Likewise.
16831         * lib/memrchr2.c (memchr2): Likewise.
16832         Reported by Simon Josefsson.
16833
16834 2008-04-28  Simon Josefsson  <simon@josefsson.org>
16835
16836         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
16837         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16838
16839 2008-04-28  Simon Josefsson  <simon@josefsson.org>
16840
16841         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
16842
16843         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
16844
16845         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
16846
16847         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
16848         declarations.
16849         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
16850
16851         * m4/inet_pton.m4: Don't check for header files.
16852
16853         * m4/inet_ntop.m4: Don't check for header files.
16854
16855 2008-04-28  Simon Josefsson  <simon@josefsson.org>
16856
16857         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
16858         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
16859         trigger for cygwin).
16860         Reported by Bruno Haible  <bruno@clisp.org>.
16861
16862 2008-04-28  Bruno Haible  <bruno@clisp.org>
16863
16864         * doc/posix-functions/strdup.texi: Mention mingw problem.
16865
16866 2008-04-27  Bruno Haible  <bruno@clisp.org>
16867
16868         * modules/stat-time-tests (Depends-on): Add sleep.
16869         * tests/test-stat-time.c (force_unlink): New function.
16870         (cleanup): Use it.
16871         (test_mtime): Remove the ctime related tests.
16872         (test_ctime): New function, containing the ctime related tests.
16873         (main): Call test_ctime, except on native Windows platforms.
16874
16875 2008-04-27  Bruno Haible  <bruno@clisp.org>
16876
16877         * lib/rpmatch.c (rpmatch): Add some comments.
16878         Reported by James Youngman <jay@gnu.org>.
16879
16880 2008-04-27  Bruno Haible  <bruno@clisp.org>
16881
16882         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
16883         quiet NaNs.
16884
16885 2008-04-27  Bruno Haible  <bruno@clisp.org>
16886
16887         Make test-yesno.sh work on mingw.
16888         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
16889         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
16890         (main): Set stdin to binary mode.
16891         * modules/yesno-tests (Depends-on): Add binary-io.
16892
16893 2008-04-27  Bruno Haible  <bruno@clisp.org>
16894
16895         Fix 'isfinite' on x86, x86_64, ia64 platforms.
16896         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
16897         argument that lie outside the IEEE 854 domain.
16898         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
16899         (gl_ISFINITE): Use it.
16900         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
16901
16902 2008-04-27  Bruno Haible  <bruno@clisp.org>
16903
16904         Allow local renaming in config.h.
16905         * lib/memrchr.c (memrchr): Don't undefine outside libc.
16906
16907 2008-04-27  Bruno Haible  <bruno@clisp.org>
16908
16909         * lib/memchr.c (__memchr): Change type of 'i'.
16910         * lib/memchr2.c (memchr2): Likewise.
16911
16912 2008-04-26  Eric Blake  <ebb9@byu.net>
16913         and Bruno Haible  <bruno@clisp.org>
16914
16915         Optimize and test memrchr.
16916         * modules/memrchr (Depends-on): Add intprops.
16917         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
16918         * modules/memrchr-tests: New file.
16919         * tests/test-memrchr.c: New file.
16920
16921 2008-04-26  Bruno Haible  <bruno@clisp.org>
16922
16923         Add tentative support for DragonFly BSD.
16924         * lib/stdio-impl.h: Add macros for DragonFly BSD.
16925         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
16926         fp.
16927         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
16928         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
16929         * lib/fpurge.c (fpurge): Likewise.
16930         * lib/freadable.c (freaadable): Likewise.
16931         * lib/freadahead.c (freadahead): Likewise.
16932         * lib/freading.c (freading): Likewise.
16933         * lib/freadptr.c (freadptr): Likewise.
16934         * lib/freadseek.c (freadptrinc): Likewise.
16935         * lib/fseeko.c (fseeko): Likewise.
16936         * lib/fseterr.c (fseterr): Likewise.
16937         * lib/fwritable.c (fwritable): Likewise.
16938         * lib/fwriting.c (fwriting): Likewise.
16939
16940 2008-04-26  Bruno Haible  <bruno@clisp.org>
16941
16942         * lib/stdio-impl.h: New file.
16943         * lib/fbufmode.c: Include stdio-impl.h.
16944         (fbufmode): Use fp_, remove redundant #defines.
16945         * lib/fflush.c: Include stdio-impl.h.
16946         (clear_ungetc_buffer): Remove redundant #defines.
16947         * lib/fpurge.c: Include stdio-impl.h.
16948         (fpurge): Remove redundant #defines.
16949         * lib/freadable.c: Include stdio-impl.h.
16950         (freadable): Remove redundant #defines.
16951         * lib/freadahead.c: Include stdio-impl.h.
16952         (freadahead): Remove redundant #defines.
16953         * lib/freading.c: Include stdio-impl.h.
16954         (freading): Remove redundant #defines.
16955         * lib/freadptr.c: Include stdio-impl.h.
16956         (freadptr): Remove redundant #defines.
16957         * lib/freadseek.c: Include stdio-impl.h.
16958         (freadptrinc): Remove redundant #defines.
16959         * lib/fseeko.c: Include stdio-impl.h.
16960         (rpl_fseeko): Remove redundant #defines.
16961         * lib/fseterr.c: Include stdio-impl.h.
16962         (fseterr): Remove redundant #defines.
16963         * lib/fwritable.c: Include stdio-impl.h.
16964         (fwritable: Remove redundant #defines.
16965         * lib/fwriting.c: Include stdio-impl.h.
16966         (fwriting): Remove redundant #defines.
16967         * modules/fbufmode (Files): Add lib/stdio-impl.h.
16968         * modules/fflush (Files): Likewise.
16969         * modules/fpurge (Files): Likewise.
16970         * modules/freadable (Files): Likewise.
16971         * modules/freadahead (Files): Likewise.
16972         * modules/freading (Files): Likewise.
16973         * modules/freadptr (Files): Likewise.
16974         * modules/freadseek (Files): Likewise.
16975         * modules/fseeko (Files): Likewise.
16976         * modules/fseterr (Files): Likewise.
16977         * modules/fwritable (Files): Likewise.
16978         * modules/fwriting (Files): Likewise.
16979
16980 2008-04-26  Bruno Haible  <bruno@clisp.org>
16981
16982         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
16983         restore_seek_optimization, update_fpos_cache): New functions, extracted
16984         from rpl_fflush.
16985         (rpl_fflush): Use them.
16986         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
16987         (gl_REPLACE_FFLUSH): Use it.
16988
16989 2008-04-26  Bruno Haible  <bruno@clisp.org>
16990
16991         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
16992         on Solaris.
16993         * tests/test-xstrtoimax.sh: Likewise.
16994         * tests/test-xstrtoumax.sh: Likewise.
16995         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16996
16997 2008-04-26  Bruno Haible  <bruno@clisp.org>
16998
16999         * modules/memchr-tests: New file.
17000         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
17001
17002 2008-04-26  Eric Blake  <ebb9@byu.net>
17003             Bruno Haible  <bruno@clisp.org>
17004
17005         * lib/memchr.c: Include intprops.h.
17006         (__memchr): Optimize parallel detection of matching bytes. Rename local
17007         variables. Add explanatory comments.
17008
17009 2008-04-26  Bruno Haible  <bruno@clisp.org>
17010
17011         Fix module 'memchr', broken since 2000-10-28.
17012         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
17013
17014 2008-04-26  Bruno Haible  <bruno@clisp.org>
17015
17016         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
17017         comments.
17018
17019 2008-04-25  Eric Blake  <ebb9@byu.net>
17020
17021         Use native fstatat on cygwin 1.7.0.
17022         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
17023         first.
17024
17025 2008-04-23  Eric Blake  <ebb9@byu.net>
17026
17027         Improve memchr2 performance.
17028         * lib/memchr2.c (memchr2): Further optimize parallel detection of
17029         NUL bytes.
17030         * modules/memchr2 (Depends-on): Use intprops.h.
17031
17032 2008-04-23  Simon Josefsson  <simon@josefsson.org>
17033
17034         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
17035         an inline function instead of a CPP macro.  Patch by Ben Pfaff
17036         <blp@cs.stanford.edu>.
17037
17038 2008-04-23  Simon Josefsson  <simon@josefsson.org>
17039
17040         * lib/arpa_inet.in.h: New file.
17041
17042         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
17043         (Makefile.am): Sed in substitute header file.
17044
17045         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
17046         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
17047
17048         * modules/inet_ntop (configure.ac): Use
17049         gl_ARPA_INET_MODULE_INDICATOR.
17050
17051         * modules/inet_pton (configure.ac): Use
17052         gl_ARPA_INET_MODULE_INDICATOR.
17053
17054 2008-04-22  Jim Meyering  <meyering@redhat.com>
17055
17056         * modules/verify (License): Re-license as LGPLv2+.
17057
17058 2008-04-22  Simon Josefsson  <simon@josefsson.org>
17059
17060         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
17061         parameter to void* as per POSIX standard (MinGW uses char*).
17062
17063 2008-04-21  Bruno Haible  <bruno@clisp.org>
17064
17065         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
17066         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
17067         Define to replacements if REPLACE_ISWCNTRL is 1.
17068         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
17069         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
17070         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
17071         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
17072         what it fixes.
17073         * doc/posix-functions/iswalpha.texi: Likewise.
17074         * doc/posix-functions/iswblank.texi: Likewise.
17075         * doc/posix-functions/iswcntrl.texi: Likewise.
17076         * doc/posix-functions/iswdigit.texi: Likewise.
17077         * doc/posix-functions/iswgraph.texi: Likewise.
17078         * doc/posix-functions/iswlower.texi: Likewise.
17079         * doc/posix-functions/iswprint.texi: Likewise.
17080         * doc/posix-functions/iswpunct.texi: Likewise.
17081         * doc/posix-functions/iswspace.texi: Likewise.
17082         * doc/posix-functions/iswupper.texi: Likewise.
17083         * doc/posix-functions/iswxdigit.texi: Likewise.
17084         Reported by Alain Guibert.
17085
17086 2008-04-21  Bruno Haible  <bruno@clisp.org>
17087
17088         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
17089         Patch by Alain Guibert.
17090
17091 2008-04-21  Bruno Haible  <bruno@clisp.org>
17092
17093         Fix test failures on mingw.
17094         * tests/test-xstrtol.c (print_no_progname): New function.
17095         (main): Install it in error_print_progname hook.
17096         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
17097         * tests/test-xstrtoimax.sh: Likewise.
17098         * tests/test-xstrtoumax.sh: Likewise.
17099
17100 2008-04-21  Bruno Haible  <bruno@clisp.org>
17101
17102         Fix test failure on mingw.
17103         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
17104
17105 2008-04-21  Bruno Haible  <bruno@clisp.org>
17106
17107         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
17108         Actually assign a value.
17109
17110 2008-04-20  Bruno Haible  <bruno@clisp.org>
17111
17112         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
17113         take 2.
17114         * lib/canonicalize.c (canonicalize_file_name): Elide if the
17115         'canonicalize-lgpl' module is also used.
17116         * lib/canonicalize-lgpl.c: Undo last change.
17117         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
17118
17119 2008-04-20  Bruno Haible  <bruno@clisp.org>
17120
17121         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
17122         config.h. Provide _mkdir based fallback for mingw.
17123         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
17124         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
17125         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
17126         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
17127         rather than defining mkdir in config.h.
17128         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
17129         (gl_SYS_STAT_H_DEFAULTS): New macro.
17130         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
17131         HAVE_IO_H any more.
17132         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
17133         HAVE_DECL_MKDIR and HAVE_IO_H.
17134
17135 2008-04-20  Bruno Haible  <bruno@clisp.org>
17136
17137         * lib/isapipe.c: Port to native Windows platforms.
17138
17139 2008-04-20  Bruno Haible  <bruno@clisp.org>
17140
17141         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
17142
17143 2008-04-21  Eric Blake  <ebb9@byu.net>
17144
17145         Work around preprocessors that don't handle UINTMAX_MAX.
17146         * lib/memchr2.c (memchr2): Avoid embedded #if.
17147         Reported by Alain Guibert, fix suggested by Bruno Haible.
17148
17149 2008-04-21  Simon Josefsson  <simon@josefsson.org>
17150
17151         * doc/posix-functions/strftime.texi (strftime): Explain better
17152         Windows incompatibility.  Suggested by Micah Cowan
17153         <micah@cowan.name>.
17154
17155 2008-04-20  Bruno Haible  <bruno@clisp.org>
17156
17157         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
17158         unistr/u8-mblen.
17159
17160 2008-04-20  Bruno Haible  <bruno@clisp.org>
17161
17162         Fix test failure on platforms with non-GNU iconv.
17163         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
17164         (U_TO_U8): Use it, rather than u16_to_u8.
17165         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
17166         units at the end of the input string.
17167         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
17168
17169 2008-04-20  Bruno Haible  <bruno@clisp.org>
17170
17171         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
17172         when the resulting length is 0.
17173         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
17174
17175 2008-04-20  Bruno Haible  <bruno@clisp.org>
17176
17177         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
17178         works.
17179         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
17180
17181 2008-04-20  Bruno Haible  <bruno@clisp.org>
17182
17183         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
17184         * modules/tsearch-tests (configure.ac): Test for initstate function.
17185
17186 2008-04-20  Bruno Haible  <bruno@clisp.org>
17187
17188         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
17189         for nlink_t if missing.
17190         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
17191
17192 2008-04-19  Bruno Haible  <bruno@clisp.org>
17193
17194         Work around snprintf bug on Linux libc5.
17195         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
17196         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
17197         gl_SNPRINTF_SIZE1.
17198         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
17199         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
17200         that test failed.
17201         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
17202         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
17203         * modules/snprintf (Files): Add m4/printf.m4.
17204         * modules/vsnprintf (Files): Likewise.
17205         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
17206         * doc/posix-functions/vsnprintf.texi: Likewise.
17207
17208 2008-04-19  Bruno Haible  <bruno@clisp.org>
17209
17210         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
17211         from 0.0058 to less than 10^-7.
17212
17213 2008-04-19  Bruno Haible  <bruno@clisp.org>
17214
17215         Fix rounding when a precision is given.
17216         * lib/vasnprintf.c (is_borderline): New function.
17217         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
17218         9...9x.
17219         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
17220         %e, %g.
17221         * tests/test-vasprintf-posix.c (test_function): Likewise.
17222         * tests/test-snprintf-posix.h (test_function): Likewise.
17223         * tests/test-sprintf-posix.h (test_function): Likewise.
17224         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
17225         * tests/test-printf-posix.h (test_function): Likewise.
17226         * tests/test-printf-posix.output: Update.
17227         Reported by John Darrington <john@darrington.wattle.id.au> via
17228         Ben Pfaff <blp@cs.stanford.edu>.
17229
17230 2008-04-18  Simon Josefsson  <simon@josefsson.org>
17231
17232         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
17233         Suggested by Bruno Haible <bruno@clisp.org>.
17234
17235 2008-04-17  Bruno Haible  <bruno@clisp.org>
17236
17237         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
17238         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
17239         implementation.
17240         Patch by Bruce Merry <bmerry@gmail.com>.
17241
17242 2008-04-17  Simon Josefsson  <simon@josefsson.org>
17243
17244         * doc/posix-functions/strftime.texi (strftime): Mention that %e
17245         doesn't work under Windows.
17246
17247 2008-04-16  Bruno Haible  <bruno@clisp.org>
17248
17249         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
17250         New macros.
17251         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
17252         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
17253         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
17254         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
17255         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
17256         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
17257         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
17258         macros.
17259         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
17260         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
17261         Northern Sotho, Uighur.
17262
17263 2008-04-16  Bruno Haible  <bruno@clisp.org>
17264
17265         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
17266         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
17267         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
17268         Reported by Daniel Bergström <daniel@octocode.com>.
17269
17270 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
17271             Bruno Haible  <bruno@clisp.org>
17272
17273         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
17274         function.
17275         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
17276         New functions, mostly extracted from gl_locale_name_default.
17277         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
17278
17279 2008-04-16  Eric Blake  <ebb9@byu.net>
17280
17281         Adjust strtod detection to catch glibc 2.7 bug.
17282         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
17283         Reported by John Gatewood Ham.
17284
17285 2008-04-16  Bruno Haible  <bruno@clisp.org>
17286
17287         Add tentative support for Linux libc5.
17288         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
17289         * lib/fpurge.c (fpurge): Likewise.
17290         * lib/freadable.c (freadable): Likewise.
17291         * lib/freadahead.c (freadahead): Likewise.
17292         * lib/freading.c (freading): Likewise.
17293         * lib/freadptr.c (freadptr): Likewise.
17294         * lib/freadseek.c (freadptrinc): Likewise.
17295         * lib/fseeko.c (rpl_fseeko): Likewise.
17296         * lib/fseterr.c (fseterr): Likewise.
17297         * lib/fwritable.c (fwritable): Likewise.
17298         * lib/fwriting.c (fwriting): Likewise.
17299         Reported by Alain Guibert <alguibert+bts@free.fr>.
17300
17301 2008-04-15  Bruno Haible  <bruno@clisp.org>
17302
17303         * modules/mathl (configure.ac): Define module indicator.
17304
17305 2008-04-15  Bruno Haible  <bruno@clisp.org>
17306
17307         * lib/logl.c (logl): Remove unused variables.
17308
17309 2008-04-15  Bruno Haible  <bruno@clisp.org>
17310
17311         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
17312         fails.
17313
17314 2008-04-15  Bruno Haible  <bruno@clisp.org>
17315
17316         * lib/trim.c (trim2): Fix argument of isspace() macro.
17317
17318 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
17319
17320         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
17321         to 0.
17322         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
17323
17324 2008-04-14  Bruno Haible  <bruno@clisp.org>
17325
17326         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
17327         AC_LANG_PROGRAM argument.
17328         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
17329         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
17330         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
17331         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
17332         * m4/math_h.m4 (gl_MATH_H): Likewise.
17333         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
17334         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
17335         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
17336         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
17337         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
17338         * m4/regex.m4 (gl_REGEX): Likewise.
17339         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
17340         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
17341         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17342         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
17343         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
17344         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
17345         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17346         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
17347
17348 2008-04-14  Jim Meyering  <meyering@redhat.com>
17349
17350         test-strtod: fix typos: s/abs/fabs/
17351         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
17352
17353 2008-04-13  Bruno Haible  <bruno@clisp.org>
17354
17355         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
17356         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
17357         module is also used and while not building the reloc-wrapper.
17358
17359 2008-04-13  Bruno Haible  <bruno@clisp.org>
17360
17361         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
17362
17363 2008-04-13  Bruno Haible  <bruno@clisp.org>
17364
17365         Fix AIX compilation failure introduced on 2008-04-02.
17366         * tests/test-frexp.c (exp): Undefine before redefining.
17367         * tests/test-frexpl.c (exp): Likewise.
17368
17369 2008-04-13  Bruno Haible  <bruno@clisp.org>
17370
17371         Work around a HP-UX stdio bug.
17372         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
17373         * tests/test-ftello.c (main): Likewise.
17374         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
17375         * doc/posix-functions/ftello.texi: Likewise.
17376
17377 2008-04-13  Bruno Haible  <bruno@clisp.org>
17378
17379         Make test-signbit pass on HP-UX/hppa.
17380         * tests/test-signbit.c (minus_zerol): New variable.
17381         (test_signbitl): Use it.
17382
17383 2008-04-13  Bruno Haible  <bruno@clisp.org>
17384
17385         Make truncl work on OSF/1 4.0.
17386         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
17387         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
17388         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
17389         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
17390         HAVE_DECL_TRUNCL.
17391         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
17392         HAVE_DECL_TRUNCL.
17393         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
17394
17395 2008-04-13  Bruno Haible  <bruno@clisp.org>
17396
17397         * lib/unictype.h: Remove trailing comma from enumeration definitions.
17398
17399 2008-04-13  Bruno Haible  <bruno@clisp.org>
17400
17401         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
17402         expression, so as to avoid HP-UX 11 cc compiler bug.
17403
17404 2008-04-13  Bruno Haible  <bruno@clisp.org>
17405
17406         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
17407
17408 2008-04-13  Bruno Haible  <bruno@clisp.org>
17409
17410         * lib/git-merge-changelog.c: Remove empty declaration outside of
17411         functions.
17412
17413 2008-04-13  Bruno Haible  <bruno@clisp.org>
17414
17415         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
17416
17417 2008-04-13  Bruno Haible  <bruno@clisp.org>
17418
17419         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
17420         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
17421         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
17422         also if it exists but lacks definitions of the SHUT_* macros.
17423         * modules/sys_socket (Description): Update.
17424         Reported by Elbert Pol <e.pol@chello.nl>.
17425
17426 2008-04-13  Bruno Haible  <bruno@clisp.org>
17427
17428         * lib/localcharset.c (OS2): Don't redefine if already defined.
17429         Reported by Elbert Pol <e.pol@chello.nl>.
17430
17431 2008-04-13  Bruno Haible  <bruno@clisp.org>
17432
17433         * lib/binary-io.h [__EMX__]: Include <io.h>.
17434         Reported by Elbert Pol <e.pol@chello.nl>.
17435
17436 2008-04-12  Bruno Haible  <bruno@clisp.org>
17437
17438         * lib/fpucw.h: Enable the definitions also for x86_64.
17439         Needed for NetBSD/x86_64.
17440         Reported by Thomas Klausner <tk@giga.or.at>.
17441
17442 2008-04-12  Bruno Haible  <bruno@clisp.org>
17443
17444         * tests/test-strtod.c: Include isnand.h.
17445         (main): Use isnand instead of isnan.
17446         Reported by Jim Meyering.
17447
17448 2008-04-12  Bruno Haible  <bruno@clisp.org>
17449
17450         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
17451         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
17452
17453 2008-04-12  Jim Meyering  <meyering@redhat.com>
17454
17455         * m4/math_h.m4 (gl_MATH_H): Fix typos.
17456
17457 2008-04-12  Bruno Haible  <bruno@clisp.org>
17458
17459         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
17460         Reported by Elbert Pol <e.pol@chello.nl>.
17461
17462 2008-04-12  Eric Blake  <ebb9@byu.net>
17463
17464         Work around Solaris 10 math.h bug.
17465         * m4/math_h.m4 (gl_MATH_H): Check for bug.
17466         (gl_MATH_H_DEFAULTS): Set up default.
17467         * modules/math (Makefile.am): Replace new indicators.
17468         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
17469         * tests/test-math.c (main): Test this.
17470         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
17471         * doc/posix-headers/math.texi (math.h): Mention bug.
17472         Reported by Nelson H. F. Beebe and Jim Meyering.
17473
17474 2008-04-11  Bruno Haible  <bruno@clisp.org>
17475
17476         Adapt to future versions of Apple GCC.
17477         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
17478         Reported by Peter O'Gorman <peter@pogma.com>.
17479
17480 2008-04-11  Bruno Haible  <bruno@clisp.org>
17481
17482         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
17483
17484 2008-04-11  Bruno Haible  <bruno@clisp.org>
17485
17486         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
17487
17488         * modules/getaddrinfo-tests (Makefile.am): Define
17489         test_getaddrinfo_LDADD.
17490
17491 2008-04-11  Bruno Haible  <bruno@clisp.org>
17492
17493         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
17494         (init): Fix syntax error.
17495         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
17496         is declared.
17497
17498 2008-04-11  Bruno Haible  <bruno@clisp.org>
17499
17500         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
17501         * modules/glob (Depends-on): Add stdbool.
17502
17503 2008-04-11  Bruno Haible  <bruno@clisp.org>
17504
17505         * lib/trim.c: Include <string.h>.
17506
17507 2008-04-11  Eric Blake  <ebb9@byu.net>
17508
17509         Avoid compile failure on OS/2.
17510         * lib/regex_internal.h (internal_function): Disable optimization
17511         on OS/2 (__EMX__), where it caused compiler error.
17512         Reported by Elbert Pol.
17513
17514 2008-04-11  Bruno Haible  <bruno@clisp.org>
17515
17516         Flush the standard error stream before aborting. Needed on mingw.
17517         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
17518         * tests/test-array_list.c (ASSERT): Likewise.
17519         * tests/test-array_oset.c (ASSERT): Likewise.
17520         * tests/test-avltree_list.c (ASSERT): Likewise.
17521         * tests/test-avltree_oset.c (ASSERT): Likewise.
17522         * tests/test-avltreehash_list.c (ASSERT): Likewise.
17523         * tests/test-binary-io.c (ASSERT): Likewise.
17524         * tests/test-byteswap.c (ASSERT): Likewise.
17525         * tests/test-c-ctype.c (ASSERT): Likewise.
17526         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
17527         * tests/test-c-strcasestr.c (ASSERT): Likewise.
17528         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
17529         * tests/test-c-strstr.c (ASSERT): Likewise.
17530         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
17531         * tests/test-canonicalize.c (ASSERT): Likewise.
17532         * tests/test-carray_list.c (ASSERT): Likewise.
17533         * tests/test-ceilf1.c (ASSERT): Likewise.
17534         * tests/test-ceilf2.c (ASSERT): Likewise.
17535         * tests/test-ceill.c (ASSERT): Likewise.
17536         * tests/test-count-one-bits.c (ASSERT): Likewise.
17537         * tests/test-fbufmode.c (ASSERT): Likewise.
17538         * tests/test-fflush2.c (ASSERT): Likewise.
17539         * tests/test-floorf1.c (ASSERT): Likewise.
17540         * tests/test-floorf2.c (ASSERT): Likewise.
17541         * tests/test-floorl.c (ASSERT): Likewise.
17542         * tests/test-fopen.c (ASSERT): Likewise.
17543         * tests/test-fpending.c (ASSERT): Likewise.
17544         * tests/test-fprintf-posix.c (ASSERT): Likewise.
17545         * tests/test-fpurge.c (ASSERT): Likewise.
17546         * tests/test-freadable.c (ASSERT): Likewise.
17547         * tests/test-freadahead.c (ASSERT): Likewise.
17548         * tests/test-freading.c (ASSERT): Likewise.
17549         * tests/test-freadptr.c (ASSERT): Likewise.
17550         * tests/test-freadptr2.c (ASSERT): Likewise.
17551         * tests/test-freadseek.c (ASSERT): Likewise.
17552         * tests/test-freopen.c (ASSERT): Likewise.
17553         * tests/test-frexp.c (ASSERT): Likewise.
17554         * tests/test-frexpl.c (ASSERT): Likewise.
17555         * tests/test-fseek.c (ASSERT): Likewise.
17556         * tests/test-fseeko.c (ASSERT): Likewise.
17557         * tests/test-fstrcmp.c (ASSERT): Likewise.
17558         * tests/test-ftell.c (ASSERT): Likewise.
17559         * tests/test-ftello.c (ASSERT): Likewise.
17560         * tests/test-func.c (ASSERT): Likewise.
17561         * tests/test-fwritable.c (ASSERT): Likewise.
17562         * tests/test-fwriting.c (ASSERT): Likewise.
17563         * tests/test-getdelim.c (ASSERT): Likewise.
17564         * tests/test-getline.c (ASSERT): Likewise.
17565         * tests/test-i-ring.c (ASSERT): Likewise.
17566         * tests/test-iconv-utf.c (ASSERT): Likewise.
17567         * tests/test-iconv.c (ASSERT): Likewise.
17568         * tests/test-isfinite.c (ASSERT): Likewise.
17569         * tests/test-isnand.c (ASSERT): Likewise.
17570         * tests/test-isnanf.c (ASSERT): Likewise.
17571         * tests/test-isnanl.h (ASSERT): Likewise.
17572         * tests/test-ldexpl.c (ASSERT): Likewise.
17573         * tests/test-linked_list.c (ASSERT): Likewise.
17574         * tests/test-linkedhash_list.c (ASSERT): Likewise.
17575         * tests/test-localename.c (ASSERT): Likewise.
17576         * tests/test-lseek.c (ASSERT): Likewise.
17577         * tests/test-mbscasecmp.c (ASSERT): Likewise.
17578         * tests/test-mbscasestr1.c (ASSERT): Likewise.
17579         * tests/test-mbscasestr2.c (ASSERT): Likewise.
17580         * tests/test-mbscasestr3.c (ASSERT): Likewise.
17581         * tests/test-mbscasestr4.c (ASSERT): Likewise.
17582         * tests/test-mbschr.c (ASSERT): Likewise.
17583         * tests/test-mbscspn.c (ASSERT): Likewise.
17584         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
17585         * tests/test-mbspbrk.c (ASSERT): Likewise.
17586         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
17587         * tests/test-mbsrchr.c (ASSERT): Likewise.
17588         * tests/test-mbsspn.c (ASSERT): Likewise.
17589         * tests/test-mbsstr1.c (ASSERT): Likewise.
17590         * tests/test-mbsstr2.c (ASSERT): Likewise.
17591         * tests/test-mbsstr3.c (ASSERT): Likewise.
17592         * tests/test-memchr2.c (ASSERT): Likewise.
17593         * tests/test-memmem.c (ASSERT): Likewise.
17594         * tests/test-open.c (ASSERT): Likewise.
17595         * tests/test-printf-frexp.c (ASSERT): Likewise.
17596         * tests/test-printf-frexpl.c (ASSERT): Likewise.
17597         * tests/test-printf-posix.c (ASSERT): Likewise.
17598         * tests/test-quotearg.c (ASSERT): Likewise.
17599         * tests/test-rbtree_list.c (ASSERT): Likewise.
17600         * tests/test-rbtree_oset.c (ASSERT): Likewise.
17601         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
17602         * tests/test-round1.c (ASSERT): Likewise.
17603         * tests/test-roundf1.c (ASSERT): Likewise.
17604         * tests/test-roundl.c (ASSERT): Likewise.
17605         * tests/test-signbit.c (ASSERT): Likewise.
17606         * tests/test-sleep.c (ASSERT): Likewise.
17607         * tests/test-snprintf-posix.c (ASSERT): Likewise.
17608         * tests/test-snprintf.c (ASSERT): Likewise.
17609         * tests/test-sprintf-posix.c (ASSERT): Likewise.
17610         * tests/test-stat-time.c (ASSERT): Likewise.
17611         * tests/test-strcasestr.c (ASSERT): Likewise.
17612         * tests/test-strerror.c (ASSERT): Likewise.
17613         * tests/test-striconv.c (ASSERT): Likewise.
17614         * tests/test-striconveh.c (ASSERT): Likewise.
17615         * tests/test-striconveha.c (ASSERT): Likewise.
17616         * tests/test-strsignal.c (ASSERT): Likewise.
17617         * tests/test-strstr.c (ASSERT): Likewise.
17618         * tests/test-strtod.c (ASSERT): Likewise.
17619         * tests/test-trunc1.c (ASSERT): Likewise.
17620         * tests/test-trunc2.c (ASSERT): Likewise.
17621         * tests/test-truncf1.c (ASSERT): Likewise.
17622         * tests/test-truncf2.c (ASSERT): Likewise.
17623         * tests/test-truncl.c (ASSERT): Likewise.
17624         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
17625         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
17626         * tests/test-vasnprintf.c (ASSERT): Likewise.
17627         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
17628         * tests/test-vasprintf.c (ASSERT): Likewise.
17629         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
17630         * tests/test-vprintf-posix.c (ASSERT): Likewise.
17631         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
17632         * tests/test-vsnprintf.c (ASSERT): Likewise.
17633         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
17634         * tests/test-wcwidth.c (ASSERT): Likewise.
17635         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
17636         * tests/test-xprintf-posix.c (ASSERT): Likewise.
17637         * tests/test-xvasprintf.c (ASSERT): Likewise.
17638         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
17639         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
17640         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
17641         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
17642         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
17643         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
17644         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
17645         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
17646         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
17647         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
17648         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
17649         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
17650         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
17651         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
17652         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
17653         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
17654         * tests/unictype/test-block_list.c (ASSERT): Likewise.
17655         * tests/unictype/test-block_of.c (ASSERT): Likewise.
17656         * tests/unictype/test-block_test.c (ASSERT): Likewise.
17657         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
17658         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
17659         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
17660         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
17661         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
17662         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
17663         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
17664         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
17665         * tests/unictype/test-combining.c (ASSERT): Likewise.
17666         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
17667         * tests/unictype/test-digit.c (ASSERT): Likewise.
17668         * tests/unictype/test-mirror.c (ASSERT): Likewise.
17669         * tests/unictype/test-numeric.c (ASSERT): Likewise.
17670         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
17671         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
17672         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
17673         * tests/unictype/test-scripts.c (ASSERT): Likewise.
17674         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
17675         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
17676         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
17677         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
17678         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
17679         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
17680         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
17681         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
17682         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
17683         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
17684         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
17685         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
17686         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
17687         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
17688         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
17689         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
17690         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
17691         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
17692         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
17693         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
17694         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
17695         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
17696         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
17697         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
17698         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
17699         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
17700         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
17701         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
17702         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
17703         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
17704         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
17705         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
17706         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
17707         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
17708         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
17709         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
17710         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
17711         Reported by Eric Blake.
17712
17713 2008-04-11  Bruno Haible  <bruno@clisp.org>
17714
17715         * lib/wchar.in.h: Tweak comment.
17716
17717 2008-04-11  Bruno Haible  <bruno@clisp.org>
17718
17719         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
17720         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
17721         gl_COMMON.
17722         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
17723
17724 2008-04-11  Bruno Haible  <bruno@clisp.org>
17725
17726         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
17727
17728 2008-04-11  Simon Josefsson  <simon@josefsson.org>
17729
17730         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
17731         of attempting to use non-existing /dev/*random.  Based on patch
17732         from Adam Strzelecki <ono@java.pl> in
17733         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
17734
17735 2008-04-08  Bruno Haible  <bruno@clisp.org>
17736
17737         Add tentative support for emx+gcc.
17738         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
17739         * lib/fpurge.c (fpurge): Likewise.
17740         * lib/freadable.c (freadable): Likewise.
17741         * lib/freadahead.c (freadahead): Likewise.
17742         * lib/freading.c (freading): Likewise.
17743         * lib/freadptr.c (freadptr): Likewise.
17744         * lib/freadseek.c (freadptrinc): Likewise.
17745         * lib/fseeko.c (rpl_fseeko): Likewise.
17746         * lib/fseterr.c (fseterr): Likewise.
17747         * lib/fwritable.c (fwritable): Likewise.
17748         * lib/fwriting.c (fwriting): Likewise.
17749         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
17750
17751 2008-04-09  Eric Blake  <ebb9@byu.net>
17752
17753         Avoid some autoconf warnings.
17754         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
17755         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
17756         * m4/afs.m4 (gl_AFS): Likewise.
17757         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
17758         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
17759         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
17760         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
17761         (gl_INTEGER_TYPE_SUFFIX): Likewise.
17762         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
17763         (AC_CHECK_DECLS_ONCE): Likewise.
17764         Rename file...
17765         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
17766         gnulib-tool requires autoconf 2.59 or better.
17767         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
17768
17769 2008-04-08  Eric Blake  <ebb9@byu.net>
17770
17771         Use 'git describe --match' if present (added in git 1.5.5).
17772         * build-aux/git-version-gen: Limit result to tags that match 'v*'
17773         if possible.
17774
17775 2008-04-08  Bruno Haible  <bruno@clisp.org>
17776
17777         Add tentative support for OpenServer.
17778         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
17779         _ptr, _cnt.
17780         * lib/fpurge.c (fpurge): Likewise.
17781         * lib/freadable.c (freadable): Likewise.
17782         * lib/freadahead.c (freadahead): Likewise.
17783         * lib/freading.c (freading): Likewise.
17784         * lib/freadptr.c (freadptr): Likewise.
17785         * lib/freadseek.c (freadptrinc): Likewise.
17786         * lib/fseeko.c (rpl_fseeko): Likewise.
17787         * lib/fseterr.c (fseterr): Likewise.
17788         * lib/fwritable.c (fwritable): Likewise.
17789         * lib/fwriting.c (fwriting): Likewise.
17790         Reported by Roger Cornelius <rac@tenzing.org> and
17791         Brian K. White <brian@aljex.com>.
17792
17793 2008-04-06  Jim Meyering  <meyering@redhat.com>
17794
17795         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
17796
17797 2008-04-06  Bruno Haible  <bruno@clisp.org>
17798
17799         Avoid possible error with non-ASCII bytes in UTF-8 locales.
17800         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
17801         * tests/test-printf-posix.sh: Likewise.
17802         * tests/test-vfprintf-posix.sh: Likewise.
17803         * tests/test-vprintf-posix.sh: Likewise.
17804         * tests/test-xprintf-posix.sh: Likewise.
17805
17806 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17807
17808         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
17809         hide error from 'ls', needed on OS/2.
17810         Report by Elbert Pol <elbert.pol@gmail.com>.
17811
17812 2008-04-04  Eric Blake  <ebb9@byu.net>
17813
17814         Make test-fseeko.c failures meaningful.
17815         * tests/test-fseeko.c: Print line number on failure.
17816         * tests/test-fseek.c: Likewise.
17817         Reported by Nelson H. F. Beebe.
17818
17819         Improve strtod bug detection check.
17820         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
17821         required for Solaris 10.
17822         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
17823
17824 2008-04-04  Bruno Haible  <bruno@clisp.org>
17825
17826         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
17827         by m4/setenv.m4.
17828
17829 2008-04-03  Eric Blake  <ebb9@byu.net>
17830
17831         Ensure sane .version contents.
17832         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
17833         version string.
17834         * build-aux/git-version-gen: Improve documentation.
17835
17836         Make GNU make output nicer.
17837         * top/GNUmakefile [!_have-Makefile]: Add dependency on
17838         MAKECMDGOALS to enforce message for all command line targets.  Set
17839         srcdir for use in maint.mk.
17840
17841         Another maintainer tweak.
17842         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
17843         a target that regenerates version.
17844
17845 2008-04-03  Jim Meyering  <meyering@redhat.com>
17846
17847         vc-list-files: don't cause coreutils "make po-check" failure
17848         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
17849
17850 2008-04-03  Eric Blake  <ebb9@byu.net>
17851
17852         Allow VPATH usage of vc-list-files.
17853         * build-aux/vc-list-files (scriptversion): Add timestamp.
17854         (options): Add --help, --version, -C.
17855         (CVS): Support installed cvsu.
17856
17857 2008-04-02  Bruno Haible  <bruno@clisp.org>
17858
17859         Avoid some "statement with no effect" warnings from gcc.
17860         * tests/test-wctype.c (main): Explicitly ignore unused values.
17861         Reported by Jim Meyering.
17862
17863 2008-04-02  Jim Meyering  <meyering@redhat.com>
17864
17865         Avoid some warnings from "gcc -Wshadow".
17866         * tests/test-frexp.c (exp): Define to a different identifier.
17867         * tests/test-frexpl.c (exp): Likewise.
17868
17869 2008-04-03  Jim Meyering  <meyering@redhat.com>
17870
17871         bootstrap: remove dangling *.[ch] symlinks from lib
17872         * build-aux/bootstrap [dangling symlink removal]: Move find's
17873         -depth option to precede all others, to avoid a warning.
17874         Remove *.[ch] files too, and from "$source_base" (usually lib/).
17875
17876 2008-04-02  Bruno Haible  <bruno@clisp.org>
17877
17878         Avoid some warnings from "gcc -Wshadow".
17879         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
17880         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
17881         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
17882         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
17883         Reported by Jim Meyering.
17884
17885 2008-04-01  Bruno Haible  <bruno@clisp.org>
17886
17887         Fix test to work on IRIX 6.5 with cc.
17888         * tests/test-math.c (numeric_equal): New function.
17889         (main): Use it.
17890
17891 2008-04-01  Bruno Haible  <bruno@clisp.org>
17892
17893         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
17894
17895 2008-04-01  Bruno Haible  <bruno@clisp.org>
17896
17897         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
17898         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
17899         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
17900         (Depends-on): Remove math.
17901
17902         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
17903         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
17904         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
17905         (Depends-on): Remove math.
17906
17907         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
17908         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
17909         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
17910         (Depends-on): Remove math.
17911         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
17912         (Depends-on): Remove math.
17913
17914         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
17915         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
17916         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
17917         (Depends-on): Remove math.
17918         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
17919         (Depends-on): Remove math.
17920
17921         * tests/test-round1.c: Include nan.h.
17922         (main): Use NaNd instead of NAN.
17923         * modules/round-tests (Files): Add tests/nan.h.
17924
17925         * tests/test-trunc1.c: Include nan.h.
17926         (main): Use NaNd instead of NAN.
17927         * modules/trunc-tests (Files): Add tests/nan.h.
17928
17929         * tests/test-roundf1.c: Include nan.h.
17930         (main): Use NaNf instead of NAN.
17931         * modules/roundf-tests (Files): Add tests/nan.h.
17932
17933         * tests/test-truncf1.c: Include nan.h.
17934         (main): Use NaNf instead of NAN.
17935         * modules/truncf-tests (Files): Add tests/nan.h.
17936
17937         * tests/test-ceilf1.c: Include nan.h.
17938         (main): Use NaNf instead of NAN.
17939         * modules/ceilf-tests (Files): Add tests/nan.h.
17940
17941         * tests/test-floorf1.c: Include nan.h.
17942         (main): Use NaNf instead of NAN.
17943         * modules/floorf-tests (Files): Add tests/nan.h.
17944
17945         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
17946         (main): Use NaNf instead of NAN.
17947         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
17948
17949         * tests/test-isnand.c: Include nan.h instead of <math.h>.
17950         (main): Use NaNd instead of NAN.
17951         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
17952
17953         * tests/test-frexp.c: Include nan.h.
17954         (main): Use NaNd instead of NAN.
17955         * modules/frexp-tests (Files): Add tests/nan.h.
17956
17957         * lib/isnan.c: Don't include <math.h>.
17958         (FUNC): Don't use NAN macro.
17959         * modules/isnand-nolibm (Depends-on): Remove math.
17960         * modules/isnanf-nolibm (Depends-on): Remove math.
17961         * modules/isnanl (Depends-on): Remove math.
17962         * modules/isnanl-nolibm (Depends-on): Remove math.
17963
17964         * tests/nan.h: New file.
17965
17966 2008-04-01  Eric Blake  <ebb9@byu.net>
17967
17968         Fix typos.
17969         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
17970         values to be the right type.
17971
17972         For now, cater to gnulib strtod inaccuracies.
17973         * tests/test-strtod.c (main): Allow 1-ulp error on expected
17974         fractional results.  While not as nice from a QoI perspective, it
17975         is a quicker patch than correctly implementing decimal to binary
17976         rounding.
17977
17978 2008-03-31  Eric Blake  <ebb9@byu.net>
17979
17980         Guarantee a definition of NAN.
17981         * lib/math.in.h (NAN): Define if missing.
17982         * tests/test-math.c (main): Test it.
17983         * doc/posix-headers/math.texi (math.h): Document this.
17984         * lib/isnan.c (rpl_isnand): Use it.
17985         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
17986         * tests/test-floorf1.c (NaN): Likewise.
17987         * tests/test-frexp.c (NaN): Likewise.
17988         * tests/test-isnand.c (NaN): Likewise.
17989         * tests/test-isnanf.c (NaN): Likewise.
17990         * tests/test-round1.c (NaN): Likewise.
17991         * tests/test-roundf1.c (NaN): Likewise.
17992         * tests/test-snprintf-posix.h (NaN): Likewise.
17993         * tests/test-sprintf-posix.h (NaN): Likewise.
17994         * tests/test-trunc1.c (NaN): Likewise.
17995         * tests/test-truncf1.c (NaN): Likewise.
17996         * tests/test-vasnprintf-posix.c (NaN): Likewise.
17997         * tests/test-vasprintf-posix.c (NaN): Likewise.
17998         * modules/isnand-nolibm (Depends-on): Add math.
17999         * modules/isnanf-nolibm (Depends-on): Likewise.
18000         * modules/isnanl (Depends-on): Likewise.
18001         * modules/isnanl-nolibm (Depends-on): Likewise.
18002         * modules/snprintf-posix-tests (Depends-on): Likewise.
18003         * modules/sprintf-posix-tests (Depends-on): Likewise.
18004         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
18005         * modules/vsprintf-posix-tests (Depends-on): Likewise.
18006         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
18007         * modules/vasprintf-posix-tests (Depends-on): Likewise.
18008
18009 2008-03-31  Bruno Haible  <bruno@clisp.org>
18010
18011         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
18012         * doc/posix-functions/strtod.texi: Likewise.
18013
18014 2008-03-31  Bruno Haible  <bruno@clisp.org>
18015
18016         * tests/test-strtod.c (main): Don't use C99 syntax.
18017
18018 2008-03-31  Bruno Haible  <bruno@clisp.org>
18019
18020         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
18021         Reported by Eric Blake.
18022
18023 2008-03-31  Jim Meyering  <meyering@redhat.com>
18024
18025         Don't compare actual signbit return values.
18026         * tests/test-strtod.c (main): Rather, compare only their
18027         zero/non-zero nature.
18028
18029 2008-03-31  Eric Blake  <ebb9@byu.net>
18030
18031         More strtod documentation.
18032         * doc/posix-functions/strtod.texi (strtod): Interpret more test
18033         failures as distinct bugs.
18034
18035 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
18036
18037         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
18038         Problem reported by Erik Benada in
18039         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
18040
18041 2008-03-30  Bruno Haible  <bruno@clisp.org>
18042
18043         * tests/test-strtod.c: Add comments about which assertion fails on which
18044         platform.
18045         * doc/posix-functions/strtod.texi: Add info about many more platforms.
18046
18047 2008-03-30  Eric Blake  <ebb9@byu.net>
18048
18049         Test signbit behavior on zeros.
18050         * tests/test-signbit.c (test_signbitf): Add tests for zero.
18051         (test_signbitd, test_signbitl): Likewise.
18052
18053         More strtod touchups.
18054         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
18055         sign of negative underflow, for now.  Use .5, not .1.
18056         * doc/posix-functions/strtod.texi (strtod): Mention these
18057         limitations.
18058         Reported by Jim Meyering.
18059
18060 2008-03-30  Bruno Haible  <bruno@clisp.org>
18061
18062         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
18063         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
18064
18065 2008-03-30  Bruno Haible  <bruno@clisp.org>
18066
18067         Avoid failure when attempting to return empty iconv results on some
18068         platforms.
18069         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
18070         allocation, don't report ENOMEM when the resulting string is empty.
18071
18072 2008-03-30  Bruno Haible  <bruno@clisp.org>
18073
18074         Fix buffer overrun.
18075         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
18076         Don't consider the width for tmp_length. Check count against tmp_length
18077         before doing the padding. Ensure enough allocation during padding.
18078
18079 2008-03-30  Eric Blake  <ebb9@byu.net>
18080
18081         strtod touchups.
18082         * lib/strtod.c (strtod): Avoid compiler warnings.
18083         Reported by Jim Meyering.
18084
18085 2008-03-30  Bruno Haible  <bruno@clisp.org>
18086
18087         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
18088         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
18089         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
18090         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
18091         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
18092         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
18093         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
18094         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
18095
18096         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
18097         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
18098         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
18099         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
18100         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
18101         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
18102         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
18103         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
18104
18105         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
18106         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
18107         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
18108         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
18109         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
18110         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
18111         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
18112         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
18113
18114         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
18115         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
18116
18117         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
18118         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
18119
18120         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
18121         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
18122
18123         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
18124         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
18125         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
18126
18127         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
18128         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
18129         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
18130
18131         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
18132         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
18133         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
18134
18135         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
18136         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
18137         * modules/vasprintf (Depends-on): Add EOVERFLOW.
18138
18139         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
18140         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
18141         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
18142         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
18143         (Depends-on): Add EOVERFLOW.
18144         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
18145         (Depends-on): Add EOVERFLOW.
18146         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
18147         (Depends-on): Add EOVERFLOW.
18148         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
18149         (Depends-on): Add EOVERFLOW.
18150         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
18151         (Depends-on): Add EOVERFLOW.
18152         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
18153         (Depends-on): Add EOVERFLOW.
18154         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
18155         (Depends-on): Add EOVERFLOW.
18156         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
18157         (Depends-on): Add EOVERFLOW.
18158
18159         * lib/sprintf.c (EOVERFLOW): Remove fallback.
18160         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
18161         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
18162
18163         * lib/snprintf.c (EOVERFLOW): Remove fallback.
18164         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
18165         * modules/snprintf (Depends-on): Add EOVERFLOW.
18166
18167         * lib/poll.c (EOVERFLOW): Remove fallback.
18168         * modules/poll (Depends-on): Add EOVERFLOW.
18169
18170         * lib/getugroups.c (EOVERFLOW): Remove fallback.
18171         * modules/getugroups (Depends-on): Add EOVERFLOW.
18172
18173         * lib/getdelim.c (EOVERFLOW): Remove fallback.
18174         * modules/getdelim (Depends-on): Add EOVERFLOW.
18175
18176         * lib/ftell.c (EOVERFLOW): Remove fallback.
18177         * modules/ftell (Depends-on): Add EOVERFLOW.
18178
18179         * lib/fprintf.c (EOVERFLOW): Remove fallback.
18180         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
18181         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
18182
18183         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
18184
18185         * modules/EOVERFLOW-tests: New file.
18186         * tests/test-EOVERFLOW.c: New file.
18187
18188         * modules/EOVERFLOW: New file.
18189         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
18190
18191 2008-03-30  Bruno Haible  <bruno@clisp.org>
18192
18193         Fix bug introduced on 2007-06-10.
18194         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
18195         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
18196
18197 2008-03-30  Bruno Haible  <bruno@clisp.org>
18198
18199         Improve freadseek's efficiency after ungetc.
18200         * lib/freadseek.c: Include freadahead.h.
18201         (freadptrinc): New function, extracted from freadseek.
18202         (freadseek): Use it in a loop. Use freadahead to determine the number
18203         of loop iterations.
18204         * modules/freadseek (Depends-on): Add freadahead.
18205         (configure.ac): Require AC_C_INLINE.
18206
18207 2008-03-30  Bruno Haible  <bruno@clisp.org>
18208
18209         * lib/freadseek.c (freadseek): Don't ignore the return value of
18210         freadptr.
18211
18212 2008-03-29  Eric Blake  <ebb9@byu.net>
18213
18214         Add hex float support.
18215         * modules/strtod (Depends-on): Add c-ctype.
18216         (Link): Mention POW_LIB.
18217         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
18218         whitespace between 'e' and exponent.
18219         * tests/test-strtod.c (main): Enable hex float tests.
18220         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
18221         now provides.
18222
18223         Document various strtod bugs, with some fixes.
18224         * doc/posix-functions/strtod.texi (strtod): Document bugs with
18225         "-0x", "inf", "nan", and hex constants.
18226         * doc/posix-functions/atof.texi (atof): Likewise.
18227         * modules/stdlib (Makefile.am): Support strtod.
18228         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
18229         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
18230         detect additional strtod bugs.
18231         * lib/stdlib.in.h (rpl_strtod): Add declarations.
18232         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
18233         bool where appropriate.  Parse 'inf' and 'nan'.
18234         * tests/test-strtod.c: New file.
18235         * modules/strtod (Depends-on): Add stdbool, stdlib.
18236         (configure.ac): Turn on module indicator.
18237         * modules/strtod-tests: New module.
18238
18239 2008-03-29  Eric Blake  <ebb9@byu.net>
18240
18241         Fix ftell on mingw.
18242         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
18243         * modules/ftell-tests (Depends-on): Add binary-io.
18244         * modules/ftello-tests (Depends-on): Likewise.
18245         * tests/test-ftell.c (main): Enhance test to cover behavior after
18246         ungetc.  Enforce binary mode.
18247         * tests/test-ftello.c (main): Likewise.
18248
18249         Pass test-freadseek on cygwin.
18250         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
18251         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
18252         ungetc buffer.
18253
18254         * tests/test-fflush2.c (main): Fix typo.
18255
18256 2008-03-29  Bruno Haible  <bruno@clisp.org>
18257
18258         * tests/test-fflush2.c (main): Temporarily disable the contents of
18259         this test.
18260         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
18261         Reported by Eric Blake.
18262
18263 2008-03-28  Simon Josefsson  <simon@josefsson.org>
18264
18265         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
18266         (GC_SHA224_DIGEST_SIZE): Add.
18267
18268         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
18269         (gc_hash_digest_length): Likewise.
18270         (gc_hash_buffer): Likewise.
18271
18272 2008-03-25  Bruno Haible  <bruno@clisp.org>
18273
18274         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
18275         detail which gettext release to use.
18276         Reported by Simon Josefsson.
18277
18278 2008-03-26  Jim Meyering  <meyering@redhat.com>
18279
18280         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
18281         * modules/gnumakefile (clean-GNUmakefile): Also, use
18282         test ... && ... || : syntax rather than if-then ... fi.
18283
18284         gnumakefile: Don't double-quote-expand $(VPATH) value.
18285         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
18286
18287 2008-03-24  Eric Blake  <ebb9@byu.net>
18288
18289         Alter GNUmakefile to install into top directory.
18290         * modules/maintainer-makefile: Split, and add dependency...
18291         * modules/gnumakefile: to this new module.
18292         * build-aux/GNUmakefile: Move...
18293         * top/GNUmakefile: ...here.
18294         * build-aux/maint.mk: Move...
18295         * top/maint.mk: ...here.
18296         * MODULES.html.sh (Support for maintaining...): Document new
18297         module.
18298
18299 2008-03-23  Bruno Haible  <bruno@clisp.org>
18300
18301         * gnulib-tool: New options --vc-files, --no-vc-files.
18302         (func_usage): Document them.
18303         (vc_files): New variable.
18304         (func_import): Consider vc_files.
18305         (func_create_testdir): Set vc_files to empty.
18306         Suggested by Jim Meyering and Karl Berry.
18307
18308 2008-03-23  Bruno Haible  <bruno@clisp.org>
18309
18310         Fix regex compilation error on HP-UX 11.
18311         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
18312         * modules/regex (Files): Add m4/mbstate_t.m4.
18313         Reported by Ton Voon <ton.voon@altinity.com>.
18314
18315 2008-03-23  Bruno Haible  <bruno@clisp.org>
18316
18317         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
18318
18319 2008-03-23  Eric Blake  <ebb9@byu.net>
18320             Bruno Haible  <bruno@clisp.org>
18321
18322         Install files from top/ in the destination directory.
18323         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
18324         augmentation also for the files from top/.
18325         (func_import, func_create_testdir): Rewrite file names:
18326         top/filename -> filename.
18327
18328 2008-03-23  Bruno Haible  <bruno@clisp.org>
18329
18330         Tweak "gnulib --version" output.
18331         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
18332
18333 2008-03-23  Bruno Haible  <bruno@clisp.org>
18334
18335         Tweak "gnulib --version" output.
18336         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
18337         rather than contents of ChangeLog, when possible.
18338
18339 2008-03-21  Eric Blake  <ebb9@byu.net>
18340
18341         More --version tweaks.
18342         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
18343         date of last ChangeLog entry.
18344
18345 2008-03-21  Jim Meyering  <meyering@redhat.com>
18346
18347         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
18348
18349 2008-03-20  Eric Blake  <ebb9@byu.net>
18350
18351         VPATH fix.
18352         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
18353
18354 2008-03-20  Simon Josefsson  <simon@josefsson.org>
18355
18356         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
18357         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
18358
18359 2008-03-20  Eric Blake  <ebb9@byu.net>
18360
18361         Sync GNUmakefile with coreutils.
18362         * build-aux/GNUmakefile (have-Makefile): Rename...
18363         (_have-Makefile): ...to this, for namespace consideration.
18364         (GNUmakefile.cfg): Include, if present.
18365         (_autoreconf): Define a default.
18366         (_is-dist-target): New rule for rebuilds to pick up intra-release
18367         version.
18368         (maint-cfg.mk): Rename...
18369         (cfg.mk): ...to this.
18370
18371 2008-03-18  Jim Meyering  <meyering@redhat.com>
18372
18373         New script and module: mktempd
18374         * MODULES.html.sh (maint+release support): Add mktempd.
18375         * build-aux/mktempd: New file.
18376         * modules/mktempd: New file.
18377
18378 2008-03-15  Jim Meyering  <meyering@redhat.com>
18379
18380         Undo last change.
18381         * lib/sha1.c, lib/md5.c: 63 != ~63.
18382         Reported by Andreas Schwab.
18383
18384         sha1.c, md5.c: Hoist a redundant expression.
18385         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
18386         "ctx->buflen" only once, before calling *_process_block.
18387         * lib/md5.c (md5_process_bytes): Likewise.
18388
18389 2008-03-14  Eric Blake  <ebb9@byu.net>
18390
18391         Bump copyright year in files generated by gnulib-tool.
18392         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
18393         gnulib-tool, rather than hard-coding it.
18394
18395         Fix 'gnulib-tool --version' output to work with git.
18396         * gnulib-tool (func_gnulib_dir): New function, extracted from...
18397         (startup): ...here.
18398         (func_version): Use it to invoke git-version-gen, rather than
18399         relying on CVS keyword expansion.  Modernize wording.
18400         (cvsdatestamp, last_checkin_date, version): Kill unused
18401         variables.
18402
18403 2008-03-12  Jim Meyering  <meyering@redhat.com>
18404
18405         Recognize optional cast of the argument to free.
18406         * build-aux/useless-if-before-free: Update regexps.
18407
18408         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
18409
18410 2008-03-11  Bruno Haible  <bruno@clisp.org>
18411
18412         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
18413         by a single package.
18414         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
18415         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
18416         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
18417         Reported by Sam Steingold <sds@gnu.org>.
18418
18419 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
18420
18421         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
18422         repositories.
18423
18424 2008-03-11  Bruno Haible  <bruno@clisp.org>
18425
18426         Avoid conflicts between local macro definitions.
18427         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
18428         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
18429
18430 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
18431             Bruno Haible  <bruno@clisp.org>
18432
18433         Make va_copy work with some version of xlc on AIX 5.1.
18434         * lib/stdarg.in.h: New file.
18435         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
18436         On AIX, use a <stdarg.h> file substitute.
18437         * modules/stdarg (Files): Add lib/stdarg.in.h.
18438         (Depends-on): Add include_next.
18439         (Makefile.am): Build a stdarg.h substitute if requested.
18440         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
18441
18442 2008-03-10  Bruno Haible  <bruno@clisp.org>
18443
18444         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
18445         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
18446         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
18447
18448 2008-03-10  Bruno Haible  <bruno@clisp.org>
18449
18450         * modules/stdlib (Depends-on): Add include_next, remove
18451         absolute-header.
18452
18453 2008-03-09  Bruno Haible  <bruno@clisp.org>
18454
18455         * lib/freadahead.h (freadahead): Document more precisely.
18456         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
18457         the sum of both buffer sizes.
18458         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
18459         * NEWS: Document the change.
18460
18461 2008-03-09  Bruno Haible  <bruno@clisp.org>
18462
18463         Extend freadptr to return also the buffer size.
18464         * lib/freadptr.h (freadptr): Add sizep argument.
18465         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
18466         (freadptr): Add sizep argument. Determine buffer size like freadahead
18467         does.
18468         * tests/test-freadptr.c: Don't include freadahead.h.
18469         (main): Adapt for new calling convention of freadptr.
18470         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
18471         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
18472         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
18473         tests/test-freadptr2.sh.
18474         (Depends): Remove freadahead.
18475         (TESTS): Add test-freadptr2.sh.
18476         (check_PROGRAMS): Add test-freadptr2.
18477
18478 2008-03-09  Bruno Haible  <bruno@clisp.org>
18479
18480         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
18481         Report and solution by Simon Josefsson.
18482
18483 2008-03-06  Bruno Haible  <bruno@clisp.org>
18484
18485         Make fflush after ungetc work on BSD platforms.
18486         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
18487         * tests/test-fflush2.c: New file.
18488         * tests/test-fflush2.sh: New file.
18489         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
18490         tests/test-fflush2.c.
18491         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
18492         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
18493
18494 2008-03-06  Eric Blake  <ebb9@byu.net>
18495
18496         Likewise for ftello.
18497         * modules/ftello (Dependencies): Add extensions.
18498         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
18499
18500 2008-03-06  Bruno Haible  <bruno@clisp.org>
18501
18502         * modules/fseeko (Dependencies): Add extensions.
18503         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
18504         Needed on glibc systems.
18505
18506 2008-03-06  Bruno Haible  <bruno@clisp.org>
18507
18508         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
18509         email address.
18510         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
18511
18512 2008-03-06  Bruno Haible  <bruno@clisp.org>
18513
18514         * users.txt: Add libgnupdf.
18515
18516 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
18517
18518         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
18519         (Header File Substitutes, Function Substitutes,
18520         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
18521         (Build robot for gnulib): Fix typo.
18522
18523 2008-03-06  Bruno Haible  <bruno@clisp.org>
18524
18525         * doc/gnulib-tool.texi (VCS Issues): Small updates.
18526         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
18527
18528 2008-03-06  Bruno Haible  <bruno@clisp.org>
18529
18530         * doc/func.texi: New file, extracted from doc/gnulib.texi.
18531         * doc/gnulib.texi: Include it.
18532
18533 2008-03-06  Simon Josefsson  <simon@josefsson.org>
18534
18535         * modules/func (License): Change license to unlimited; there was
18536         no LGPL parts in the module anyway.
18537
18538 2008-03-06  Simon Josefsson  <simon@josefsson.org>
18539
18540         * modules/__func__: Renamed to modules/func.
18541         * modules/__func__-tests: Renamed to modules/func-tests.
18542         * tests/test-__func__.c: Renamed to tests/test-func.c.
18543         * m4/__func__.m4: Renamed to m4/func.m4.
18544         * doc/gnulib.texi (__func__): Section renamed to func.
18545         Suggested by Eric Blake <ebb9@byu.net>.
18546
18547 2008-03-06  Simon Josefsson  <simon@josefsson.org>
18548
18549         * doc/gnulib.texi (__func__): Use C99 terminology when talking
18550         about __func__.  Make example self-contained.  Suggested by Eric
18551         Blake <ebb9@byu.net>.
18552
18553         * tests/test-__func__.c (main): Avoid extraneous () around __func.
18554         Suggested by Eric Blake <ebb9@byu.net>.
18555
18556 2008-03-06  Simon Josefsson  <simon@josefsson.org>
18557
18558         * modules/__func__: New file.
18559         * modules/__func__-tests: New file.
18560         * tests/test-__func__.c: New file.
18561         * m4/__func__.m4: New file.
18562         * doc/gnulib.texi (__func__): Document __func__ module.
18563
18564 2008-03-05  Simon Josefsson  <simon@josefsson.org>
18565
18566         * modules/byteswap (License): Re-license as LGPLv2+.
18567
18568 2008-03-05  Simon Josefsson  <simon@josefsson.org>
18569
18570         * doc/Makefile: Add pdf target.
18571
18572 2008-03-05  Simon Josefsson  <simon@josefsson.org>
18573
18574         * modules/inline (License): Use 'unlimited', since there are only
18575         *.m4 files in this module.
18576
18577 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
18578             Bruno Haible  <bruno@clisp.org>
18579
18580         Add support for HP C 7.1 on OpenVMS 8.3.
18581         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
18582
18583 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
18584
18585         Update VMS specifics.
18586         * lib/getopt.c [VMS]: Remove include of unixlib.h.
18587
18588 2008-03-02  Jim Meyering  <meyering@redhat.com>
18589
18590         Remove the last dependency on the "free" module.
18591         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
18592         Reported by Bob Proulx.
18593
18594         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
18595
18596         Remove useless "if" tests before free.  Deprecate "free" module.
18597         * doc/posix-functions/free.texi: Mention that this
18598         module is no longer useful.
18599         * modules/free (Notice): Say this module is obsolete.
18600         * modules/readutmp (Depends-on): Remove free.
18601         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
18602         * lib/putenv.c (putenv): Likewise.
18603         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
18604         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
18605         * tests/test-c-strcasestr.c (main): Likewise.
18606         * tests/test-c-strstr.c (main): Likewise.
18607         * tests/test-mbscasestr1.c (main): Likewise.
18608         * tests/test-mbscasestr2.c (main): Likewise.
18609         * tests/test-mbsstr1.c (main): Likewise.
18610         * tests/test-mbsstr2.c (main): Likewise.
18611         * tests/test-memmem.c (main): Likewise.
18612         * tests/test-strcasestr.c (main): Likewise.
18613         * tests/test-striconv.c (main): Likewise.
18614         * tests/test-striconveh.c (main): Likewise.
18615         * tests/test-striconveha.c (main): Likewise.
18616         * tests/test-strstr.c (main): Likewise.
18617
18618         * build-aux/git-version-gen: Adjust a comment and the Usage string.
18619
18620         bootstrap: sync from coreutils again
18621         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
18622
18623 2008-03-01  Jim Meyering  <meyering@redhat.com>
18624
18625         bootstrap: sync from coreutils
18626         * build-aux/bootstrap (update_po_files): Copy a .po file into place
18627         also when the target doesn't exist.
18628
18629 2008-03-01  Eric Blake  <ebb9@byu.net>
18630
18631         Fix bugs in last patch.
18632         * lib/memchr2.c (memchr2): Fix typo.
18633         * tests/test-memchr2.c: Test previous bug, and don't use GNU
18634         extension.
18635         Reported by Bruce Korb.
18636
18637         New module 'memchr2'.
18638         * modules/memchr2: New file.
18639         * modules/memchr2-tests: Likewise.
18640         * lib/memchr2.h: Likewise.
18641         * lib/memchr2.c: Likewise, based on memchr.c.
18642         * tests/test-memchr2.c: New test.
18643         * MODULES.html.sh (String handling): Add memchr2.
18644
18645 2008-02-29  Bruno Haible  <bruno@clisp.org>
18646
18647         * modules/freadseek-tests: New file.
18648         * tests/test-freadseek.sh: New file.
18649         * tests/test-freadseek.c: New file.
18650
18651         New module 'freadseek'.
18652         * modules/freadseek: New file.
18653         * lib/freadseek.h: New file.
18654         * lib/freadseek.c: New file.
18655         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
18656
18657 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
18658
18659         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
18660         wydawca.
18661
18662         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
18663         program_invocation_name and program_invocation_short_name are
18664         present.
18665
18666 2008-02-28  Bruno Haible  <bruno@clisp.org>
18667
18668         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
18669         * tests/test-freadptr.sh: Also test non-seekable stdin.
18670
18671 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
18672
18673         * build-aux/bootstrap (source_base, m4_base)
18674         (doc_base, tests_base): New variables.
18675         (gnulib_tool_options): Do not hardcode base directories, use
18676         the above variables instead.
18677
18678 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
18679
18680         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
18681
18682 2008-02-28  Bruno Haible  <bruno@clisp.org>
18683
18684         * modules/freadptr-tests: New file.
18685         * tests/test-freadptr.sh: New file.
18686         * tests/test-freadptr.c: New file.
18687
18688         New module 'freadptr'.
18689         * modules/freadptr: New file.
18690         * lib/freadptr.h: New file.
18691         * lib/freadptr.c: New file.
18692         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
18693
18694 2008-02-26  Karl Berry  <karl@freefriends.org>
18695
18696         Sync from Libtool:
18697         * libltdl/argz.c (argz_add, argz_count): New functions.
18698         * libltdl/argz.in.h: Declare them.
18699         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
18700
18701 2008-02-22  Bruno Haible  <bruno@clisp.org>
18702
18703         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
18704         is a pointer type.  Needed for HP-UX 10.
18705         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
18706         * doc/posix-functions/gmtime_r.texi: Likewise.
18707         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
18708
18709 2008-02-24  Bruno Haible  <bruno@clisp.org>
18710
18711         * modules/environ-tests: New file.
18712         * tests/test-environ.c: New file.
18713
18714         New module 'environ'.
18715         * modules/environ: New file.
18716         * lib/unistd.in.h (environ): New declaration.
18717         * m4/environ.m4: New file.
18718         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
18719         after use.
18720         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
18721         HAVE_DECL_ENVIRON.
18722         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
18723         HAVE_DECL_ENVIRON.
18724         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
18725         wrong claim that 'environ' is missing on some systems.
18726         * modules/execute (Depends-on): Add environ.
18727         * lib/execute.c (environ): Remove fallback declaration.
18728         * modules/pipe (Depends-on): Add environ.
18729         * lib/pipe.c (environ): Remove fallback declaration.
18730         * modules/setenv (Depends-on): Add environ.
18731         * lib/setenv.c (environ): Remove fallback declaration.
18732         * modules/unsetenv (Depends-on): Add environ.
18733         * lib/unsetenv.c (environ): Remove fallback declaration.
18734         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
18735         m4/environ.m4.
18736         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
18737         (gl_PREREQ_UNSETENV): Likewise.
18738
18739 2008-02-24  Bruno Haible  <bruno@clisp.org>
18740
18741         * doc/posix-functions/environ.texi: Document the MacOS X problem.
18742
18743 2008-02-20  Bob Proulx  <bob@proulx.com>
18744
18745         Enable use of older two part flavor 'git describe'.
18746         * build-aux/git-version-gen: If using the older two part flavor of
18747         git version then recreate the third part now present in the
18748         newer three part flavor of git describe.
18749
18750 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
18751
18752         * lib/fts.c (fts_build): Typo correction to comment.
18753
18754 2008-02-17  Bruno Haible  <bruno@clisp.org>
18755
18756         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
18757         generating no-op conflicts.
18758
18759 2008-02-17  Bruno Haible  <bruno@clisp.org>
18760
18761         Speed up by 10%.
18762         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
18763         result_entries, rather than an index-based loop.
18764
18765 2008-02-17  Bruno Haible  <bruno@clisp.org>
18766
18767         Speed up by 25%.
18768         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
18769         'hashcode_cached'.
18770         (entry_create): New function.
18771         (entry_hashcode): Use the cached hashcode if possible.
18772         (read_changelog_file, try_split_merged_entry): Use entry_create.
18773
18774 2008-02-17  Bruno Haible  <bruno@clisp.org>
18775
18776         Speed up from O(n^2) to O(n) for long ChangeLog files.
18777         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
18778         (read_changelog_file): Change implementation of entries_reversed list
18779         to rbtreehash.
18780         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
18781
18782 2008-02-17  Bruno Haible  <bruno@clisp.org>
18783
18784         New option --split-merged-entry.
18785         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
18786         (find_paragraph_end, try_split_merged_entry): New functions.
18787         (long_options): Add option --split-merged-entry.
18788         (usage): Document option --split-merged-entry.
18789         (main): Implement option --split-merged-entry.
18790         Reported by Eric Blake.
18791
18792 2008-02-17  Bruno Haible  <bruno@clisp.org>
18793
18794         * lib/git-merge-changelog.c: Include c-strstr.h.
18795         (main): Support the "git pull --rebase" situation.
18796         * modules/git-merge-changelog (Depends-on): Add c-strstr.
18797         Reported by Eric Blake.
18798
18799 2008-02-16  Eric Blake  <ebb9@byu.net>
18800
18801         Avoid doubling \ in common case of "c-maybe" quoting style.
18802         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
18803         eliding outer quotes.
18804         * lib/quotearg.h: Document this.
18805         * tests/test-quotearg.c (result_strings, inputs, results_g)
18806         (flag_results, locale_results): Test it by adding a new string to
18807         each test group.
18808         (compare_strings): Test new string.
18809
18810 2008-02-13  Eric Blake  <ebb9@byu.net>
18811
18812         Avoid trigraph quoting in default output.
18813         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
18814         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
18815         unless explicitly requested.
18816         * tests/test-quotearg.c (flag_results, main): Add additional tests.
18817
18818 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
18819
18820         Don't rely on signed integer overflowing to negative value.
18821         * lib/getugroups.c (getugroups): Include <limits.h>.
18822         Instead, compare against INT_MAX, and increment only if the test passes.
18823
18824 2008-02-13  Jim Meyering  <meyering@redhat.com>
18825         and Eric Blake  <ebb9@byu.net>
18826
18827         Avoid shadowing warning and compile errors on Linux.
18828         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
18829         forwarding macros on Linux.
18830         (dcgettext): Define a stub, for Linux.
18831         (results_g, main): Avoid warnings.
18832
18833 2008-02-12  Eric Blake  <ebb9@byu.net>
18834
18835         Silence warning in last patch.
18836         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
18837
18838         Quotearg part 4: add tests, fix c-maybe colon quoting.
18839         * lib/quotearg.h: Improve documentation.
18840         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
18841         escapes when adding outer quotes.  When quoting trigraphs, use
18842         valid C notation.  When quoting NUL, omit extra characters if next
18843         character is not digit.  Alter prototype.
18844         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
18845         callers.
18846         * modules/quotearg-tests: New module.
18847         * tests/test-quotearg.c: New test.
18848
18849 2008-02-07  Eric Blake  <ebb9@byu.net>
18850
18851         Quotearg part 3: add flag to control outer quote elision.
18852         * lib/quotearg.h (c_maybe_quoting_style): New style.
18853         (enum quoting_flags): Better documentation of flags.
18854         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
18855         c-maybe style.
18856         (quotearg_buffer_restyled): Handle new flag to elide outer
18857         quotes.
18858
18859         Quotearg part 2: add flag that can control NUL elision.
18860         * lib/quotearg.h (set_quoting_flags): New prototype.
18861         * lib/quotearg.c (struct quoting_options): Add flag field.
18862         (set_quoting_flags): New function.
18863         (quotearg_buffer_restyled): Add flags parameter.
18864         (quotearg_alloc_mem): Set the flag if length cannot be returned.
18865         (quotearg_n_options): Set the flag, since length cannot be
18866         returned.
18867         (quoting_options_from_style): Default flags correctly.
18868
18869         Quotearg part 1: more wrappers, restore quotearg_char state.
18870         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
18871         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
18872         (quotearg_colon_mem): New wrappers.
18873         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
18874         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
18875         functions.
18876         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
18877         (quotearg_colon_mem): New functions.
18878
18879 2008-02-11  Bruno Haible  <bruno@clisp.org>
18880
18881         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
18882         library in the current directory: it does not work with parallel make.
18883         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18884
18885 2008-02-11  Bruno Haible  <bruno@clisp.org>
18886
18887         * .gitattributes: New file.
18888
18889 2008-02-11  Jim Meyering  <meyering@redhat.com>
18890
18891         useless-if-before-free: Fix reversed exit values.
18892         * build-aux/useless-if-before-free: Use correct values
18893         for EXIT_MATCH and EXIT_NO_MATCH.
18894
18895         * build-aux/useless-if-before-free: Close stdout carefully.
18896
18897 2008-02-10  Bruno Haible  <bruno@clisp.org>
18898
18899         New module 'git-merge-changelog'.
18900         * modules/git-merge-changelog: New file.
18901         * lib/git-merge-changelog.c: New file.
18902
18903 2008-02-10  Jim Meyering  <meyering@redhat.com>
18904
18905         useless-if-before-free: New option: --list (-l).
18906
18907         useless-if-before-free: Don't exit immediately upon open failure.
18908         * build-aux/useless-if-before-free: Exit 2 for errors.
18909         Upon failure to open a file, don't exit immediately.
18910         Rather, just warn and continue with any remaining files.
18911
18912 2008-02-10  Bruno Haible  <bruno@clisp.org>
18913
18914         New abstract list operation 'node_set_value'.
18915         * lib/gl_list.h (gl_list_node_set_value): New function.
18916         (struct gl_list_implementation): New field node_set_value.
18917         * lib/gl_list.c (gl_list_node_set_value): New function.
18918         * lib/gl_array_list.c (gl_array_node_set_value): New function.
18919         (gl_array_list_implementation): Update.
18920         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
18921         (gl_carray_list_implementation): Update.
18922         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
18923         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
18924         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
18925         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
18926         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
18927         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
18928         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
18929         Update.
18930         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
18931         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
18932         (gl_sublist_list_implementation): Update.
18933
18934 2008-02-10  Bruno Haible  <bruno@clisp.org>
18935
18936         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
18937         Needed when ELEMENT is #defined to 'some_type *'.
18938
18939 2008-02-10  Jim Meyering  <meyering@redhat.com>
18940
18941         New script and module: useless-if-before-free
18942         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
18943         * build-aux/useless-if-before-free: New file.
18944         * modules/useless-if-before-free: New file.
18945
18946         * build-aux/gitlog-to-changelog: Use committer date, not author date.
18947
18948         xstrtol_error: Fix typo.
18949         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
18950         s/exit_failure/exit_status/.
18951
18952 2008-02-09  Jim Meyering  <meyering@redhat.com>
18953
18954         New script and module: gitlog-to-changelog
18955         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
18956         * modules/gitlog-to-changelog: New file.
18957         * build-aux/gitlog-to-changelog: New file.
18958
18959 2008-02-08  Jim Meyering  <meyering@redhat.com>
18960
18961         Avoid two "parameter unused" warnings.
18962         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
18963         Mark "st" as used.
18964
18965         Use "git COMMAND", not "git-COMMAND".
18966         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
18967         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
18968         * build-aux/git-version-gen: Use "git status", not "git-status".
18969
18970 2008-02-07  Bruno Haible  <bruno@clisp.org>
18971
18972         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
18973         Avoids a crash on Windows Vista.
18974         Reported by Adam Strzelecki <ono@java.pl> via
18975         Simon Josefsson <simon@josefsson.org>.
18976
18977 2008-02-06  Bruno Haible  <bruno@clisp.org>
18978
18979         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
18980         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
18981         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
18982         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
18983         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
18984         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
18985         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
18986         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
18987         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
18988         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
18989         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
18990         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
18991         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
18992         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
18993         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
18994         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
18995         left-adjust flag.
18996         * tests/test-snprintf-posix.h (test_function): Likewise.
18997         * tests/test-sprintf-posix.h (test_function): Likewise.
18998         * tests/test-vasprintf-posix.c (test_function): Likewise.
18999         * doc/posix-functions/fprintf.texi: Update.
19000         * doc/posix-functions/printf.texi: Update.
19001         * doc/posix-functions/snprintf.texi: Update.
19002         * doc/posix-functions/sprintf.texi: Update.
19003         * doc/posix-functions/vfprintf.texi: Update.
19004         * doc/posix-functions/vprintf.texi: Update.
19005         * doc/posix-functions/vsnprintf.texi: Update.
19006         * doc/posix-functions/vsprintf.texi: Update.
19007         Reported by Peter Fales <psfales@alcatel-lucent.com>.
19008
19009 2008-02-06  Bruno Haible  <bruno@clisp.org>
19010
19011         Fix bug introduced on 2008-01-26.
19012         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
19013
19014 2008-02-06  Bruno Haible  <bruno@clisp.org>
19015
19016         Fix bug introduced on 2007-06-10.
19017         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
19018         !NEED_PRINTF_FLAG_ZERO.
19019
19020 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
19021
19022         getloadavg: use libperfstat on AIX5
19023         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
19024
19025 2008-02-03  Bruno Haible  <bruno@clisp.org>
19026
19027         * lib/diffseq.h: Add comments about required #includes.
19028         Reported by Michael Biggs <gnulib@doubleplum.net>.
19029
19030 2008-02-01  Bruno Haible  <bruno@clisp.org>
19031
19032         * users.txt: Add gnuit.
19033
19034 2008-01-31  Bruno Haible  <bruno@clisp.org>
19035
19036         * lib/md4.c (set_uint32): Mark as inline.
19037         * lib/md5.c (set_uint32): Likewise.
19038         * lib/sha1.c (set_uint32): Likewise.
19039         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
19040         * m4/md5.m4 (gl_MD5): Likewise.
19041         * m4/sha1.m4 (gl_SHA1): Likewise.
19042
19043 2008-01-31  Jim Meyering  <meyering@redhat.com>
19044
19045         Use "sizeof VAR", rather than a literal "4".
19046         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
19047         * lib/md4.c (md4_read_ctx): Likewise.
19048         * lib/sha1.c (sha1_read_ctx): Likewise.
19049
19050 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19051
19052         * tests/test-sha1.c: New file, based on test-md5.c.
19053
19054         * modules/crypto/sha1-tests: New file.
19055
19056 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19057
19058         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
19059
19060 2008-01-31  Jim Meyering  <meyering@redhat.com>
19061
19062         Prefer "sizeof v" over the equivalent "4".
19063         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
19064         * lib/md5.c (set_uint32): Likewise.
19065         * lib/sha1.c (set_uint32): Likewise.
19066
19067 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19068
19069         * lib/sha1.c (set_uint32): Mark function as static.
19070
19071 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19072
19073         md2: clarify comments to say that alignment is not required.
19074         * lib/md2.h: Remove warning about alignment in comment.
19075         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
19076         never been required.
19077
19078 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19079
19080         md4: adapt alignment constraint fix from sha1.
19081         * lib/md4.c (set_uint32): New function, from sha1.c
19082         (md4_read_ctx): Use it.
19083         (md4_finish_ctx): Doc fix.
19084         * lib/md4.h: Doc fix.
19085
19086 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19087
19088         md5: adapt alignment constraint fix from sha1.
19089         * lib/md5.c (set_uint32): New function, from sha1.c
19090         (md5_read_ctx): Use it.
19091         (md5_finish_ctx): Doc fix.
19092         * lib/md5.h: Doc fix.
19093
19094 2008-01-30  Peter Palfrader  <weasel@debian.org>
19095
19096         sha1: remove the result buffer alignment constraint
19097         * lib/sha1.c (set_uint32): New function.
19098         (sha1_read_ctx): Rewrite to remove the result buffer alignment
19099         constraint.
19100         (sha1_finish_ctx): Remove comment warning about alignment constraint.
19101         * lib/sha1.h: Likewise.
19102
19103 2008-01-30  Andreas Schwab  <schwab@suse.de>
19104             Bruno Haible  <bruno@clisp.org>
19105
19106         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
19107         correct definition of LDBL_MIN_EXP.
19108
19109 2008-01-30  Karl Berry  <karl@gnu.org>
19110
19111         * config/srclist-update: try to preserve x bit on updates.
19112         * config/srclistvars.sh: update for karl.
19113
19114 2008-01-29  Jim Meyering  <meyering@redhat.com>
19115
19116         vasnprintf.c: Avoid warning about unused label
19117         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
19118         "overflow" label definition and associated code with the
19119         same cpp condition that guards the sole use of that label.
19120
19121 2008-01-26  Bruno Haible  <bruno@clisp.org>
19122
19123         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
19124         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
19125         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
19126         * lib/isnanl-nolibm.h (isnanl): Likewise.
19127         Reported by Paul Eggert <eggert@cs.ucla.edu>.
19128
19129 2008-01-26  Bruno Haible  <bruno@clisp.org>
19130
19131         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
19132         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
19133
19134 2008-01-26  Bruno Haible  <bruno@clisp.org>
19135
19136         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
19137         GCC >= 4.0 built-in.
19138         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
19139
19140 2008-01-26  Bruno Haible  <bruno@clisp.org>
19141
19142         Rename isnan, applicable to 'double' only, to isnand.
19143         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
19144         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
19145         (configure.ac): Update.
19146         (Include): Replace "isnan.h" with "isnand.h".
19147         * m4/isnand.m4: Renamed from m4/isnan.m4.
19148         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
19149         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
19150         instead of isnan.c.
19151         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
19152         instead of HAVE_ISNAN_IN_LIBC.
19153         (isnand): Renamed from isnan.
19154         * lib/isnand.c: New file.
19155         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
19156         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
19157         (Makefile.am): Update.
19158         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
19159         Include isnand.h instead of isnan.h.
19160         (main): Test isnand instead of isnan.
19161         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
19162         isnan-nolibm.
19163         * modules/frexp (Depends-on): Likewise.
19164         * modules/frexp-tests (Depends-on): Likewise.
19165         * modules/frexp-nolibm (Depends-on): Likewise.
19166         * modules/frexp-nolibm-tests (Depends-on): Likewise.
19167         * modules/isfinite (Depends-on): Likewise.
19168         * modules/round-tests (Depends-on): Likewise.
19169         * modules/signbit (Depends-on): Likewise.
19170         * modules/signbit-tests (Depends-on): Likewise.
19171         * modules/snprintf-posix (Depends-on): Likewise.
19172         * modules/sprintf-posix (Depends-on): Likewise.
19173         * modules/trunc-tests (Depends-on): Likewise.
19174         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
19175         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
19176         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
19177         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
19178         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
19179         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
19180         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
19181         * modules/vasnprintf-posix (Depends-on): Likewise.
19182         * modules/vasprintf-posix (Depends-on): Likewise.
19183         * modules/vfprintf-posix (Depends-on): Likewise.
19184         * modules/vsnprintf-posix (Depends-on): Likewise.
19185         * modules/vsprintf-posix (Depends-on): Likewise.
19186         * lib/frexp.c: Include isnand.h instead of isnan.h.
19187         (ISNAN): Set to isnand instead of isnan.
19188         * lib/isfinite.c: Include isnand.h instead of isnan.h.
19189         (gl_isfinited): Use isnand instead of isnan.
19190         * lib/signbitd.c: Include isnand.h instead of isnan.h.
19191         (gl_signbitd): Use isnand instead of isnan.
19192         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
19193         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
19194         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
19195         (main): Use isnand instead of isnan.
19196         * tests/test-round1.c: Include isnand.h.
19197         (main): Use isnand instead of isnan.
19198         * tests/test-round2.c: Include isnand.h instead of isnan.h.
19199         (ISNAN): Set to isnand instead of isnan.
19200         * tests/test-trunc1.c: Include isnand.h.
19201         (main): Use isnand instead of isnan.
19202         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
19203         (equal): Use isnand instead of isnan.
19204         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
19205         isnand-nolibm.
19206         * NEWS: Mention the change.
19207
19208 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
19209             Bruno Haible  <bruno@clisp.org>
19210
19211         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
19212         the GCC builtins for signbits are present and set
19213         REPLACE_SIGNBIT_USING_GCC if so.
19214         * lib/math.in.h (signbit): Define using GCC builtins if
19215         REPLACE_SIGNBIT_USING_GCC is set.
19216         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
19217         REPLACE_SIGNBIT_USING_GCC.
19218         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
19219
19220 2008-01-25  Jim Meyering  <meyering@redhat.com>
19221
19222         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
19223         * lib/poll.c: Include <config.h>, not "config.h".
19224         * tests/test-getaddrinfo.c: Likewise.
19225
19226 2008-01-25  Simon Josefsson  <simon@josefsson.org>
19227
19228         * modules/sockets-tests: New file.
19229
19230 2008-01-24  Simon Josefsson  <simon@josefsson.org>
19231
19232         * modules/sockets: New module, can be used to call WSA_Startup and
19233         WSA_Cleanup when needed.
19234
19235         * lib/sockets.h, lib/sockets.c: New files.
19236
19237         * m4/sockets.m4: New file.
19238
19239         * tests/test-sockets.c: New file.
19240
19241 2008-01-19  Bruno Haible  <bruno@clisp.org>
19242
19243         * doc/posix-headers: Renamed from doc/headers.
19244         * doc/posix-functions: Renamed from doc/functions.
19245         * doc/gnulib.texi: Update.
19246
19247 2008-01-19  Bruno Haible  <bruno@clisp.org>
19248
19249         * doc/glibc-functions/strcasestr.texi: Include contents of
19250         doc/functions/strcasestr.texi, fixing the list of platforms.
19251         * doc/functions/strcasestr.texi: Remove file.
19252
19253 2008-01-19  Bruno Haible  <bruno@clisp.org>
19254
19255         * doc/glibc-functions/memmem.texi: Include contents of
19256         doc/functions/memmem.texi.
19257         * doc/functions/memmem.texi: Remove file.
19258
19259 2008-01-18  Bruno Haible  <bruno@clisp.org>
19260
19261         * doc/glibc-functions/*.texi: New files.
19262         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
19263         to use the new files.
19264
19265 2008-01-17  Bruno Haible  <bruno@clisp.org>
19266
19267         * tests/test-gethostname.c (main): Fix printf statement.
19268
19269 2008-01-17  Simon Josefsson  <simon@josefsson.org>
19270
19271         * modules/gethostname-tests: New file.
19272
19273         * tests/test-gethostname.c: New file.
19274
19275 2008-01-17  Simon Josefsson  <simon@josefsson.org>
19276
19277         * lib/gethostname.c: Include string.h unconditionally, strncpy is
19278         used by the UNAME case.  Reported by Bruno Haible
19279         <bruno@clisp.org>.
19280
19281 2008-01-17  Eric Blake  <ebb9@byu.net>
19282
19283         Convert c-strcasestr to be more efficient.
19284         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
19285         (Depends-on): Add c-strcase, remove malloca, strnlen.
19286         * tests/test-c-strcasestr.c (main): Enhance test.
19287         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
19288
19289 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
19290
19291         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
19292         Use it in creating po/Makevars.
19293
19294 2008-01-15  Simon Josefsson  <simon@josefsson.org>
19295
19296         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
19297         Applications that requires it should initialize libgcrypt
19298         manually.
19299
19300 2008-01-16  Simon Josefsson  <simon@josefsson.org>
19301
19302         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
19303
19304 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
19305
19306         Fix problem with getdate on mingw32 reported by Simon Josefsson
19307         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
19308         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
19309         tzname", when deciding whether to declare tzname.
19310         * lib/strftime.c (tzname): Likewise.
19311
19312 2008-01-15  Bruno Haible  <bruno@clisp.org>
19313
19314         Work around a MacOS X 10.5 bug in frexpl().
19315         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
19316         * doc/functions/frexpl.texi: Document the bug.
19317         Reported by Elias Pipping <pipping@gentoo.org>.
19318
19319 2008-01-14  Eric Blake  <ebb9@byu.net>
19320
19321         Touch up previous patch.
19322         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
19323         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
19324
19325         Convert strcasestr module to use Two-Way algorithm.
19326         * modules/strcasestr-simple: New module, based on the old
19327         strcasestr, but with Two-Way rather than KMP.
19328         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
19329         * lib/string.in.h (rpl_strcasestr): Declare.
19330         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
19331         performance.
19332         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
19333         * modules/string (Makefile.am): Support strcasestr.
19334         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
19335         * modules/strcasestr-tests (Depends-on): Check for alarm.
19336         * tests/test-strcasestr.c: Augment test.
19337         * lib/str-two-way.h: Clean up stray macro.
19338         * NEWS: Document new module.
19339         * MODULES.html.sh (string handling): Likewise.
19340         * doc/functions/strcasestr.texi: New file.
19341         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
19342         here, since it is not a POSIX function.
19343
19344 2008-01-14  Colin Watson  <cjwatson@debian.org>
19345             Bruno Haible  <bruno@clisp.org>
19346
19347         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
19348         works fine; if not, set REPLACE_STRSIGNAL.
19349         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
19350         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
19351         REPLACE_STRSIGNAL.
19352         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
19353         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
19354         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
19355
19356 2008-01-14  Bruno Haible  <bruno@clisp.org>
19357
19358         * modules/strsignal (Include): Change to <string.h>.
19359
19360 2008-01-14  Colin Watson  <cjwatson@debian.org>
19361
19362         * modules/argp (Notice): Add a notice recommending to change
19363         XGETTEXT_OPTIONS.
19364         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
19365
19366 2008-01-13  Colin Watson  <cjwatson@debian.org>
19367
19368         * modules/strsignal-tests: New file.
19369         * tests/test-strsignal.c: New file.
19370
19371         * lib/strsignal.c: New file, from glibc with modifications.
19372         * lib/siglist.h: New file, from glibc with modifications.
19373         * lib/string.in.h (strsignal): New declaration.
19374         * m4/strsignal.m4: New file.
19375         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
19376         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
19377         * modules/strsignal: New file.
19378         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
19379         HAVE_DECL_STRSIGNAL.
19380
19381 2008-01-13  Bruno Haible  <bruno@clisp.org>
19382
19383         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
19384         locale encoding is not ASCII. Needed for OpenBSD 4.0.
19385         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
19386         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
19387
19388 2008-01-13  Bruno Haible  <bruno@clisp.org>
19389
19390         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
19391         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
19392         * lib/argp.h (__attribute__): Likewise.
19393         * lib/c-stack.c (__attribute__): Likewise.
19394         * lib/error.h (__attribute__): Likewise.
19395         * lib/fts.c (__attribute__): Likewise.
19396         * lib/openat.h (__attribute__): Likewise.
19397         * lib/stdio.in.h (__attribute__): Likewise.
19398         * lib/string.in.h (__attribute__): Likewise.
19399         * lib/utimens.c (__attribute__): Likewise.
19400         * lib/vasnprintf.h (__attribute__): Likewise.
19401         * lib/xalloc.h (__attribute__): Likewise.
19402         * lib/xprintf.h (__attribute__): Likewise.
19403         * lib/xstrtol.h (__attribute__): Likewise.
19404         * lib/xvasprintf.h (__attribute__): Likewise.
19405
19406 2008-01-12  Bruno Haible  <bruno@clisp.org>
19407
19408         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
19409         * doc/glibc-headers/a.out.texi: New file.
19410         * doc/glibc-headers/aliases.texi: New file.
19411         * doc/glibc-headers/alloca.texi: New file.
19412         * doc/glibc-headers/ar.texi: New file.
19413         * doc/glibc-headers/argp.texi: New file.
19414         * doc/glibc-headers/argz.texi: New file.
19415         * doc/glibc-headers/byteswap.texi: New file.
19416         * doc/glibc-headers/crypt.texi: New file.
19417         * doc/glibc-headers/endian.texi: New file.
19418         * doc/glibc-headers/envz.texi: New file.
19419         * doc/glibc-headers/err.texi: New file.
19420         * doc/glibc-headers/error.texi: New file.
19421         * doc/glibc-headers/execinfo.texi: New file.
19422         * doc/glibc-headers/fpu_control.texi: New file.
19423         * doc/glibc-headers/fstab.texi: New file.
19424         * doc/glibc-headers/fts.texi: New file.
19425         * doc/glibc-headers/getopt.texi: New file.
19426         * doc/glibc-headers/ieee754.texi: New file.
19427         * doc/glibc-headers/ifaddrs.texi: New file.
19428         * doc/glibc-headers/libintl.texi: New file.
19429         * doc/glibc-headers/mcheck.texi: New file.
19430         * doc/glibc-headers/mntent.texi: New file.
19431         * doc/glibc-headers/obstack.texi: New file.
19432         * doc/glibc-headers/paths.texi: New file.
19433         * doc/glibc-headers/printf.texi: New file.
19434         * doc/glibc-headers/pty.texi: New file.
19435         * doc/glibc-headers/resolv.texi: New file.
19436         * doc/glibc-headers/shadow.texi: New file.
19437         * doc/glibc-headers/sysexits.texi: New file.
19438         * doc/glibc-headers/ttyent.texi: New file.
19439
19440 2008-01-12  Jim Meyering  <meyering@redhat.com>
19441
19442         announce-gen: emit Gnulib's git-based version string.
19443         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
19444         New option --gnulib-version=V, where V is expected to be
19445         the output of running git describe in the gnulib directory.
19446         (get_tool_versions): Request feedback on xdelta.  I suspect it's
19447         not useful, and plan to stop publishing an xdelta file with each
19448         coreutils release.
19449
19450         * build-aux/announce-gen: Also check for lzma-compressed files.
19451
19452 2008-01-11  Bruno Haible  <bruno@clisp.org>
19453
19454         * tests/test-memmem.c (main): Increase maximum allowed time.
19455         * tests/test-strstr.c (main): Likewise.
19456
19457 2008-01-11  Bruno Haible  <bruno@clisp.org>
19458
19459         * doc/functions/memmem.texi: Add more precisions about platforms.
19460         * doc/functions/strstr.texi: Likewise.
19461
19462 2008-01-10  Eric Blake  <ebb9@byu.net>
19463
19464         * m4/strstr.m4: Delete cruft from copy-n-paste.
19465         Reported by Bruno Haible.
19466
19467 2008-01-10  Bruno Haible  <bruno@clisp.org>
19468
19469         Make c-strstr rely on strstr.
19470         * lib/c-strstr.c: Don't include str-kmp.h.
19471         (c_strstr): Define in terms of strstr.
19472         * modules/c-strstr (Files): Remove lib/str-kmp.h.
19473         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
19474
19475 2008-01-10  Bruno Haible  <bruno@clisp.org>
19476
19477         * doc/gnulib.texi (String Functions in C Locale): New section.
19478         * doc/c-ctype.texi: New file.
19479         * doc/c-strcase.texi: New file.
19480         * doc/c-strcaseeq.texi: New file.
19481         * doc/c-strcasestr.texi: New file.
19482         * doc/c-strstr.texi: New file.
19483         * doc/c-strtod.texi: New file.
19484         * doc/c-strtold.texi: New file.
19485
19486 2008-01-10  Eric Blake  <ebb9@byu.net>
19487
19488         * lib/relocatable.h: Fix a comment.
19489
19490 2008-01-10  Eric Blake  <ebb9@byu.net>
19491
19492         Share two-way algorithm.
19493         * lib/str-two-way.h: New file, merged from...
19494         * lib/memmem.c: ...here...
19495         * lib/strstr.c: ...and here.
19496         * modules/memmem (Files): Use it.
19497         * modules/strstr (Files): Likewise.
19498
19499         Avoid quadratic strstr implementations.
19500         * lib/strstr.c: New file.
19501         * m4/strstr.m4: Likewise.
19502         * modules/strstr: Likewise.
19503         * modules/strstr-tests: Likewise.
19504         * tests/test-strstr.c: Likewise.
19505         * lib/string.in.h (rpl_strstr): Declare.
19506         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
19507         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
19508         * modules/string (Makefile.am): Likewise.
19509         * MODULES.html.sh (string handling): Mention new module.
19510         * doc/functions/strstr.texi (strstr): Document the bug.
19511
19512 2008-01-10  Bruno Haible  <bruno@clisp.org>
19513
19514         * lib/relocatable.h (relocate): State whether result is freshly
19515         allocated or not.
19516         * lib/relocatable.c (relocate): Return a freshly allocated string
19517         instead of a pointer to a privately held string.
19518         Reported by Sylvain Beucler <beuc@gnu.org>.
19519
19520 2008-01-10  Colin Watson  <cjwatson@debian.org>
19521
19522         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
19523         s/S_ISNLK/S_ISLNK/.
19524
19525 2008-01-09  Bruno Haible  <bruno@clisp.org>
19526
19527         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
19528         and other files.
19529         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
19530         if it's only a guess.
19531         * modules/memmem: Simplify by depending on memmem-simple.
19532
19533 2008-01-09  Bruno Haible  <bruno@clisp.org>
19534
19535         Work around OpenBSD 4.0 tdelete() bug.
19536         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
19537         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
19538         macros and don't redefine the enum values.
19539         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
19540         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
19541         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
19542
19543 2008-01-09  Bruno Haible  <bruno@clisp.org>
19544
19545         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
19546         (main): Don't perform the tests if setlocale did not install a UTF-8
19547         locale. Needed on OpenBSD 4.0.
19548         * modules/wcwidth-tests (Depends-on): Add localcharset.
19549
19550 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
19551
19552         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
19553         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
19554         * NEWS: announce this.
19555         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
19556
19557 2008-01-09  Simon Josefsson  <simon@josefsson.org>
19558         and Eric Blake  <ebb9@byu.net>
19559
19560         Add memmem-simple module.
19561         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
19562         (gl_FUNC_MEMMEM): Separate performance from presence checks.
19563         * modules/memmem-simple: New file.
19564         * modules/memmem (Description): Tweak.
19565         * MODULES.html.sh (string handling): Mention new module.
19566         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
19567         addressed by memmem-simple.
19568         * NEWS: Document the difference.
19569
19570 2008-01-09  Eric Blake  <ebb9@byu.net>
19571
19572         Give gcc some memmem optimization hints.
19573         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
19574         (strcasestr): Declare as pure.
19575         * modules/memmem (Maintainer): Claim my implementation.
19576
19577 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19578
19579         Support AIX 6.1 and higher.
19580         * build-aux/config.libpath: Likewise.
19581         * build-aux/config.rpath: Likewise.
19582
19583 2008-01-08  Jim Meyering  <meyering@redhat.com>
19584             Bruno Haible  <bruno@clisp.org>
19585
19586         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
19587         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
19588         Reported by Peter Fales in
19589         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
19590
19591 2008-01-08  Bruno Haible  <bruno@clisp.org>
19592
19593         * modules/unictype/category-of (Depends-on): Add
19594         unictype/category-none.
19595         * modules/unictype/category-and-tests (Depends-on): Add
19596         unictype/category-{L,N,Lu,Nd}.
19597         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
19598         * modules/unictype/category-or-tests (Depends-on): Add
19599         unictype/category-{L,N}.
19600         * modules/unictype/category-name-tests (Depends-on): Add
19601         unictype/category-{Z,Nl}.
19602         Reported by Simon Josefsson.
19603
19604 2008-01-08  Bruno Haible  <bruno@clisp.org>
19605
19606         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
19607         convention better.
19608         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
19609         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
19610         Reported by Peter Miller <millerp@canb.auug.org.au>.
19611
19612 2008-01-08  Eric Blake  <ebb9@byu.net>
19613
19614         Rewrite memmem to guarantee linear complexity without malloc.
19615         * lib/memmem.c (memmem): Use Two-Way rather than
19616         Knuth-Morris-Pratt, to allow O(1) space usage.
19617         (critical_factorization, two_way_short_needle)
19618         (two_way_long_needle): New functions.
19619         (knuth_morris_pratt): Delete.
19620         * modules/memmem (Depends-on): No longer need malloca or stdbool.
19621         Add stdint.
19622         * tests/test-memmem.c (main): Add tests for periodic needle and
19623         sublinear performance.
19624         * doc/functions/memmem.texi (memmem): Document other deficiencies
19625         in cygwin and older glibc.
19626
19627 2008-01-08  Bruno Haible  <bruno@clisp.org>
19628
19629         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
19630         augmentation.
19631
19632 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
19633
19634         Add a configure time option: --disable-acl.
19635         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
19636         AC_ARG_ENABLE(acl).
19637
19638 2008-01-06  Simon Josefsson  <simon@josefsson.org>
19639
19640         * tests/test-localename.c: Don't include obsolete "setenv.h".
19641
19642         * modules/localename-tests (Depends-on): Need unsetenv.
19643
19644 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19645
19646         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
19647
19648 2008-01-06  Colin Watson  <cjwatson@debian.org>
19649
19650         * users.txt: Add man-db.
19651
19652 2008-01-07  Bruno Haible  <bruno@clisp.org>
19653
19654         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
19655         previous section name.
19656
19657 2008-01-07  Bruno Haible  <bruno@clisp.org>
19658
19659         * lib/progname.c (set_program_name): Don't strip off a leading
19660         "lt-" prefix outside a .libs directory.
19661         Suggested by Paul Eggert.
19662
19663 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
19664             Bruno Haible  <bruno@clisp.org>
19665
19666         Improve memory cleanup in 'relocatable' module.
19667         * lib/relocatable.h (compute_curr_prefix): Change return type to
19668         'char *'.
19669         * lib/relocatable.c (compute_curr_prefix): Change return type to
19670         'char *'. Free curr_installdir after use.
19671         (relocate): Free curr_prefix_better after use.
19672         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
19673
19674 2008-01-01  Bruno Haible  <bruno@clisp.org>
19675
19676         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
19677         failure on older glibc systems.
19678         Reported by Peter Fales <psfales@alcatel-lucent.com>.
19679
19680 2008-01-05  Eric Blake  <ebb9@byu.net>
19681
19682         Avoid quadratic system memmem.
19683         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
19684         Reported by Ralf Wildenhues.
19685
19686         Fix memmem test for mingw.
19687         * modules/memmem-tests (configure.ac): Check for alarm.
19688         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
19689         it.
19690         * doc/functions/memmem.texi: New file.
19691         * doc/gnulib.texi (Function Substitutes): Add memmem.
19692         Reported by Bruno Haible.
19693
19694 2008-01-04  Bruno Haible  <bruno@clisp.org>
19695
19696         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
19697         Require gl_HEADER_STRINGS_H_DEFAULTS, not
19698         gl_HEADER_STRING_H_DEFAULTS.
19699
19700 2008-01-04  Eric Blake  <ebb9@byu.net>
19701
19702         Shorten duration of memmem test.
19703         * tests/test-memmem.c (main): Use alarm to declare failure if test
19704         is taking too long.
19705         Reported by Ralf Wildenhues.
19706
19707 2007-12-21  Simon Josefsson  <simon@josefsson.org>
19708
19709         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
19710         string, needed by strerror.
19711
19712 2008-01-03  Colin Watson  <cjwatson@debian.org>
19713             Bruno Haible  <bruno@clisp.org>
19714
19715         * doc/gnulib-tool.texi (Localization): New section.
19716
19717 2008-01-02  Bruno Haible  <bruno@clisp.org>
19718
19719         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
19720         variables to 'unsigned char *' type.
19721         Reported by Paul Eggert.
19722
19723 2008-01-02  Jim Meyering  <jim@meyering.net>
19724
19725         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
19726
19727 2007-12-31  Jim Meyering  <jim@meyering.net>
19728
19729         Avoid use of private FTS type name.
19730         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
19731
19732 2007-12-30  Karl Berry  <karl@gnu.org>
19733
19734         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
19735         work around defect in Texinfo and/or the standalone Info browser.
19736
19737 2007-12-30  Bruno Haible  <bruno@clisp.org>
19738
19739         Unify 5 copies of the KMP code.
19740         * lib/str-kmp.h: New file.
19741         * lib/c-strcasestr.c: Include str-kmp.h.
19742         (knuth_morris_pratt): Remove function.
19743         (c_strcasestr): Update.
19744         * lib/c-strstr.c: Include str-kmp.h.
19745         (knuth_morris_pratt): Remove function.
19746         (c_strcasestr): Update.
19747         * lib/mbscasestr.c: Include str-kmp.h.
19748         (knuth_morris_pratt_unibyte): Remove function.
19749         * lib/mbsstr.c: Include str-kmp.h.
19750         (knuth_morris_pratt_unibyte): Remove function.
19751         * lib/strcasestr.c: Include str-kmp.h.
19752         (knuth_morris_pratt): Remove function.
19753         (strcasestr): Update.
19754         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
19755         * modules/c-strstr (Files): Likewise.
19756         * modules/mbscasestr (Files): Likewise.
19757         * modules/mbsstr (Files): Likewise.
19758         * modules/strcasestr (Files): Likewise.
19759         Suggested by Paul Eggert.
19760
19761 2007-12-30  Bruno Haible  <bruno@clisp.org>
19762
19763         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
19764         defined.
19765
19766 2007-12-30  Bruno Haible  <bruno@clisp.org>
19767
19768         * lib/xmalloca.h: Include xalloc.h.
19769         (xnmalloca): New macro.
19770
19771 2007-12-30  Bruno Haible  <bruno@clisp.org>
19772
19773         * lib/malloca.h (nmalloca): New macro.
19774         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
19775         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
19776         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
19777         knuth_morris_pratt_multibyte): Likewise.
19778         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
19779         knuth_morris_pratt_multibyte): Likewise.
19780         * lib/memmem.c (knuth_morris_pratt): Likewise.
19781         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
19782
19783 2007-12-25  Bruno Haible  <bruno@clisp.org>
19784
19785         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
19786         * lib/glob.c: Don't include openat.h.
19787         (link_exists2_p): Add back the code that deals with the
19788         !GLOB_ALTDIRFUNC case.
19789         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
19790         let it do the filename concatenation.
19791         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
19792         * modules/glob (Depends-on): Remove openat.
19793
19794 2007-12-31  Bruno Haible  <bruno@clisp.org>
19795
19796         * modules/dirfd (License): Change to LGPLv2+.
19797         Approved by Jim Meyering.
19798
19799 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
19800
19801         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
19802         when multiplying M by sizeof (size_t).
19803
19804 2007-12-10  Martin Lambers  <marlam@marlam.de>
19805
19806         Override getpagesize on mingw.
19807         * lib/getpagesize.c: New file.
19808         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
19809         * modules/getpagesize (Files): Add lib/getpagesize.c.
19810         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
19811         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19812         REPLACE_GETPAGESIZE.
19813         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
19814
19815 2007-12-25  Bruno Haible  <bruno@clisp.org>
19816
19817         * modules/localcharset (Notice): New field.
19818         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
19819         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
19820
19821 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
19822             Bruno Haible  <bruno@clisp.org>
19823
19824         Avoid using the syntax symbol() in formatted documentation.
19825         * MODULES.html.sh (func_module): When replacing symbol() with a
19826         hyperlink, remove the parentheses. Show an error if some remain.
19827         Recognize and render the '...' syntax.
19828         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
19829         Rework. Add paragraph about GCC's inlining.
19830         * doc/alloca.texi: Likewise.
19831         * doc/error.texi: Remove parentheses from symbol reference.
19832         * doc/gnulib-intro.texi: Likewise.
19833         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
19834         * modules/fnmatch (Description): Reword to say "the ... function".
19835         * modules/full-read (Description): Likewise.
19836         * modules/full-write (Description): Likewise.
19837         * modules/safe-read (Description): Likewise.
19838         * modules/safe-write (Description): Likewise.
19839         * modules/strchrnul (Description): Likewise.
19840         * modules/trim (Description): Likewise.
19841         * modules/error (Description): Remove parentheses from symbol
19842         references.
19843         * modules/verror (Description): Likewise.
19844         Reported by Karl Berry.
19845
19846 2007-12-25  Bruno Haible  <bruno@clisp.org>
19847
19848         Fixup after 2007-10-16 commit.
19849         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
19850
19851 2007-12-24  Bruno Haible  <bruno@clisp.org>
19852
19853         Make --enable-relocatable work with DESTDIR.
19854         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
19855         to compute installdir from destprog.
19856         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
19857         also set the RELOC_DESTDIR variable.
19858         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
19859
19860 2007-12-24  Bruno Haible  <bruno@clisp.org>
19861
19862         Fix link error due to xalloc_die().
19863         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
19864         of xreadlink.
19865         * lib/relocwrapper.c: Update comments.
19866         * build-aux/install-reloc: Remove xreadlink.c from file list.
19867         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
19868         xreadlink.c.
19869         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
19870
19871 2007-12-24  Bruno Haible  <bruno@clisp.org>
19872
19873         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
19874         * lib/setenv.h: Remove file.
19875         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
19876         lib/setenv.h.
19877         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
19878         (Depends-on): Add stdlib.
19879         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
19880         gl_FUNC_UNSETENV.
19881         (Include): Replace setenv.h with <stdlib.h>.
19882         * modules/unsetenv: New file.
19883         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
19884         * lib/unsetenv.c: Include <stdlib.h> first.
19885         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
19886         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
19887         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
19888         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
19889         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
19890         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
19891         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
19892         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
19893         * doc/functions/unsetenv.texi: Update.
19894         * modules/xsetenv (Depends-on): Add unsetenv.
19895         * modules/getdate (Depends-on): Likewise.
19896         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
19897         * lib/xsetenv.c: Don't include setenv.h.
19898         * lib/getdate.y: Likewise.
19899         * lib/relocwrapper.c: Likewise.
19900         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
19901         (Depends-on): Add stdlib.
19902         * NEWS: Mention the changes.
19903         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
19904
19905 2007-12-23  Bruno Haible  <bruno@clisp.org>
19906
19907         * lib/memmem.c (memmem): Use lowercase variable names. Tab
19908         indentation.
19909
19910 2007-12-23  Bruno Haible  <bruno@clisp.org>
19911
19912         * lib/c-strcasestr.c: Add more comments.
19913         * lib/c-strstr.c: Likewise.
19914         * lib/mbscasestr.c: Likewise.
19915         * lib/mbsstr.c: Likewise.
19916         * lib/strcasestr.c: Likewise.
19917         * lib/memmem.c: Likewise.
19918
19919 2007-12-23  Bruno Haible  <bruno@clisp.org>
19920
19921         * tests/test-memmem.c: Include <string.h> first.
19922
19923 2007-12-22  Bruno Haible  <bruno@clisp.org>
19924
19925         * gnulib-tool (func_create_testdir): Change $auxdir while generating
19926         the contents of $testsbase.
19927         Reported by Ralf Wildenhues.
19928
19929 2007-12-22  Bruno Haible  <bruno@clisp.org>
19930
19931         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
19932         two variables local_ldadd_before, local_ldadd_last.
19933
19934 2007-12-20  Eric Blake  <ebb9@byu.net>
19935
19936         Work around circular library issue when cross-compiling.
19937         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
19938         that progname.o does not need to pull in rpl_memcmp.
19939
19940 2007-12-19  Eric Blake  <ebb9@byu.net>
19941
19942         Fix memmem to avoid O(n^2) worst-case complexity.
19943         * lib/memmem.c (knuth_morris_pratt): New function.
19944         (memmem): Use it if first few naive iterations fail.
19945         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
19946         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
19947         * modules/memchr (License): Likewise.
19948         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
19949         malloca.
19950         * tests/test-memmem.c: Rewrite, borrowing ideas from
19951         test-mbsstr1.c; the old version wouldn't even compile!
19952         * modules/memmem-tests: New file.
19953         * lib/string.in.h (rpl_memmem): Add declaration.
19954         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
19955         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
19956         REPLACE_MEMMEM.
19957
19958 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
19959
19960         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
19961         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
19962         before any system include files, and undef after them all.  This
19963         should fix a problem on VMS reported by John E. Malmberg in
19964         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
19965
19966 2007-12-17  Eric Blake  <ebb9@byu.net>
19967
19968         Revert addition of verify, for BSD/OS.
19969         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
19970         can't handle large files, for the sake of obsolete platforms.
19971         * modules/fseeko (Depends-on): Remove verify.
19972         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
19973         * doc/functions/ftello.texi (ftello): Likewise.
19974         * doc/functions/fgetpos.texi (fgetpos): Likewise.
19975         Reported by Larry Jones.
19976
19977 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
19978
19979         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
19980         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
19981
19982 2007-12-17  Jim Meyering  <meyering@redhat.com>
19983
19984         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
19985         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
19986         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
19987         * modules/getcwd (Depends-on): Add openat.
19988         Reported by Petr Salinger.
19989
19990 2007-12-17  Bruno Haible  <bruno@clisp.org>
19991
19992         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
19993         avoid a segmentation fault of the configure test on x86_64 systems.
19994
19995 2007-12-15  Jim Meyering  <meyering@redhat.com>
19996
19997         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
19998
19999 2007-12-13  Eric Blake  <ebb9@byu.net>
20000
20001         Another fseek test.
20002         * tests/test-fseek.c (main): Also test ungetc handling.
20003         * tests/test-fseeko.c (main): Likewise.
20004         * modules/fseeko (Depends-on): Add verify.
20005         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
20006         large.
20007         Reported by Larry Jones.
20008
20009         Fix fseeko on mingw.
20010         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
20011         seek.
20012
20013         Beef up fseek tests.
20014         * tests/test-fseek.c (main): Also test eof handling.
20015         * tests/test-fseeko.c (main): Likewise.
20016         Reported by Larry Jones.
20017
20018 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
20019
20020         Fix fseeko on BSD-based platforms.
20021         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
20022         successful seek.
20023
20024 2007-12-12  Eric Blake  <ebb9@byu.net>
20025
20026         Allow circular dependency of separate libtests.a
20027         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
20028         when use_libtests.
20029
20030 2007-12-11  Eric Blake  <ebb9@byu.net>
20031
20032         Fix bug with -0.0L in previous patch.
20033         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
20034         * tests/test-isnan.c (main): Also test on zeroes.
20035         * tests/test-isnanf.c (main): Likewise.
20036         * tests/test-isnanl.h (main): Likewise.
20037
20038         Detect pseudo-denormals on x86 even when cross-compiling.
20039         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
20040         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
20041         invalid bit patterns that happen to satisfy ==.
20042
20043         Avoid link failures with separate libtests.a.
20044         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
20045         last, to satisfy circular dependencies.
20046
20047 2007-12-11  Eric Blake  <ebb9@byu.net>
20048         and Bruno Haible  <bruno@clisp.org>
20049
20050         Fix OpenBSD 4.0 <float.h> handling of long double.
20051         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
20052         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
20053         * doc/headers/float.texi (float.h): Document OpenBSD bug.
20054
20055 2007-12-11  Jim Meyering  <meyering@redhat.com>
20056
20057         * users.txt: Add libvirt.
20058
20059         Support versions of autoconf prior to 2.59c.
20060         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
20061         if it is not already defined.
20062
20063 2007-12-09  Bruno Haible  <bruno@clisp.org>
20064
20065         Let 'gnulib-tool --import' collect sources needed for the tests in
20066         tests/ rather than in lib/.
20067         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
20068         argument. If true, add rules to generate libtests.a, and put libtests.a
20069         into $(LDADD). Consider source files in subdirectories and set
20070         uses_subdirs.
20071         (func_emit_initmacro_start, func_emit_initmacro_end,
20072         func_emit_initmacro_done): Pass all arguments explicitly.
20073         (func_import): Determine two module lists main_modules,
20074         testsrelated_modules. Determine use_libtests. Determine two variables
20075         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
20076         instead of just sed_transform_lib_file. Determine two variables
20077         main_files and testsrelated_files. Compute 'files' as the union of
20078         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
20079         func_add_or_update. In the generated gnulib-comp.m4, collect the
20080         object files for tests/ in different variables than those for lib/.
20081         Substitute LIBTESTS_LIBDEPS.
20082         (func_create_testdir): Combine the uses_subdirs results from
20083         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
20084
20085 2007-12-09  Bruno Haible  <bruno@clisp.org>
20086
20087         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
20088         the build-aux directory.
20089
20090 2007-12-09  Bruno Haible  <bruno@clisp.org>
20091
20092         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
20093         introduced on 2006-09-09.
20094
20095 2007-12-07  Jim Meyering  <meyering@redhat.com>
20096
20097         Let these macros work also with autoconf-2.59.
20098         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
20099         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
20100         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
20101
20102 2007-12-06  Jim Meyering  <meyering@redhat.com>
20103
20104         Avoid a configure-time syntax error in gl_FUNC_ACL.
20105         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
20106         function in each branch, before testing the cache variable.
20107
20108 2007-12-04  Eric Blake  <ebb9@byu.net>
20109
20110         Make scripts executable.
20111         * build-aux/config.guess: Add execute permissions.
20112         * build-aux/config.sub: Likewise.
20113         * build-aux/gendocs.sh: Likewise.
20114
20115         Fix frexp on mingw.
20116         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
20117         cross-compiling.
20118         * doc/functions/frexp.texi (frexp): Document the bug.
20119
20120         Make cygwin fseeko check more reliable.
20121         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
20122         version numbers, rather than unrelated feature check.
20123         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
20124         * doc/functions/ftello.texi (ftello): Likewise.
20125         Reported by Bruno Haible.
20126
20127         * m4/strerror.m4: Bump version number.
20128
20129 2007-12-03  Bruno Haible  <bruno@clisp.org>
20130
20131         * doc/functions/mprotect.texi: Mention the mingw problem.
20132
20133 2007-12-03  Eric Blake  <ebb9@byu.net>
20134
20135         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
20136         REPLACE_STRERROR is initialized before this macro.
20137
20138 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
20139
20140         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
20141         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
20142         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
20143         put -lsec in even for programs other than 'ls'.  This fixes a problem
20144         for gettext reported by Bruno Haible in
20145         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
20146         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
20147         Add support for Solaris 10.  This isn't efficient, but should get the
20148         job done for now.
20149
20150 2007-12-03  James Youngman  <jay@gnu.org>
20151
20152         * doc/regexprops-generic.texi: change "an close-group" to "a
20153         close-group" and "illegal" to "not allowed".
20154
20155 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20156
20157         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
20158         pr_byname.h. Needed for the rare case when the maintainer has done
20159         "make maintainer-clean" in the source directory and then attempts a
20160         build outside the source directory.
20161         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
20162         scripts_byname.h.
20163
20164 2007-12-02  Martin Lambers <marlam@marlam.de>
20165             Bruno Haible  <bruno@clisp.org>
20166
20167         * lib/getpagesize.h: Remove file.
20168         * lib/unistd.in.h: Include declaration of getpagesize here.
20169         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
20170         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
20171         HAVE_SYS_PARAM_H.
20172         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
20173         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
20174         * modules/getpagesize (Files): Remove lib/getpagesize.h.
20175         (Depends-on): Add unistd.
20176         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20177         (Include): Use <unistd.h> instead of getpagesize.h.
20178         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
20179         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
20180         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
20181         gl_GETPAGESIZE invocation, already handled by module dependency.
20182         * lib/pagealign_alloc.c: Don't include getpagesize.h.
20183
20184 2007-12-02  Bruno Haible  <bruno@clisp.org>
20185
20186         * modules/strings-tests: New file.
20187         * tests/test-strings.c: New file.
20188
20189         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
20190         * lib/strings.in.h: New file.
20191         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
20192         * m4/strings_h.m4: New file.
20193         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
20194         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
20195         * modules/strings: New file.
20196         * modules/string (Makefile.am): Update.
20197         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
20198         Reported by Karl Berry.
20199
20200 2007-12-01  Eric Blake  <ebb9@byu.net>
20201
20202         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
20203         accomodate fix in cygwin 1.5.25.
20204
20205 2007-12-01  Jim Meyering  <meyering@redhat.com>
20206
20207         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
20208         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
20209         that would inhibit utf8-optimization of a regexp containing line-
20210         or buffer-anchors, e.g., `^', `$'.
20211
20212 2007-11-30  Bruno Haible  <bruno@clisp.org>
20213
20214         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
20215         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
20216         glthread_recursive_lock_init.
20217         * lib/lock.c (glthread_recursive_lock_init)
20218         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
20219         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
20220
20221 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
20222
20223         New function qset_acl, like set_acl but with syscall semantics.
20224         * lib/acl.h (qset_acl): New decl.
20225         * lib/acl.c (qset_acl): New function.
20226         (set_acl): Use new function.  Use more-consistent diagnostics.
20227
20228 2007-11-28  Jim Meyering  <meyering@redhat.com>
20229
20230         * modules/physmem (License): Change from GPL to LGPLv2+.
20231
20232 2007-11-26  Bruno Haible  <bruno@clisp.org>
20233
20234         * lib/vasnprintf.c (decode_long_double): Don't abort if the
20235         'long double' type has excess precision.
20236         Reported by Jim Meyering in
20237         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
20238
20239 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20240
20241         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
20242         Sync from <http://gnu.org/licenses>.
20243         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
20244         with license text from same location.
20245         * doc/maintain.texi, doc/standards.texi:  Sync from
20246         <http://savannah.gnu.org/projects/gnustandards>.
20247
20248 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
20249         and Jim Meyering  <meyering@redhat.com>
20250
20251         Adjust getdate' grammar to accept a slightly more regular language.
20252         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
20253         Before, the former was rejected.
20254         * lib/getdate.y (digits_to_date_time): New function, factored
20255         out of ...
20256         (number): ...here.  Just call digits_to_date_time.
20257         (hybrid): New non-terminal to handle an <unsigned number,
20258         signed relative offset> sequence consistently.
20259
20260 2007-11-18  Jim Meyering  <meyering@redhat.com>
20261
20262         Pull my changes from coreutils:
20263         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
20264         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
20265         use of $gnulib_tool_option_extras, so that it's separated from the
20266         preceding argument.
20267
20268         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
20269         * build-aux/bootstrap (cp_mark_as_generated): Create any required
20270         parent destination directories before copying a file into place.
20271
20272 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
20273
20274         bootstrap: work also with 4-argument variant of AC_INIT
20275         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
20276
20277 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
20278
20279         Port test-getaddrinfo to Solaris.
20280         Problem reported by Bruno Haible in
20281         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
20282         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
20283         explanation of setting 'hints'.
20284         Don't reject an implementation merely because it returns EAI_SERVICE.
20285         (EAI_SERVICE): Define to 0 if not defined.
20286
20287 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
20288
20289         The license of gnu-make and posix-shell is now "GPLed build tool".
20290         * modules/gnu-make (License): Likewise.
20291         * modules/posix-shell (License): Likewise.
20292
20293         New module posix-shell, for determining a POSIX shell
20294         or perhaps something that is close enough to a POSIX shell.
20295         * m4/posix-shell.m4: New file.
20296         * modules/posix-shell: New file.
20297
20298         * MODULES.html.sh: Mention new module.
20299
20300         New module gnu-make, for determining whether we're using GNU Make.
20301         * m4/gnu-make.m4: New file.
20302         * modules/gnu-make: New file.
20303         * MODULES.html.sh: Mention new module.
20304
20305 2007-11-14  Jim Meyering  <meyering@redhat.com>
20306
20307         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
20308         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
20309         use this macro to create a function _definition_.
20310         Remove useless "#undef ARGMATCH_DIE".
20311
20312 2007-11-14  Bruno Haible  <bruno@clisp.org>
20313
20314         * lib/config.charset: Update for OpenBSD 4.1.
20315         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
20316
20317 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
20318
20319         Document 64-bit #if problems in stdint.texi.
20320         * doc/headers/stdint.texi (stdint.h): Mention problems with
20321         64-bit-#if, and how to work around them.
20322
20323         Don't insist on 'long long int' support in the preprocessor.  It
20324         breaks too many things.  For example, PRIdMAX still uses a 'long
20325         long int' format with the latest Sun compiler, even though
20326         HAVE_LONG_LONG_INT isn't defined due to that compiler's
20327         preprocessor problem.  This causes the latest coreutils to dump
20328         core on Solaris 10 sparc with the Sun C compiler.
20329         Instead, fix the 2007-10-16 problem in a different way, by evaluating
20330         the troublesome expressions at configure-time, not at #if-time.
20331         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
20332         preprocessor.
20333         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
20334         compile-time C checks, done at 'configure'-time.
20335         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
20336         * modules/inttypes (Makefile): Substitute the new symbols that
20337         gl_INTTYPES_H now generates.
20338         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
20339
20340 2007-11-12  Bruno Haible  <bruno@clisp.org>
20341
20342         Tests for Unicode character classification functions.
20343
20344         * modules/unictype/bidicategory-byname-tests: New file.
20345         * modules/unictype/bidicategory-name-tests: New file.
20346         * modules/unictype/bidicategory-of-tests: New file.
20347         * modules/unictype/bidicategory-test-tests: New file.
20348         * modules/unictype/block-list-tests: New file.
20349         * modules/unictype/block-of-tests: New file.
20350         * modules/unictype/block-test-tests: New file.
20351         * modules/unictype/category-C-tests: New file.
20352         * modules/unictype/category-Cc-tests: New file.
20353         * modules/unictype/category-Cf-tests: New file.
20354         * modules/unictype/category-Cn-tests: New file.
20355         * modules/unictype/category-Co-tests: New file.
20356         * modules/unictype/category-Cs-tests: New file.
20357         * modules/unictype/category-L-tests: New file.
20358         * modules/unictype/category-Ll-tests: New file.
20359         * modules/unictype/category-Lm-tests: New file.
20360         * modules/unictype/category-Lo-tests: New file.
20361         * modules/unictype/category-Lt-tests: New file.
20362         * modules/unictype/category-Lu-tests: New file.
20363         * modules/unictype/category-M-tests: New file.
20364         * modules/unictype/category-Mc-tests: New file.
20365         * modules/unictype/category-Me-tests: New file.
20366         * modules/unictype/category-Mn-tests: New file.
20367         * modules/unictype/category-N-tests: New file.
20368         * modules/unictype/category-Nd-tests: New file.
20369         * modules/unictype/category-Nl-tests: New file.
20370         * modules/unictype/category-No-tests: New file.
20371         * modules/unictype/category-P-tests: New file.
20372         * modules/unictype/category-Pc-tests: New file.
20373         * modules/unictype/category-Pd-tests: New file.
20374         * modules/unictype/category-Pe-tests: New file.
20375         * modules/unictype/category-Pf-tests: New file.
20376         * modules/unictype/category-Pi-tests: New file.
20377         * modules/unictype/category-Po-tests: New file.
20378         * modules/unictype/category-Ps-tests: New file.
20379         * modules/unictype/category-S-tests: New file.
20380         * modules/unictype/category-Sc-tests: New file.
20381         * modules/unictype/category-Sk-tests: New file.
20382         * modules/unictype/category-Sm-tests: New file.
20383         * modules/unictype/category-So-tests: New file.
20384         * modules/unictype/category-Z-tests: New file.
20385         * modules/unictype/category-Zl-tests: New file.
20386         * modules/unictype/category-Zp-tests: New file.
20387         * modules/unictype/category-Zs-tests: New file.
20388         * modules/unictype/category-and-not-tests: New file.
20389         * modules/unictype/category-and-tests: New file.
20390         * modules/unictype/category-byname-tests: New file.
20391         * modules/unictype/category-name-tests: New file.
20392         * modules/unictype/category-none-tests: New file.
20393         * modules/unictype/category-of-tests: New file.
20394         * modules/unictype/category-or-tests: New file.
20395         * modules/unictype/category-test-withtable-tests: New file.
20396         * modules/unictype/combining-class-tests: New file.
20397         * modules/unictype/ctype-alnum-tests: New file.
20398         * modules/unictype/ctype-alpha-tests: New file.
20399         * modules/unictype/ctype-blank-tests: New file.
20400         * modules/unictype/ctype-cntrl-tests: New file.
20401         * modules/unictype/ctype-digit-tests: New file.
20402         * modules/unictype/ctype-graph-tests: New file.
20403         * modules/unictype/ctype-lower-tests: New file.
20404         * modules/unictype/ctype-print-tests: New file.
20405         * modules/unictype/ctype-punct-tests: New file.
20406         * modules/unictype/ctype-space-tests: New file.
20407         * modules/unictype/ctype-upper-tests: New file.
20408         * modules/unictype/ctype-xdigit-tests: New file.
20409         * modules/unictype/decimal-digit-tests: New file.
20410         * modules/unictype/digit-tests: New file.
20411         * modules/unictype/mirror-tests: New file.
20412         * modules/unictype/numeric-tests: New file.
20413         * modules/unictype/property-alphabetic-tests: New file.
20414         * modules/unictype/property-ascii-hex-digit-tests: New file.
20415         * modules/unictype/property-bidi-arabic-digit-tests: New file.
20416         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
20417         * modules/unictype/property-bidi-block-separator-tests: New file.
20418         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
20419         * modules/unictype/property-bidi-common-separator-tests: New file.
20420         * modules/unictype/property-bidi-control-tests: New file.
20421         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
20422         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
20423         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
20424         * modules/unictype/property-bidi-european-digit-tests: New file.
20425         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
20426         * modules/unictype/property-bidi-left-to-right-tests: New file.
20427         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
20428         * modules/unictype/property-bidi-other-neutral-tests: New file.
20429         * modules/unictype/property-bidi-pdf-tests: New file.
20430         * modules/unictype/property-bidi-segment-separator-tests: New file.
20431         * modules/unictype/property-bidi-whitespace-tests: New file.
20432         * modules/unictype/property-byname-tests: New file.
20433         * modules/unictype/property-combining-tests: New file.
20434         * modules/unictype/property-composite-tests: New file.
20435         * modules/unictype/property-currency-symbol-tests: New file.
20436         * modules/unictype/property-dash-tests: New file.
20437         * modules/unictype/property-decimal-digit-tests: New file.
20438         * modules/unictype/property-default-ignorable-code-point-tests: New file.
20439         * modules/unictype/property-deprecated-tests: New file.
20440         * modules/unictype/property-diacritic-tests: New file.
20441         * modules/unictype/property-extender-tests: New file.
20442         * modules/unictype/property-format-control-tests: New file.
20443         * modules/unictype/property-grapheme-base-tests: New file.
20444         * modules/unictype/property-grapheme-extend-tests: New file.
20445         * modules/unictype/property-grapheme-link-tests: New file.
20446         * modules/unictype/property-hex-digit-tests: New file.
20447         * modules/unictype/property-hyphen-tests: New file.
20448         * modules/unictype/property-id-continue-tests: New file.
20449         * modules/unictype/property-id-start-tests: New file.
20450         * modules/unictype/property-ideographic-tests: New file.
20451         * modules/unictype/property-ids-binary-operator-tests: New file.
20452         * modules/unictype/property-ids-trinary-operator-tests: New file.
20453         * modules/unictype/property-ignorable-control-tests: New file.
20454         * modules/unictype/property-iso-control-tests: New file.
20455         * modules/unictype/property-join-control-tests: New file.
20456         * modules/unictype/property-left-of-pair-tests: New file.
20457         * modules/unictype/property-line-separator-tests: New file.
20458         * modules/unictype/property-logical-order-exception-tests: New file.
20459         * modules/unictype/property-lowercase-tests: New file.
20460         * modules/unictype/property-math-tests: New file.
20461         * modules/unictype/property-non-break-tests: New file.
20462         * modules/unictype/property-not-a-character-tests: New file.
20463         * modules/unictype/property-numeric-tests: New file.
20464         * modules/unictype/property-other-alphabetic-tests: New file.
20465         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
20466         * modules/unictype/property-other-grapheme-extend-tests: New file.
20467         * modules/unictype/property-other-id-continue-tests: New file.
20468         * modules/unictype/property-other-id-start-tests: New file.
20469         * modules/unictype/property-other-lowercase-tests: New file.
20470         * modules/unictype/property-other-math-tests: New file.
20471         * modules/unictype/property-other-uppercase-tests: New file.
20472         * modules/unictype/property-paired-punctuation-tests: New file.
20473         * modules/unictype/property-paragraph-separator-tests: New file.
20474         * modules/unictype/property-pattern-syntax-tests: New file.
20475         * modules/unictype/property-pattern-white-space-tests: New file.
20476         * modules/unictype/property-private-use-tests: New file.
20477         * modules/unictype/property-punctuation-tests: New file.
20478         * modules/unictype/property-quotation-mark-tests: New file.
20479         * modules/unictype/property-radical-tests: New file.
20480         * modules/unictype/property-sentence-terminal-tests: New file.
20481         * modules/unictype/property-soft-dotted-tests: New file.
20482         * modules/unictype/property-space-tests: New file.
20483         * modules/unictype/property-terminal-punctuation-tests: New file.
20484         * modules/unictype/property-test-tests: New file.
20485         * modules/unictype/property-titlecase-tests: New file.
20486         * modules/unictype/property-unassigned-code-value-tests: New file.
20487         * modules/unictype/property-unified-ideograph-tests: New file.
20488         * modules/unictype/property-uppercase-tests: New file.
20489         * modules/unictype/property-variation-selector-tests: New file.
20490         * modules/unictype/property-white-space-tests: New file.
20491         * modules/unictype/property-xid-continue-tests: New file.
20492         * modules/unictype/property-xid-start-tests: New file.
20493         * modules/unictype/property-zero-width-tests: New file.
20494         * modules/unictype/scripts-tests: New file.
20495         * modules/unictype/syntax-c-ident-tests: New file.
20496         * modules/unictype/syntax-c-whitespace-tests: New file.
20497         * modules/unictype/syntax-java-ident-tests: New file.
20498         * modules/unictype/syntax-java-whitespace-tests: New file.
20499         * tests/unictype/test-bidi_byname.c: New file.
20500         * tests/unictype/test-bidi_name.c: New file.
20501         * tests/unictype/test-bidi_of.c: New file.
20502         * tests/unictype/test-bidi_test.c: New file.
20503         * tests/unictype/test-block_list.c: New file.
20504         * tests/unictype/test-block_of.c: New file.
20505         * tests/unictype/test-block_test.c: New file.
20506         * tests/unictype/test-categ_and.c: New file.
20507         * tests/unictype/test-categ_and_not.c: New file.
20508         * tests/unictype/test-categ_byname.c: New file.
20509         * tests/unictype/test-categ_name.c: New file.
20510         * tests/unictype/test-categ_none.c: New file.
20511         * tests/unictype/test-categ_of.c: New file.
20512         * tests/unictype/test-categ_or.c: New file.
20513         * tests/unictype/test-categ_test_withtable.c: New file.
20514         * tests/unictype/test-combining.c: New file.
20515         * tests/unictype/test-decdigit.c: New file.
20516         * tests/unictype/test-digit.c: New file.
20517         * tests/unictype/test-mirror.c: New file.
20518         * tests/unictype/test-numeric.c: New file.
20519         * tests/unictype/test-pr_byname.c: New file.
20520         * tests/unictype/test-pr_test.c: New file.
20521         * tests/unictype/test-predicate-part1.h: New file.
20522         * tests/unictype/test-predicate-part2.h: New file.
20523         * tests/unictype/test-scripts.c: New file.
20524         * tests/unictype/test-sy_c_ident.c: New file.
20525         * tests/unictype/test-sy_java_ident.c: New file.
20526
20527         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
20528         for Unicode 5.0.0.
20529         * tests/unictype/test-categ_Cc.c: Likewise.
20530         * tests/unictype/test-categ_Cf.c: Likewise.
20531         * tests/unictype/test-categ_Cn.c: Likewise.
20532         * tests/unictype/test-categ_Co.c: Likewise.
20533         * tests/unictype/test-categ_Cs.c: Likewise.
20534         * tests/unictype/test-categ_L.c: Likewise.
20535         * tests/unictype/test-categ_Ll.c: Likewise.
20536         * tests/unictype/test-categ_Lm.c: Likewise.
20537         * tests/unictype/test-categ_Lo.c: Likewise.
20538         * tests/unictype/test-categ_Lt.c: Likewise.
20539         * tests/unictype/test-categ_Lu.c: Likewise.
20540         * tests/unictype/test-categ_M.c: Likewise.
20541         * tests/unictype/test-categ_Mc.c: Likewise.
20542         * tests/unictype/test-categ_Me.c: Likewise.
20543         * tests/unictype/test-categ_Mn.c: Likewise.
20544         * tests/unictype/test-categ_N.c: Likewise.
20545         * tests/unictype/test-categ_Nd.c: Likewise.
20546         * tests/unictype/test-categ_Nl.c: Likewise.
20547         * tests/unictype/test-categ_No.c: Likewise.
20548         * tests/unictype/test-categ_P.c: Likewise.
20549         * tests/unictype/test-categ_Pc.c: Likewise.
20550         * tests/unictype/test-categ_Pd.c: Likewise.
20551         * tests/unictype/test-categ_Pe.c: Likewise.
20552         * tests/unictype/test-categ_Pf.c: Likewise.
20553         * tests/unictype/test-categ_Pi.c: Likewise.
20554         * tests/unictype/test-categ_Po.c: Likewise.
20555         * tests/unictype/test-categ_Ps.c: Likewise.
20556         * tests/unictype/test-categ_S.c: Likewise.
20557         * tests/unictype/test-categ_Sc.c: Likewise.
20558         * tests/unictype/test-categ_Sk.c: Likewise.
20559         * tests/unictype/test-categ_Sm.c: Likewise.
20560         * tests/unictype/test-categ_So.c: Likewise.
20561         * tests/unictype/test-categ_Z.c: Likewise.
20562         * tests/unictype/test-categ_Zl.c: Likewise.
20563         * tests/unictype/test-categ_Zp.c: Likewise.
20564         * tests/unictype/test-categ_Zs.c: Likewise.
20565         * tests/unictype/test-ctype_alnum.c: Likewise.
20566         * tests/unictype/test-ctype_alpha.c: Likewise.
20567         * tests/unictype/test-ctype_blank.c: Likewise.
20568         * tests/unictype/test-ctype_cntrl.c: Likewise.
20569         * tests/unictype/test-ctype_digit.c: Likewise.
20570         * tests/unictype/test-ctype_graph.c: Likewise.
20571         * tests/unictype/test-ctype_lower.c: Likewise.
20572         * tests/unictype/test-ctype_print.c: Likewise.
20573         * tests/unictype/test-ctype_punct.c: Likewise.
20574         * tests/unictype/test-ctype_space.c: Likewise.
20575         * tests/unictype/test-ctype_upper.c: Likewise.
20576         * tests/unictype/test-ctype_xdigit.c: Likewise.
20577         * tests/unictype/test-decdigit.h: Likewise.
20578         * tests/unictype/test-digit.h: Likewise.
20579         * tests/unictype/test-numeric.h: Likewise.
20580         * tests/unictype/test-pr_alphabetic.c: Likewise.
20581         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
20582         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
20583         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
20584         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
20585         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
20586         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
20587         * tests/unictype/test-pr_bidi_control.c: Likewise.
20588         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
20589         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
20590         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
20591         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
20592         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
20593         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
20594         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
20595         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
20596         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
20597         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
20598         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
20599         * tests/unictype/test-pr_combining.c: Likewise.
20600         * tests/unictype/test-pr_composite.c: Likewise.
20601         * tests/unictype/test-pr_currency_symbol.c: Likewise.
20602         * tests/unictype/test-pr_dash.c: Likewise.
20603         * tests/unictype/test-pr_decimal_digit.c: Likewise.
20604         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
20605         * tests/unictype/test-pr_deprecated.c: Likewise.
20606         * tests/unictype/test-pr_diacritic.c: Likewise.
20607         * tests/unictype/test-pr_extender.c: Likewise.
20608         * tests/unictype/test-pr_format_control.c: Likewise.
20609         * tests/unictype/test-pr_grapheme_base.c: Likewise.
20610         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
20611         * tests/unictype/test-pr_grapheme_link.c: Likewise.
20612         * tests/unictype/test-pr_hex_digit.c: Likewise.
20613         * tests/unictype/test-pr_hyphen.c: Likewise.
20614         * tests/unictype/test-pr_id_continue.c: Likewise.
20615         * tests/unictype/test-pr_id_start.c: Likewise.
20616         * tests/unictype/test-pr_ideographic.c: Likewise.
20617         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
20618         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
20619         * tests/unictype/test-pr_ignorable_control.c: Likewise.
20620         * tests/unictype/test-pr_iso_control.c: Likewise.
20621         * tests/unictype/test-pr_join_control.c: Likewise.
20622         * tests/unictype/test-pr_left_of_pair.c: Likewise.
20623         * tests/unictype/test-pr_line_separator.c: Likewise.
20624         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
20625         * tests/unictype/test-pr_lowercase.c: Likewise.
20626         * tests/unictype/test-pr_math.c: Likewise.
20627         * tests/unictype/test-pr_non_break.c: Likewise.
20628         * tests/unictype/test-pr_not_a_character.c: Likewise.
20629         * tests/unictype/test-pr_numeric.c: Likewise.
20630         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
20631         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
20632         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
20633         * tests/unictype/test-pr_other_id_continue.c: Likewise.
20634         * tests/unictype/test-pr_other_id_start.c: Likewise.
20635         * tests/unictype/test-pr_other_lowercase.c: Likewise.
20636         * tests/unictype/test-pr_other_math.c: Likewise.
20637         * tests/unictype/test-pr_other_uppercase.c: Likewise.
20638         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
20639         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
20640         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
20641         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
20642         * tests/unictype/test-pr_private_use.c: Likewise.
20643         * tests/unictype/test-pr_punctuation.c: Likewise.
20644         * tests/unictype/test-pr_quotation_mark.c: Likewise.
20645         * tests/unictype/test-pr_radical.c: Likewise.
20646         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
20647         * tests/unictype/test-pr_soft_dotted.c: Likewise.
20648         * tests/unictype/test-pr_space.c: Likewise.
20649         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
20650         * tests/unictype/test-pr_titlecase.c: Likewise.
20651         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
20652         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
20653         * tests/unictype/test-pr_uppercase.c: Likewise.
20654         * tests/unictype/test-pr_variation_selector.c: Likewise.
20655         * tests/unictype/test-pr_white_space.c: Likewise.
20656         * tests/unictype/test-pr_xid_continue.c: Likewise.
20657         * tests/unictype/test-pr_xid_start.c: Likewise.
20658         * tests/unictype/test-pr_zero_width.c: Likewise.
20659         * tests/unictype/test-sy_c_whitespace.c: Likewise.
20660         * tests/unictype/test-sy_java_whitespace.c: Likewise.
20661
20662 2007-11-12  Bruno Haible  <bruno@clisp.org>
20663
20664         Unicode character classification functions.
20665         * lib/unictype.h: New file.
20666         * modules/unictype/base: New file.
20667         * modules/unictype/category-L: New file.
20668         * modules/unictype/category-Lu: New file.
20669         * modules/unictype/category-Ll: New file.
20670         * modules/unictype/category-Lt: New file.
20671         * modules/unictype/category-Lm: New file.
20672         * modules/unictype/category-Lo: New file.
20673         * modules/unictype/category-M: New file.
20674         * modules/unictype/category-Mn: New file.
20675         * modules/unictype/category-Mc: New file.
20676         * modules/unictype/category-Me: New file.
20677         * modules/unictype/category-N: New file.
20678         * modules/unictype/category-Nd: New file.
20679         * modules/unictype/category-Nl: New file.
20680         * modules/unictype/category-No: New file.
20681         * modules/unictype/category-P: New file.
20682         * modules/unictype/category-Pc: New file.
20683         * modules/unictype/category-Pd: New file.
20684         * modules/unictype/category-Ps: New file.
20685         * modules/unictype/category-Pe: New file.
20686         * modules/unictype/category-Pi: New file.
20687         * modules/unictype/category-Pf: New file.
20688         * modules/unictype/category-Po: New file.
20689         * modules/unictype/category-S: New file.
20690         * modules/unictype/category-Sm: New file.
20691         * modules/unictype/category-Sc: New file.
20692         * modules/unictype/category-Sk: New file.
20693         * modules/unictype/category-So: New file.
20694         * modules/unictype/category-Z: New file.
20695         * modules/unictype/category-Zs: New file.
20696         * modules/unictype/category-Zl: New file.
20697         * modules/unictype/category-Zp: New file.
20698         * modules/unictype/category-C: New file.
20699         * modules/unictype/category-Cc: New file.
20700         * modules/unictype/category-Cf: New file.
20701         * modules/unictype/category-Cs: New file.
20702         * modules/unictype/category-Co: New file.
20703         * modules/unictype/category-Cn: New file.
20704         * modules/unictype/category-or: New file.
20705         * modules/unictype/category-of: New file.
20706         * modules/unictype/category-test: New file.
20707         * modules/unictype/category-test-withtable: New file.
20708         * modules/unictype/category-byname: New file.
20709         * modules/unictype/category-none: New file.
20710         * modules/unictype/category-and: New file.
20711         * modules/unictype/category-and-not: New file.
20712         * modules/unictype/category-name: New file.
20713         * modules/unictype/combining-class: New file.
20714         * modules/unictype/category-all: New file.
20715         * modules/unictype/bidicategory-all: New file.
20716         * modules/unictype/bidicategory-byname: New file.
20717         * modules/unictype/bidicategory-name: New file.
20718         * modules/unictype/bidicategory-of: New file.
20719         * modules/unictype/bidicategory-test: New file.
20720         * modules/unictype/decimal-digit: New file.
20721         * modules/unictype/digit: New file.
20722         * modules/unictype/numeric: New file.
20723         * modules/unictype/mirror: New file.
20724         * modules/unictype/property-white-space: New file.
20725         * modules/unictype/property-alphabetic: New file.
20726         * modules/unictype/property-other-alphabetic: New file.
20727         * modules/unictype/property-not-a-character: New file.
20728         * modules/unictype/property-default-ignorable-code-point: New file.
20729         * modules/unictype/property-other-default-ignorable-code-point: New
20730         file.
20731         * modules/unictype/property-deprecated: New file.
20732         * modules/unictype/property-logical-order-exception: New file.
20733         * modules/unictype/property-variation-selector: New file.
20734         * modules/unictype/property-private-use: New file.
20735         * modules/unictype/property-unassigned-code-value: New file.
20736         * modules/unictype/property-uppercase: New file.
20737         * modules/unictype/property-other-uppercase: New file.
20738         * modules/unictype/property-lowercase: New file.
20739         * modules/unictype/property-other-lowercase: New file.
20740         * modules/unictype/property-titlecase: New file.
20741         * modules/unictype/property-soft-dotted: New file.
20742         * modules/unictype/property-id-start: New file.
20743         * modules/unictype/property-other-id-start: New file.
20744         * modules/unictype/property-id-continue: New file.
20745         * modules/unictype/property-other-id-continue: New file.
20746         * modules/unictype/property-xid-start: New file.
20747         * modules/unictype/property-xid-continue: New file.
20748         * modules/unictype/property-pattern-white-space: New file.
20749         * modules/unictype/property-pattern-syntax: New file.
20750         * modules/unictype/property-join-control: New file.
20751         * modules/unictype/property-grapheme-base: New file.
20752         * modules/unictype/property-grapheme-extend: New file.
20753         * modules/unictype/property-other-grapheme-extend: New file.
20754         * modules/unictype/property-grapheme-link: New file.
20755         * modules/unictype/property-bidi-control: New file.
20756         * modules/unictype/property-bidi-left-to-right: New file.
20757         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
20758         * modules/unictype/property-bidi-arabic-right-to-left: New file.
20759         * modules/unictype/property-bidi-european-digit: New file.
20760         * modules/unictype/property-bidi-eur-num-separator: New file.
20761         * modules/unictype/property-bidi-eur-num-terminator: New file.
20762         * modules/unictype/property-bidi-arabic-digit: New file.
20763         * modules/unictype/property-bidi-common-separator: New file.
20764         * modules/unictype/property-bidi-block-separator: New file.
20765         * modules/unictype/property-bidi-segment-separator: New file.
20766         * modules/unictype/property-bidi-whitespace: New file.
20767         * modules/unictype/property-bidi-non-spacing-mark: New file.
20768         * modules/unictype/property-bidi-boundary-neutral: New file.
20769         * modules/unictype/property-bidi-pdf: New file.
20770         * modules/unictype/property-bidi-embedding-or-override: New file.
20771         * modules/unictype/property-bidi-other-neutral: New file.
20772         * modules/unictype/property-hex-digit: New file.
20773         * modules/unictype/property-ascii-hex-digit: New file.
20774         * modules/unictype/property-ideographic: New file.
20775         * modules/unictype/property-unified-ideograph: New file.
20776         * modules/unictype/property-radical: New file.
20777         * modules/unictype/property-ids-binary-operator: New file.
20778         * modules/unictype/property-ids-trinary-operator: New file.
20779         * modules/unictype/property-zero-width: New file.
20780         * modules/unictype/property-space: New file.
20781         * modules/unictype/property-non-break: New file.
20782         * modules/unictype/property-iso-control: New file.
20783         * modules/unictype/property-format-control: New file.
20784         * modules/unictype/property-dash: New file.
20785         * modules/unictype/property-hyphen: New file.
20786         * modules/unictype/property-punctuation: New file.
20787         * modules/unictype/property-line-separator: New file.
20788         * modules/unictype/property-paragraph-separator: New file.
20789         * modules/unictype/property-quotation-mark: New file.
20790         * modules/unictype/property-sentence-terminal: New file.
20791         * modules/unictype/property-terminal-punctuation: New file.
20792         * modules/unictype/property-currency-symbol: New file.
20793         * modules/unictype/property-math: New file.
20794         * modules/unictype/property-other-math: New file.
20795         * modules/unictype/property-paired-punctuation: New file.
20796         * modules/unictype/property-left-of-pair: New file.
20797         * modules/unictype/property-combining: New file.
20798         * modules/unictype/property-composite: New file.
20799         * modules/unictype/property-decimal-digit: New file.
20800         * modules/unictype/property-numeric: New file.
20801         * modules/unictype/property-diacritic: New file.
20802         * modules/unictype/property-extender: New file.
20803         * modules/unictype/property-ignorable-control: New file.
20804         * modules/unictype/property-test: New file.
20805         * modules/unictype/property-byname: New file.
20806         * modules/unictype/property-all: New file.
20807         * modules/unictype/scripts: New file.
20808         * modules/unictype/scripts-all: New file.
20809         * modules/unictype/block-of: New file.
20810         * modules/unictype/block-test: New file.
20811         * modules/unictype/block-list: New file.
20812         * modules/unictype/block-all: New file.
20813         * modules/unictype/syntax-c-whitespace: New file.
20814         * modules/unictype/syntax-java-whitespace: New file.
20815         * modules/unictype/syntax-c-ident: New file.
20816         * modules/unictype/syntax-java-ident: New file.
20817         * modules/unictype/ctype-alnum: New file.
20818         * modules/unictype/ctype-alpha: New file.
20819         * modules/unictype/ctype-cntrl: New file.
20820         * modules/unictype/ctype-digit: New file.
20821         * modules/unictype/ctype-graph: New file.
20822         * modules/unictype/ctype-lower: New file.
20823         * modules/unictype/ctype-print: New file.
20824         * modules/unictype/ctype-punct: New file.
20825         * modules/unictype/ctype-space: New file.
20826         * modules/unictype/ctype-upper: New file.
20827         * modules/unictype/ctype-xdigit: New file.
20828         * modules/unictype/ctype-blank: New file.
20829         * lib/unictype/bidi_byname.c: New file.
20830         * lib/unictype/bidi_name.c: New file.
20831         * lib/unictype/bidi_of.c: New file.
20832         * lib/unictype/bidi_test.c: New file.
20833         * lib/unictype/bitmap.h: New file.
20834         * lib/unictype/block_test.c: New file.
20835         * lib/unictype/blocks.c: New file.
20836         * lib/unictype/categ_C.c: New file.
20837         * lib/unictype/categ_Cc.c: New file.
20838         * lib/unictype/categ_Cf.c: New file.
20839         * lib/unictype/categ_Cn.c: New file.
20840         * lib/unictype/categ_Co.c: New file.
20841         * lib/unictype/categ_Cs.c: New file.
20842         * lib/unictype/categ_L.c: New file.
20843         * lib/unictype/categ_Ll.c: New file.
20844         * lib/unictype/categ_Lm.c: New file.
20845         * lib/unictype/categ_Lo.c: New file.
20846         * lib/unictype/categ_Lt.c: New file.
20847         * lib/unictype/categ_Lu.c: New file.
20848         * lib/unictype/categ_M.c: New file.
20849         * lib/unictype/categ_Mc.c: New file.
20850         * lib/unictype/categ_Me.c: New file.
20851         * lib/unictype/categ_Mn.c: New file.
20852         * lib/unictype/categ_N.c: New file.
20853         * lib/unictype/categ_Nd.c: New file.
20854         * lib/unictype/categ_Nl.c: New file.
20855         * lib/unictype/categ_No.c: New file.
20856         * lib/unictype/categ_P.c: New file.
20857         * lib/unictype/categ_Pc.c: New file.
20858         * lib/unictype/categ_Pd.c: New file.
20859         * lib/unictype/categ_Pe.c: New file.
20860         * lib/unictype/categ_Pf.c: New file.
20861         * lib/unictype/categ_Pi.c: New file.
20862         * lib/unictype/categ_Po.c: New file.
20863         * lib/unictype/categ_Ps.c: New file.
20864         * lib/unictype/categ_S.c: New file.
20865         * lib/unictype/categ_Sc.c: New file.
20866         * lib/unictype/categ_Sk.c: New file.
20867         * lib/unictype/categ_Sm.c: New file.
20868         * lib/unictype/categ_So.c: New file.
20869         * lib/unictype/categ_Z.c: New file.
20870         * lib/unictype/categ_Zl.c: New file.
20871         * lib/unictype/categ_Zp.c: New file.
20872         * lib/unictype/categ_Zs.c: New file.
20873         * lib/unictype/categ_and.c: New file.
20874         * lib/unictype/categ_and_not.c: New file.
20875         * lib/unictype/categ_byname.c: New file.
20876         * lib/unictype/categ_name.c: New file.
20877         * lib/unictype/categ_none.c: New file.
20878         * lib/unictype/categ_of.c: New file.
20879         * lib/unictype/categ_or.c: New file.
20880         * lib/unictype/categ_test.c: New file.
20881         * lib/unictype/combining.c: New file.
20882         * lib/unictype/ctype_alnum.c: New file.
20883         * lib/unictype/ctype_alpha.c: New file.
20884         * lib/unictype/ctype_blank.c: New file.
20885         * lib/unictype/ctype_cntrl.c: New file.
20886         * lib/unictype/ctype_digit.c: New file.
20887         * lib/unictype/ctype_graph.c: New file.
20888         * lib/unictype/ctype_lower.c: New file.
20889         * lib/unictype/ctype_print.c: New file.
20890         * lib/unictype/ctype_punct.c: New file.
20891         * lib/unictype/ctype_space.c: New file.
20892         * lib/unictype/ctype_upper.c: New file.
20893         * lib/unictype/ctype_xdigit.c: New file.
20894         * lib/unictype/decdigit.c: New file.
20895         * lib/unictype/digit.c: New file.
20896         * lib/unictype/identsyntaxmap.h: New file.
20897         * lib/unictype/mirror.c: New file.
20898         * lib/unictype/numeric.c: New file.
20899         * lib/unictype/pr_alphabetic.c: New file.
20900         * lib/unictype/pr_ascii_hex_digit.c: New file.
20901         * lib/unictype/pr_bidi_arabic_digit.c: New file.
20902         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
20903         * lib/unictype/pr_bidi_block_separator.c: New file.
20904         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
20905         * lib/unictype/pr_bidi_common_separator.c: New file.
20906         * lib/unictype/pr_bidi_control.c: New file.
20907         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
20908         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
20909         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
20910         * lib/unictype/pr_bidi_european_digit.c: New file.
20911         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
20912         * lib/unictype/pr_bidi_left_to_right.c: New file.
20913         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
20914         * lib/unictype/pr_bidi_other_neutral.c: New file.
20915         * lib/unictype/pr_bidi_pdf.c: New file.
20916         * lib/unictype/pr_bidi_segment_separator.c: New file.
20917         * lib/unictype/pr_bidi_whitespace.c: New file.
20918         * lib/unictype/pr_byname.c: New file.
20919         * lib/unictype/pr_byname.gperf: New file.
20920         * lib/unictype/pr_combining.c: New file.
20921         * lib/unictype/pr_composite.c: New file.
20922         * lib/unictype/pr_currency_symbol.c: New file.
20923         * lib/unictype/pr_dash.c: New file.
20924         * lib/unictype/pr_decimal_digit.c: New file.
20925         * lib/unictype/pr_default_ignorable_code_point.c: New file.
20926         * lib/unictype/pr_deprecated.c: New file.
20927         * lib/unictype/pr_diacritic.c: New file.
20928         * lib/unictype/pr_extender.c: New file.
20929         * lib/unictype/pr_format_control.c: New file.
20930         * lib/unictype/pr_grapheme_base.c: New file.
20931         * lib/unictype/pr_grapheme_extend.c: New file.
20932         * lib/unictype/pr_grapheme_link.c: New file.
20933         * lib/unictype/pr_hex_digit.c: New file.
20934         * lib/unictype/pr_hyphen.c: New file.
20935         * lib/unictype/pr_id_continue.c: New file.
20936         * lib/unictype/pr_id_start.c: New file.
20937         * lib/unictype/pr_ideographic.c: New file.
20938         * lib/unictype/pr_ids_binary_operator.c: New file.
20939         * lib/unictype/pr_ids_trinary_operator.c: New file.
20940         * lib/unictype/pr_ignorable_control.c: New file.
20941         * lib/unictype/pr_iso_control.c: New file.
20942         * lib/unictype/pr_join_control.c: New file.
20943         * lib/unictype/pr_left_of_pair.c: New file.
20944         * lib/unictype/pr_line_separator.c: New file.
20945         * lib/unictype/pr_logical_order_exception.c: New file.
20946         * lib/unictype/pr_lowercase.c: New file.
20947         * lib/unictype/pr_math.c: New file.
20948         * lib/unictype/pr_non_break.c: New file.
20949         * lib/unictype/pr_not_a_character.c: New file.
20950         * lib/unictype/pr_numeric.c: New file.
20951         * lib/unictype/pr_other_alphabetic.c: New file.
20952         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
20953         * lib/unictype/pr_other_grapheme_extend.c: New file.
20954         * lib/unictype/pr_other_id_continue.c: New file.
20955         * lib/unictype/pr_other_id_start.c: New file.
20956         * lib/unictype/pr_other_lowercase.c: New file.
20957         * lib/unictype/pr_other_math.c: New file.
20958         * lib/unictype/pr_other_uppercase.c: New file.
20959         * lib/unictype/pr_paired_punctuation.c: New file.
20960         * lib/unictype/pr_paragraph_separator.c: New file.
20961         * lib/unictype/pr_pattern_syntax.c: New file.
20962         * lib/unictype/pr_pattern_white_space.c: New file.
20963         * lib/unictype/pr_private_use.c: New file.
20964         * lib/unictype/pr_punctuation.c: New file.
20965         * lib/unictype/pr_quotation_mark.c: New file.
20966         * lib/unictype/pr_radical.c: New file.
20967         * lib/unictype/pr_sentence_terminal.c: New file.
20968         * lib/unictype/pr_soft_dotted.c: New file.
20969         * lib/unictype/pr_space.c: New file.
20970         * lib/unictype/pr_terminal_punctuation.c: New file.
20971         * lib/unictype/pr_test.c: New file.
20972         * lib/unictype/pr_titlecase.c: New file.
20973         * lib/unictype/pr_unassigned_code_value.c: New file.
20974         * lib/unictype/pr_unified_ideograph.c: New file.
20975         * lib/unictype/pr_uppercase.c: New file.
20976         * lib/unictype/pr_variation_selector.c: New file.
20977         * lib/unictype/pr_white_space.c: New file.
20978         * lib/unictype/pr_xid_continue.c: New file.
20979         * lib/unictype/pr_xid_start.c: New file.
20980         * lib/unictype/pr_zero_width.c: New file.
20981         * lib/unictype/scripts.c: New file.
20982         * lib/unictype/sy_c_ident.c: New file.
20983         * lib/unictype/sy_c_whitespace.c: New file.
20984         * lib/unictype/sy_java_ident.c: New file.
20985         * lib/unictype/sy_java_whitespace.c: New file.
20986
20987         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
20988         Unicode 5.0.0.
20989         * lib/unictype/blocks.h: Likewise.
20990         * lib/unictype/categ_C.h: Likewise.
20991         * lib/unictype/categ_Cc.h: Likewise.
20992         * lib/unictype/categ_Cf.h: Likewise.
20993         * lib/unictype/categ_Cn.h: Likewise.
20994         * lib/unictype/categ_Co.h: Likewise.
20995         * lib/unictype/categ_Cs.h: Likewise.
20996         * lib/unictype/categ_L.h: Likewise.
20997         * lib/unictype/categ_Ll.h: Likewise.
20998         * lib/unictype/categ_Lm.h: Likewise.
20999         * lib/unictype/categ_Lo.h: Likewise.
21000         * lib/unictype/categ_Lt.h: Likewise.
21001         * lib/unictype/categ_Lu.h: Likewise.
21002         * lib/unictype/categ_M.h: Likewise.
21003         * lib/unictype/categ_Mc.h: Likewise.
21004         * lib/unictype/categ_Me.h: Likewise.
21005         * lib/unictype/categ_Mn.h: Likewise.
21006         * lib/unictype/categ_N.h: Likewise.
21007         * lib/unictype/categ_Nd.h: Likewise.
21008         * lib/unictype/categ_Nl.h: Likewise.
21009         * lib/unictype/categ_No.h: Likewise.
21010         * lib/unictype/categ_P.h: Likewise.
21011         * lib/unictype/categ_Pc.h: Likewise.
21012         * lib/unictype/categ_Pd.h: Likewise.
21013         * lib/unictype/categ_Pe.h: Likewise.
21014         * lib/unictype/categ_Pf.h: Likewise.
21015         * lib/unictype/categ_Pi.h: Likewise.
21016         * lib/unictype/categ_Po.h: Likewise.
21017         * lib/unictype/categ_Ps.h: Likewise.
21018         * lib/unictype/categ_S.h: Likewise.
21019         * lib/unictype/categ_Sc.h: Likewise.
21020         * lib/unictype/categ_Sk.h: Likewise.
21021         * lib/unictype/categ_Sm.h: Likewise.
21022         * lib/unictype/categ_So.h: Likewise.
21023         * lib/unictype/categ_Z.h: Likewise.
21024         * lib/unictype/categ_Zl.h: Likewise.
21025         * lib/unictype/categ_Zp.h: Likewise.
21026         * lib/unictype/categ_Zs.h: Likewise.
21027         * lib/unictype/categ_of.h: Likewise.
21028         * lib/unictype/combining.h: Likewise.
21029         * lib/unictype/ctype_alnum.h: Likewise.
21030         * lib/unictype/ctype_alpha.h: Likewise.
21031         * lib/unictype/ctype_blank.h: Likewise.
21032         * lib/unictype/ctype_cntrl.h: Likewise.
21033         * lib/unictype/ctype_digit.h: Likewise.
21034         * lib/unictype/ctype_graph.h: Likewise.
21035         * lib/unictype/ctype_lower.h: Likewise.
21036         * lib/unictype/ctype_print.h: Likewise.
21037         * lib/unictype/ctype_punct.h: Likewise.
21038         * lib/unictype/ctype_space.h: Likewise.
21039         * lib/unictype/ctype_upper.h: Likewise.
21040         * lib/unictype/ctype_xdigit.h: Likewise.
21041         * lib/unictype/decdigit.h: Likewise.
21042         * lib/unictype/digit.h: Likewise.
21043         * lib/unictype/mirror.h: Likewise.
21044         * lib/unictype/numeric.h: Likewise.
21045         * lib/unictype/pr_alphabetic.h: Likewise.
21046         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
21047         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
21048         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
21049         * lib/unictype/pr_bidi_block_separator.h: Likewise.
21050         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
21051         * lib/unictype/pr_bidi_common_separator.h: Likewise.
21052         * lib/unictype/pr_bidi_control.h: Likewise.
21053         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
21054         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
21055         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
21056         * lib/unictype/pr_bidi_european_digit.h: Likewise.
21057         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
21058         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
21059         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
21060         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
21061         * lib/unictype/pr_bidi_pdf.h: Likewise.
21062         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
21063         * lib/unictype/pr_bidi_whitespace.h: Likewise.
21064         * lib/unictype/pr_combining.h: Likewise.
21065         * lib/unictype/pr_composite.h: Likewise.
21066         * lib/unictype/pr_currency_symbol.h: Likewise.
21067         * lib/unictype/pr_dash.h: Likewise.
21068         * lib/unictype/pr_decimal_digit.h: Likewise.
21069         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
21070         * lib/unictype/pr_deprecated.h: Likewise.
21071         * lib/unictype/pr_diacritic.h: Likewise.
21072         * lib/unictype/pr_extender.h: Likewise.
21073         * lib/unictype/pr_format_control.h: Likewise.
21074         * lib/unictype/pr_grapheme_base.h: Likewise.
21075         * lib/unictype/pr_grapheme_extend.h: Likewise.
21076         * lib/unictype/pr_grapheme_link.h: Likewise.
21077         * lib/unictype/pr_hex_digit.h: Likewise.
21078         * lib/unictype/pr_hyphen.h: Likewise.
21079         * lib/unictype/pr_id_continue.h: Likewise.
21080         * lib/unictype/pr_id_start.h: Likewise.
21081         * lib/unictype/pr_ideographic.h: Likewise.
21082         * lib/unictype/pr_ids_binary_operator.h: Likewise.
21083         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
21084         * lib/unictype/pr_ignorable_control.h: Likewise.
21085         * lib/unictype/pr_iso_control.h: Likewise.
21086         * lib/unictype/pr_join_control.h: Likewise.
21087         * lib/unictype/pr_left_of_pair.h: Likewise.
21088         * lib/unictype/pr_line_separator.h: Likewise.
21089         * lib/unictype/pr_logical_order_exception.h: Likewise.
21090         * lib/unictype/pr_lowercase.h: Likewise.
21091         * lib/unictype/pr_math.h: Likewise.
21092         * lib/unictype/pr_non_break.h: Likewise.
21093         * lib/unictype/pr_not_a_character.h: Likewise.
21094         * lib/unictype/pr_numeric.h: Likewise.
21095         * lib/unictype/pr_other_alphabetic.h: Likewise.
21096         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
21097         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
21098         * lib/unictype/pr_other_id_continue.h: Likewise.
21099         * lib/unictype/pr_other_id_start.h: Likewise.
21100         * lib/unictype/pr_other_lowercase.h: Likewise.
21101         * lib/unictype/pr_other_math.h: Likewise.
21102         * lib/unictype/pr_other_uppercase.h: Likewise.
21103         * lib/unictype/pr_paired_punctuation.h: Likewise.
21104         * lib/unictype/pr_paragraph_separator.h: Likewise.
21105         * lib/unictype/pr_pattern_syntax.h: Likewise.
21106         * lib/unictype/pr_pattern_white_space.h: Likewise.
21107         * lib/unictype/pr_private_use.h: Likewise.
21108         * lib/unictype/pr_punctuation.h: Likewise.
21109         * lib/unictype/pr_quotation_mark.h: Likewise.
21110         * lib/unictype/pr_radical.h: Likewise.
21111         * lib/unictype/pr_sentence_terminal.h: Likewise.
21112         * lib/unictype/pr_soft_dotted.h: Likewise.
21113         * lib/unictype/pr_space.h: Likewise.
21114         * lib/unictype/pr_terminal_punctuation.h: Likewise.
21115         * lib/unictype/pr_titlecase.h: Likewise.
21116         * lib/unictype/pr_unassigned_code_value.h: Likewise.
21117         * lib/unictype/pr_unified_ideograph.h: Likewise.
21118         * lib/unictype/pr_uppercase.h: Likewise.
21119         * lib/unictype/pr_variation_selector.h: Likewise.
21120         * lib/unictype/pr_white_space.h: Likewise.
21121         * lib/unictype/pr_xid_continue.h: Likewise.
21122         * lib/unictype/pr_xid_start.h: Likewise.
21123         * lib/unictype/pr_zero_width.h: Likewise.
21124         * lib/unictype/scripts.h: Likewise.
21125         * lib/unictype/scripts_byname.gperf: Likewise.
21126         * lib/unictype/sy_c_ident.h: Likewise.
21127         * lib/unictype/sy_c_whitespace.h: Likewise.
21128         * lib/unictype/sy_java_ident.h: Likewise.
21129         * lib/unictype/sy_java_whitespace.h: Likewise.
21130
21131         * lib/unictype/Makefile: New file.
21132         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
21133         glibc.
21134         * lib/unictype/3level.h: New file, copied from glibc.
21135         * lib/unictype/3levelbit.h: New file.
21136
21137 2007-11-11  Bruno Haible  <bruno@clisp.org>
21138
21139         * modules/gperf: New file.
21140         * modules/iconv_open (Depends-on): Add it.
21141         (Makefile.am): Remove the GPERF definition.
21142
21143 2007-11-11  Bruno Haible  <bruno@clisp.org>
21144
21145         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
21146         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
21147
21148 2007-11-11  Bruno Haible  <bruno@clisp.org>
21149
21150         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
21151         (usage): Remove function.
21152
21153 2007-11-11  Bruno Haible  <bruno@clisp.org>
21154
21155         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
21156         gl_FUNC_CEILF_LIBS.
21157         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
21158         gl_FUNC_CEIL_LIBS.
21159         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
21160         gl_FUNC_CEILL_LIBS.
21161         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
21162         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
21163         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
21164
21165 2007-11-11  Bruno Haible  <bruno@clisp.org>
21166
21167         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
21168         roundf were declared but do not exist on functions.
21169         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
21170         roundl were declared but do not exist on functions.
21171         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
21172         HAVE_FLOORL_AND_CEILL, respectively.
21173         Needed for Sun C on Solaris 10.
21174
21175 2007-11-11  Bruno Haible  <bruno@clisp.org>
21176
21177         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
21178         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
21179         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
21180         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
21181         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
21182         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
21183         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
21184         HAVE_DECL_ROUNDF.
21185         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
21186         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
21187         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
21188         of HAVE_DECL_ROUND*.
21189         * modules/math (Makefile.am): Update.
21190
21191 2007-11-10  Bruno Haible  <bruno@clisp.org>
21192
21193         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
21194         ptrdiff_t as m4/intl.m4.
21195
21196 2007-11-10  Jim Meyering  <meyering@redhat.com>
21197
21198         Avoid link failure for the argmatch test.
21199         * tests/test-argmatch.c (usage): Define function to avoid a link
21200         failure: argmatch_die requires a usage function.
21201
21202 2007-11-09  Bruno Haible  <bruno@clisp.org>
21203
21204         * doc/functions/snprintf.texi: Mention BeOS deficiency.
21205         * doc/functions/vsnprintf.texi: Likewise.
21206         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
21207         with a size argument < 2.
21208
21209 2007-11-09  Bruno Haible  <bruno@clisp.org>
21210
21211         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
21212         buffer. Fixes an inefficiency introduced on 2007-11-03.
21213
21214 2007-11-09  Bruno Haible  <bruno@clisp.org>
21215
21216         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
21217         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
21218
21219 2007-11-08  Jim Meyering  <meyering@redhat.com>
21220
21221         Change cache variable name prefix "jm_" to "gl_" everywhere.
21222         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
21223         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
21224         * m4/uptime.m4: s/gl_/jm_/
21225
21226 2007-11-07  Bruno Haible  <bruno@clisp.org>
21227
21228         Update to GNU gettext 0.17.
21229         * m4/intl.m4: Update to GNU gettext 0.17.
21230         * m4/po.m4: Likewise.
21231         * modules/gettext (Files): Remove m4/ulonglong.m4.
21232         (configure.ac): Require gettext infrastructure from version 0.17.
21233
21234 2007-11-06  Bruno Haible  <bruno@clisp.org>
21235
21236         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
21237         symbolic values are not defined in a public header.
21238         * lib/freadable.c (freadable) [QNX]: Likewise.
21239         * lib/freadahead.c (freadahead) [QNX]: Likewise.
21240         * lib/freading.c (freading) [QNX]: Likewise.
21241         * lib/fseterr.c (fseterr) [QNX]: Likewise.
21242         * lib/fwritable.c (fwritable) [QNX]: Likewise.
21243         * lib/fwriting.c (fwriting) [QNX]: Likewise.
21244         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
21245         Reported by Alain Magloire.
21246
21247         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
21248
21249 2007-11-05  Bruno Haible  <bruno@clisp.org>
21250
21251         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
21252         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
21253         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
21254         Reported by Eric Blake.
21255
21256 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21257             Bruno Haible  <bruno@clisp.org>
21258
21259         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
21260         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
21261         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
21262         (malloc): Undefine also before including <stdlib.h>.
21263         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
21264         Needed on OSF/1 4.0.
21265
21266 2007-11-05  Jim Meyering  <meyering@redhat.com>
21267
21268         git-version-gen: sync from coreutils.
21269         * build-aux/git-version-gen: Add comments.
21270         Change the first '-' to '.' in the snapshot version string,
21271         e.g., 6.9-377-08144 -> 6.9.377-08144
21272         Remove first parameter.
21273         Don't declare a version "-dirty" merely because a time
21274         stamp has changed.
21275
21276 2007-11-04  Bruno Haible  <bruno@clisp.org>
21277
21278         * lib/lock.h: Protect all macro definitions containing an 'if'
21279         statement through a "do { ... } while (0)".
21280         * lib/tls.h: Likewise.
21281
21282 2007-11-04  Bruno Haible  <bruno@clisp.org>
21283
21284         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
21285
21286 2007-11-04  Bruno Haible  <bruno@clisp.org>
21287
21288         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
21289         * modules/fprintf-posix (Depends-on): Add nocrash.
21290         * modules/snprintf-posix (Depends-on): Likewise.
21291         * modules/sprintf-posix (Depends-on): Likewise.
21292         * modules/vasnprintf-posix (Depends-on): Likewise.
21293         * modules/vasprintf-posix (Depends-on): Likewise.
21294         * modules/vfprintf-posix (Depends-on): Likewise.
21295         * modules/vsnprintf-posix (Depends-on): Likewise.
21296         * modules/vsprintf-posix (Depends-on): Likewise.
21297         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
21298         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
21299         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
21300         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
21301         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
21302         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
21303         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
21304
21305 2007-11-04  Bruno Haible  <bruno@clisp.org>
21306
21307         * modules/nocrash: New file.
21308         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
21309         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
21310
21311 2007-11-04  Bruno Haible  <bruno@clisp.org>
21312
21313         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
21314         precision handling.
21315         * tests/test-vasprintf-posix.c (test_function): Likewise.
21316         * tests/test-snprintf-posix.h (test_function): Likewise.
21317         * tests/test-sprintf-posix.h (test_function): Likewise.
21318
21319         Fix *printf behaviour for large precisions on mingw and BeOS.
21320         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
21321         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
21322         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
21323         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
21324         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
21325         gl_PRINTF_PRECISION and test its result. Invoke
21326         gl_PREREQ_VASNPRINTF_PRECISION.
21327         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
21328         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
21329         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
21330         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
21331         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
21332         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
21333         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
21334         * doc/functions/fprintf.texi: Update.
21335         * doc/functions/printf.texi: Update.
21336         * doc/functions/snprintf.texi: Update.
21337         * doc/functions/sprintf.texi: Update.
21338         * doc/functions/vfprintf.texi: Update.
21339         * doc/functions/vprintf.texi: Update.
21340         * doc/functions/vsnprintf.texi: Update.
21341         * doc/functions/vsprintf.texi: Update.
21342
21343 2007-11-04  Bruno Haible  <bruno@clisp.org>
21344
21345         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
21346
21347 2007-11-04  Bruno Haible  <bruno@clisp.org>
21348
21349         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
21350         Reported by Sylvain Beucler <beuc@gnu.org>.
21351
21352 2007-11-03  Bruno Haible  <bruno@clisp.org>
21353
21354         * tests/test-fprintf-posix2.sh: New file.
21355         * tests/test-fprintf-posix2.c: New file.
21356         * modules/fprintf-posix-tests (Files): Add them.
21357         (TESTS): Add test-fprintf-posix2.sh.
21358         (configure.ac): Check for getrlimit and setrlimit.
21359         (check_PROGRAMS): Add test-fprintf-posix2.
21360
21361         * tests/test-printf-posix2.sh: New file.
21362         * tests/test-printf-posix2.c: New file.
21363         * modules/printf-posix-tests (Files): Add them.
21364         (TESTS): Add test-printf-posix2.sh.
21365         (configure.ac): Check for getrlimit and setrlimit.
21366         (check_PROGRAMS): Add test-printf-posix2.
21367
21368         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
21369         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
21370         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
21371         (decode_double): New function, copied from decode_long_double.
21372         (scale10_round_decimal_decoded): New function, extracted from
21373         scale10_round_decimal_long_double.
21374         (scale10_round_decimal_long_double): Use it.
21375         (scale10_round_decimal_double): New function.
21376         (floorlog10): New function.
21377         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
21378         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
21379         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
21380         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
21381         gl_PRINTF_ENOMEM and test its result. Invoke
21382         gl_PREREQ_VASNPRINTF_ENOMEM.
21383         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
21384         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
21385         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
21386         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
21387         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
21388         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
21389         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
21390         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
21391         * modules/snprintf-posix (Depends-on): Likewise.
21392         * modules/sprintf-posix (Depends-on): Likewise.
21393         * modules/vasnprintf-posix (Depends-on): Likewise.
21394         * modules/vasprintf-posix (Depends-on): Likewise.
21395         * modules/vfprintf-posix (Depends-on): Likewise.
21396         * modules/vsnprintf-posix (Depends-on): Likewise.
21397         * modules/vsprintf-posix (Depends-on): Likewise.
21398         * doc/functions/fprintf.texi: Update.
21399         * doc/functions/printf.texi: Update.
21400         * doc/functions/snprintf.texi: Update.
21401         * doc/functions/sprintf.texi: Update.
21402         * doc/functions/vfprintf.texi: Update.
21403         * doc/functions/vprintf.texi: Update.
21404         * doc/functions/vsnprintf.texi: Update.
21405         * doc/functions/vsprintf.texi: Update.
21406
21407 2007-11-03  Bruno Haible  <bruno@clisp.org>
21408
21409         * modules/frexp-nolibm-tests: New file.
21410
21411         * modules/frexp-nolibm: New file.
21412         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
21413
21414 2007-11-03  Bruno Haible  <bruno@clisp.org>
21415
21416         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
21417         value is C99 compliant.
21418         Needed for OSF/1 5.1.
21419
21420 2007-11-03  Bruno Haible  <bruno@clisp.org>
21421
21422         Fix out-of-memory handling of vasnprintf.
21423         * lib/printf-parse.c: Include <errno.h>.
21424         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
21425         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
21426         is already set.
21427
21428 2007-11-02  Eric Blake  <ebb9@byu.net>
21429
21430         Fix tests on cygwin.
21431         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
21432
21433 2007-11-01  Bruno Haible  <bruno@clisp.org>
21434
21435         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
21436         warning.
21437         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
21438         needed for POSIX compatibility.
21439
21440 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
21441
21442         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
21443         for compatibility with GNU.
21444
21445 2007-11-01  Bruno Haible  <bruno@clisp.org>
21446
21447         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
21448         (putenv): Renamed from rpl_putenv. Change argument type from
21449         'const char *' to 'char *'.
21450         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
21451         of defining putenv in config.h, just set REPLACE_PUTENV.
21452         * modules/putenv (Depends-on): Add stdlib.
21453         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21454         (Include): Use <stdlib.h>.
21455         * lib/stdlib.in.h (putenv): New declaration.
21456         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
21457         REPLACE_PUTENV.
21458         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
21459         REPLACE_PUTENV.
21460         Needed for MacOS X 10.5.0.
21461         Reported by Peter O'Gorman <peter@pogma.com>.
21462
21463 2007-11-01  Jim Meyering  <meyering@redhat.com>
21464
21465         Treat an empty date string exactly like "0".
21466         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
21467         if the remaining date string (to be parsed) is empty, use "0".
21468         Reported by Mischa Molhoek and discussed in this thread:
21469         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
21470
21471 2007-10-31  Bruno Haible  <bruno@clisp.org>
21472
21473         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
21474         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
21475         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
21476         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
21477         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
21478         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
21479
21480 2007-10-31  Bruno Haible  <bruno@clisp.org>
21481
21482         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
21483         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
21484         (AC_TYPE_LONG_LONG_INT): Use it.
21485         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
21486         it as well.
21487         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
21488         to m4/longlong.m4.
21489         * modules/stdint (Files): Remove m4/ulonglong.m4.
21490         * modules/strtoull (Files): Use m4/longlong.m4 instead of
21491         m4/ulonglong.m4.
21492         * modules/strtoumax (Files): Likewise.
21493
21494 2007-10-30  Bruno Haible  <bruno@clisp.org>
21495
21496         * modules/xvasprintf-posix: New file.
21497         Suggested by Eric Blake.
21498
21499 2007-10-30  Bruno Haible  <bruno@clisp.org>
21500
21501         * modules/xprintf-posix-tests: New file.
21502         * tests/test-xprintf-posix.sh: New file.
21503         * tests/test-xprintf-posix.c: New file.
21504         * tests/test-xfprintf-posix.c: New file.
21505
21506         * modules/xprintf-posix: New file.
21507
21508 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21509
21510         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
21511         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
21512         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
21513
21514 2007-10-29  Bruno Haible  <bruno@clisp.org>
21515
21516         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
21517         contain the special marker '_cv_'.
21518         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
21519         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
21520         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
21521         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
21522         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
21523         Reported by Ralf Wildenhues.
21524
21525 2007-10-29  Bruno Haible  <bruno@clisp.org>
21526
21527         * gnulib-tool (func_import): When --lgpl is not specified, set
21528         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
21529         GPLv3.
21530         Reported by Simon Josefsson.
21531
21532 2007-10-28  Bruno Haible  <bruno@clisp.org>
21533
21534         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
21535         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
21536         HAVE_DECL_ISFINITE.
21537         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
21538         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
21539         HAVE_DECL_ISFINITE.
21540
21541 2007-10-28  Bruno Haible  <bruno@clisp.org>
21542
21543         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
21544         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
21545
21546 2007-10-28  Bruno Haible  <bruno@clisp.org>
21547
21548         Fix link errors with Sun C 5.0 on Solaris 10.
21549         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
21550         function is declared but not present in the compiler's libm.
21551         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
21552         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
21553         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
21554         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
21555         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
21556         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
21557         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
21558         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
21559         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
21560         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
21561         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
21562         HAVE_DECL_FLOORL.
21563
21564 2007-10-28  Bruno Haible  <bruno@clisp.org>
21565
21566         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
21567         gl_FUNC_FLOORL. Cache the result.
21568         (gl_FUNC_FLOORL): Use it.
21569         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
21570         gl_FUNC_CEILL. Cache the result.
21571         (gl_FUNC_CEILL): Use it.
21572
21573         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
21574         gl_FUNC_FLOOR. Cache the result.
21575         (gl_FUNC_FLOOR): Use it.
21576         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
21577         gl_FUNC_CEIL. Cache the result.
21578         (gl_FUNC_CEIL): Use it.
21579
21580         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
21581         gl_FUNC_FLOORF. Cache the result.
21582         (gl_FUNC_FLOORF): Use it.
21583         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
21584         gl_FUNC_CEILF. Cache the result.
21585         (gl_FUNC_CEILF): Use it.
21586
21587 2007-10-28  Bruno Haible  <bruno@clisp.org>
21588
21589         * gnulib-tool: Allow specifying the LGPL version number through
21590         --lgpl=2 or --lgpl=3.
21591         (func_usage): Document --lgpl with argument.
21592         Handle --lgpl=... arguments.
21593         (func_import): Recognize also gl_LGPL calls with an argument. When
21594         --lgpl=2 is used and the module's license is just LGPL, report an
21595         error. Set sed_transform_lib_file according to the lgpl variable. In
21596         the generated files, use --lgpl or gl_LGPL invocations with argument,
21597         if necessary.
21598         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
21599         an LGPv2+ license.
21600         * doc/gnulib-tool.texi (Modified imports): Update explanation of
21601         gl_LGPL macro.
21602
21603 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21604             Bruno Haible  <bruno@clisp.org>
21605
21606         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
21607         (u16_uctomb_aux): Likewise.
21608         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
21609         !HAVE_INLINE.
21610         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
21611
21612 2007-10-28  Bruno Haible  <bruno@clisp.org>
21613
21614         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
21615         Invoke AM_GETTEXT_OPTION if it exists.
21616         * modules/vasprintf: Likewise.
21617         * modules/verror: Likewise.
21618         * modules/xprintf: Likewise.
21619         * modules/xvasprintf: Likewise.
21620
21621 2007-10-27  Ben Pfaff  <blp@gnu.org>
21622
21623         * lib/math.in.h: Define isfinite macro and prototypes for
21624         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
21625         implementations.
21626         * m4/math_h.m4: New substitutions for isfinite module.
21627         * lib/isfinite.c: New file.
21628         * m4/isfinite.m4: New file.
21629         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
21630         * modules/isfinite: New file.
21631         * modules/isfinite-tests: New file.
21632         * tests/tests-isfinite.c: New file.
21633         * doc/functions/isfinite.texi: Mention isfinite module.
21634         * MODULES.html.sh: Mention new module.
21635
21636 2007-10-27  Ben Pfaff  <blp@gnu.org>
21637
21638         Ralf Wildenhues reported that Tru64 4.0D declares the round
21639         functions but does not have definitions.
21640         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
21641         cannot be found in any library, set the output variable to
21642         "missing" instead of "".
21643         * m4/round.m4: Also use our substitute if we cannot find round in
21644         any library, even if it is declared.
21645         * m4/roundf.m4: Likewise for roundf.
21646         * m4/roundl.m4: Likewise for roundl.
21647         * lib/math.in.h: Undefine roundf, round, roundl before defining
21648         their replacements, to allow for hypothetical systems where these
21649         may be defined as macros but not available in libraries.
21650
21651 2007-10-27  Bruno Haible  <bruno@clisp.org>
21652
21653         * doc/gnulib.texi: Invoke @firstparagraphindent.
21654         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
21655         changes in gnulib.
21656         (Source changes): New section.
21657
21658 2007-10-26  Bruno Haible  <bruno@clisp.org>
21659
21660         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
21661         borrowed from autoconf.
21662
21663 2007-10-26  Bruno Haible  <bruno@clisp.org>
21664
21665         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
21666         strerror returned the empty string. Needed on HP-UX 11.00.
21667
21668 2007-10-24  Micah Cowan  <micah@cowan.name>
21669
21670         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
21671         * build-aux/bootstrap: Remove support for now-unnecessary option,
21672         --cvs-user, and envvars CVS_USER, CVS_RSH.
21673
21674 2007-10-24  Jim Meyering  <meyering@redhat.com>
21675
21676         Avoid diagnostics from sha1sum when there is no cached checksum.
21677         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
21678         if the po.s1 file hasn't been created yet.
21679
21680         * build-aux/bootstrap: Sync from coreutils:
21681         2007-10-24  Jim Meyering  <meyering@redhat.com>
21682         Get gnulib from the git repository, not from an obsolete cvs one.
21683         * build-aux/bootstrap: Suggestion from Micah Cowan.
21684         2007-10-04  Jim Meyering  <jim@meyering.net>
21685         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
21686         (update_po_files): Work also when there are no .po files in po/.
21687
21688 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
21689
21690         * README: Append ".git" to git and cg examples.
21691         Problem reported by Benoit Sigoure.
21692
21693 2007-10-23  Micah Cowan  <micah@cowan.name>
21694
21695         * users.txt: Add wget.
21696
21697 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21698
21699         Fix linking of some unistdio tests on FreeBSD.
21700         * modules/unistdio/u16-vsnprintf-tests
21701         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
21702         * modules/unistdio/u16-vsprintf-tests
21703         (test_u16_vsnprintf1_LDADD): Likewise.
21704         * modules/unistdio/u32-vsnprintf-tests
21705         (test_u32_vsnprintf1_LDADD): Likewise.
21706         * modules/unistdio/u32-vsprintf-tests
21707         (test_u32_vsprintf1_LDADD): Likewise.
21708         * modules/unistdio/u8-vsnprintf-tests
21709         (test_u8_vsnprintf1_LDADD): Likewise.
21710         * modules/unistdio/u8-vsprintf-tests
21711         (test_u8_vsprintf1_LDADD): Likewise.
21712         * modules/unistdio/ulc-vsnprintf-tests
21713         (test_ulc_vsnprintf1_LDADD): Likewise.
21714         * modules/unistdio/ulc-vsprintf-tests
21715         (test_ulc_vsprintf1_LDADD): Likewise.
21716
21717         Fix linking of some uniconv tests on FreeBSD.
21718         * modules/uniconv/u16-conv-from-enc-tests
21719         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
21720         * modules/uniconv/u16-conv-to-enc-tests
21721         (test_u16_conv_to_enc_LDADD): Likewise.
21722         * modules/uniconv/u16-strconv-from-enc-tests
21723         (test_u16_strconv_from_enc_LDADD): Likewise.
21724         * modules/uniconv/u16-strconv-to-enc-tests
21725         (test_u16_strconv_to_enc_LDADD): Likewise.
21726         * modules/uniconv/u32-conv-from-enc-tests
21727         (test_u32_conv_from_enc_LDADD): Likewise.
21728         * modules/uniconv/u32-conv-to-enc-tests
21729         (test_u32_conv_to_enc_LDADD): Likewise.
21730         * modules/uniconv/u32-strconv-from-enc-tests
21731         (test_u32_strconv_from_enc_LDADD): Likewise.
21732         * modules/uniconv/u32-strconv-to-enc-tests
21733         (test_u32_strconv_to_enc_LDADD): Likewise.
21734         * modules/uniconv/u8-conv-from-enc-tests
21735         (test_u8_conv_from_enc_LDADD): Likewise.
21736         * modules/uniconv/u8-conv-to-enc-tests
21737         (test_u8_conv_to_enc_LDADD): Likewise.
21738         * modules/uniconv/u8-strconv-from-enc-tests
21739         (test_u8_strconv_from_enc_LDADD): Likewise.
21740         * modules/uniconv/u8-strconv-to-enc-tests
21741         (test_u8_strconv_to_enc_LDADD): Likewise.
21742
21743 2007-10-22  Bruno Haible  <bruno@clisp.org>
21744
21745         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
21746         size.
21747
21748 2007-10-22  Eric Blake  <ebb9@byu.net>
21749
21750         Tweak x*printf documentation.
21751         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
21752         variable name and comments.
21753         Suggested by Bruno Haible.
21754
21755 2007-10-22  Bruno Haible  <bruno@clisp.org>
21756
21757         * lib/acl.c (copy_acl): Fix file name in comment.
21758
21759 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
21760
21761         Fix Tru64 problem with stdbool.h.
21762         * lib/stdbool.in.h (false, true):
21763         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
21764         Don't declare as an enum in this situation; it runs afoul of Tru64.
21765         Problem reported by Steven M. Schweda in
21766         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
21767
21768 2007-10-22  Eric Blake  <ebb9@byu.net>
21769
21770         Also wrap vf?printf.
21771         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
21772         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
21773         (xvprintf, xvfprintf): New functions.
21774
21775 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21776
21777         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
21778         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
21779
21780         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
21781         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
21782
21783 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
21784
21785         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
21786         by Bruno Haible.
21787
21788 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21789
21790         * lib/getloadavg.c
21791         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
21792         Undef `sys' after including sys/table.h, for Tru64 4.0D.
21793
21794         * tests/test-i-ring.c: Work for C89.
21795
21796 2007-10-22  Bruno Haible  <bruno@clisp.org>
21797
21798         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
21799         -1u, in preprocessor expression, so that we don't test for the bug
21800         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
21801         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
21802
21803 2007-10-22  Eric Blake  <ebb9@byu.net>
21804
21805         * tests/test-yesno.sh: Silence stderr during test.
21806
21807 2007-10-22  Simon Josefsson  <simon@josefsson.org>
21808
21809         * modules/crypto/gc-camellia: New file.
21810
21811         * m4/gc-camellia.m4: New file.
21812
21813         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
21814
21815         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
21816
21817 2007-10-22  Simon Josefsson  <simon@josefsson.org>
21818
21819         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
21820         --help to stdout.  Reported by sms@antinode.org (Steven
21821         M. Schweda).
21822
21823 2007-10-22  Simon Josefsson  <simon@josefsson.org>
21824
21825         * users.txt: Fix link to libksba.
21826
21827 2007-10-21  Ben Pfaff  <blp@gnu.org>
21828
21829         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
21830         round.c roundf implementation that depends on floorf and ceilf to
21831         be tested unconditionally.
21832
21833 2007-10-21  Ben Pfaff  <blp@gnu.org>
21834
21835         * m4/check-libm-func.m4: Removed.
21836         * m4/check-math-lib.m4: New file.
21837         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
21838         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
21839         definition and lack of AC_LIBOBJ([roundf]).
21840         * m4/roundl.m4: Ditto, and similarly for roundl.
21841         * modules/round: Reference new m4 file.
21842         * modules/roundf: Ditto.
21843         * modules/roundl: Ditto.
21844         * tests/test-round2.c (main): Use ROUND instead of round.
21845         Bug report from Bruno Haible.
21846
21847 2007-10-21  Bruno Haible  <bruno@clisp.org>
21848
21849         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
21850         context.
21851
21852 2007-10-21  Bruno Haible  <bruno@clisp.org>
21853
21854         * tests/test-wcwidth.c (main): Allow negative result for some control
21855         characters.
21856
21857         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
21858         Needed on OSF/1 5.1.
21859
21860 2007-10-21  Bruno Haible  <bruno@clisp.org>
21861
21862         * tests/test-floorf1.c: Include isnanf.h.
21863         (main): Use isnanf() instead of isnan().
21864         * tests/test-ceilf1.c: Include isnanf.h.
21865         (main): Use isnanf() instead of isnan().
21866         * tests/test-truncf1.c: Include isnanf.h.
21867         (main): Use isnanf() instead of isnan().
21868         * tests/test-roundf1.c: Include isnanf.h.
21869         (main): Use isnanf() instead of isnan().
21870
21871 2007-10-21  Eric Blake  <ebb9@byu.net>
21872
21873         * users.txt: Update URL for m4.
21874
21875 2007-10-21  Bruno Haible  <bruno@clisp.org>
21876
21877         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
21878
21879 2007-10-21  Bruno Haible  <bruno@clisp.org>
21880
21881         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
21882         Git's management files if the CVS files are not present.
21883
21884 2007-10-20  Bruno Haible  <bruno@clisp.org>
21885
21886         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
21887         gcc-3.4.x.
21888
21889 2007-10-20  Ben Pfaff  <blp@gnu.org>
21890
21891         * lib/math.in.h: Declare round, roundf, roundl if we are providing
21892         implementations.
21893         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
21894         * lib/round.c: New file.
21895         * lib/roundf.c: New file.
21896         * lib/roundl.c: New file.
21897         * m4/round.m4: New file.
21898         * m4/roundf.m4: New file.
21899         * m4/roundl.m4: New file.
21900         * m4/check-libm-func-m4: New file.
21901         * modules/math: Replace round, roundf, roundl related @VARS@ in
21902         math.in.h.
21903         * modules/round: New file.
21904         * modules/round-tests: New file.
21905         * modules/roundf: New file.
21906         * modules/roundf-tests: New file.
21907         * modules/roundl: New file.
21908         * modules/roundl-tests: New file.
21909         * tests/test-round1.c: New file.
21910         * tests/test-round2.c: New file.
21911         * tests/test-roundf1.c: New file.
21912         * tests/test-roundf2.c: New file.
21913         * tests/test-roundl.c: New file.
21914         * doc/functions/round.texi: Mention round module.
21915         * doc/functions/roundf.texi: Mention roundf module.
21916         * doc/functions/roundl.texi: Mention roundl module.
21917         * MODULES.html.sh: Mention new modules.
21918         Thanks to Bruno Haible for suggestions.
21919
21920 2007-10-20  Jim Meyering  <meyering@redhat.com>
21921
21922         * lib/xprintf.c: Include <config.h> unconditionally.
21923
21924         Change xprintf's license to GPL.
21925         * modules/xprintf (License): s/LGPL/GPL/, since this module
21926         depends on modules (exit and exitfail) which are GPL.
21927         Suggestion from Bruno Haible.
21928
21929         xprintf fixes.
21930         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
21931         Use a clearer diagnostic.
21932         Patch from Bruno Haible.
21933
21934 2007-10-20  Bruno Haible  <bruno@clisp.org>
21935
21936         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
21937         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
21938         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21939
21940 2007-10-20  Bruno Haible  <bruno@clisp.org>
21941
21942         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
21943         precision in the comparison result > x - 1 or similar.
21944         * tests/test-ceilf2.c (correct_result_p): Likewise.
21945         * tests/test-truncf2.c (correct_result_p): Likewise.
21946         * tests/test-trunc2.c (correct_result_p): Likewise.
21947         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21948
21949 2007-10-20  Bruno Haible  <bruno@clisp.org>
21950
21951         * modules/ceil: New file.
21952         * m4/ceil.m4: New file.
21953         * doc/functions/ceil.texi: Mention the 'ceil' module.
21954
21955 2007-10-20  Bruno Haible  <bruno@clisp.org>
21956
21957         * modules/floor: New file.
21958         * m4/floor.m4: New file.
21959         * doc/functions/floor.texi: Mention the 'floor' module.
21960
21961 2007-10-20  Bruno Haible  <bruno@clisp.org>
21962
21963         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
21964         of %a.
21965         * modules/floorf-tests (Depends-on): Likewise.
21966         * modules/truncf-tests (Depends-on): Likewise.
21967         * modules/trunc-tests (Depends-on): Likewise.
21968         Reported by Ben Pfaff.
21969
21970 2007-10-19  Jim Meyering  <meyering@redhat.com>
21971
21972         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
21973         Don't bother testing specific errno values.  Just test ferror.
21974
21975         New module: xprintf
21976         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
21977
21978 2007-10-19  Bruno Haible  <bruno@clisp.org>
21979
21980         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
21981         syntax.
21982         * modules/javaexec (Makefile.am): Likewise.
21983         * modules/relocatable-prog (Makefile.am): Likewise.
21984         Suggested by Jim Meyering.
21985
21986 2007-10-18  Bruno Haible  <bruno@clisp.org>
21987
21988         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
21989         Reported by Jim Meyering.
21990
21991 2007-10-18  Eric Blake  <ebb9@byu.net>
21992
21993         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
21994
21995 2007-10-18  Bruno Haible  <bruno@clisp.org>
21996
21997         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
21998         the format string into writable memory. Needed in Fortify conditions.
21999
22000 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
22001             Bruno Haible  <bruno@clisp.org>
22002
22003         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
22004         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
22005         * modules/trim (Depends-on): Add mbchar.
22006         (configure.ac): Add gl_FUNC_MBRTOWC.
22007         (Makefile.am): Augment lib_SOURCES.
22008
22009 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
22010
22011         Modify glob.c to use fstatat and dirfd, to simplify it.
22012         Suggested by Eric Blake.
22013         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
22014         Don't include <stdbool.h>; not used.
22015         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
22016         (link_exists_p): Simplify implementation, since we can now assume
22017         dirfd and fstatat.
22018         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
22019
22020 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22021
22022         * gnulib-tool (func_get_dependencies): Fix sed script to
22023         match only tests.
22024
22025 2007-10-17  Bruno Haible  <bruno@clisp.org>
22026
22027         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
22028         allow locale names without encoding suffix.
22029         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
22030         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
22031
22032 2007-10-16  Bruno Haible  <bruno@clisp.org>
22033
22034         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
22035         * lib/getgroups.c (getgroups): Likewise.
22036         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
22037
22038 2007-10-16  Bruno Haible  <bruno@clisp.org>
22039
22040         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
22041         * modules/malloc-posix (License): Likewise.
22042         * modules/realloc-posix (License): Likewise.
22043         * modules/calloc-posix (License): Likewise.
22044         * modules/intprops (License): Change from GPL to LGPL, with
22045         Paul Eggert's approval.
22046
22047 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
22048
22049         Merge glibc changes into lib/glob.c.
22050
22051         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
22052         2007-10-15 04:59:03 UTC.  Here are the changes:
22053
22054         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
22055
22056         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
22057
22058         * lib/glob.c: Add some branch prediction throughout.
22059
22060         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
22061
22062         [BZ #5103]
22063         * lib/glob.c (glob): Recognize patterns starting \/.
22064
22065         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
22066
22067         [BZ #3996]
22068         * lib/glob.c (attribute_hidden): Define if not defined.
22069         (glob): Unescape dirname, filename or username when needed and not
22070         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
22071         is NULL.  Handle unescaped [ in pattern without closing ].
22072         Don't pass GLOB_CHECK down to recursive glob for directories.
22073         (__glob_pattern_type): New function.
22074         (__glob_pattern_p): Implement using __glob_pattern_type.
22075         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
22076         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
22077         Remove unreachable code.
22078
22079         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
22080
22081         * lib/glob.c (glob_in_dir): Add some comments and asserts to
22082         explain why there are no leaks.
22083
22084         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
22085
22086         [BZ #3253]
22087         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
22088         time, rather allocate increasingly bigger arrays of pointers, if
22089         possible with alloca, if too large with malloc.
22090
22091 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
22092
22093         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
22094         Problem reported by H.Merijn Brand in
22095         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
22096         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
22097         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
22098
22099 2007-10-15  Bruno Haible  <bruno@clisp.org>
22100
22101         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
22102         with explicit rpl_ prefix.
22103         * lib/fopen.c (fopen): Likewise.
22104         * lib/freopen.c (freopen): Likewise.
22105         * lib/iconv.c (iconv): Likewise.
22106         * lib/iconv_close.c (iconv_close): Likewise.
22107
22108 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22109
22110         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
22111
22112 2007-10-15  Bruno Haible  <bruno@clisp.org>
22113
22114         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
22115         <stddef.h> instead of <stdlib.h> since we only need NULL.
22116         Reported by Ben Pfaff <blp@cs.stanford.edu>.
22117
22118 2007-10-15  Bruno Haible  <bruno@clisp.org>
22119
22120         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
22121         Replace paragraph talking about LIBOBJS.
22122         Reported by Colin Watson <cjwatson@debian.org>.
22123
22124 2007-10-15  Bruno Haible  <bruno@clisp.org>
22125
22126         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
22127         <stdlib.h> before using NULL.
22128
22129 2007-10-15  Simon Josefsson  <simon@josefsson.org>
22130
22131         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
22132         Reported by Albert Chin <china@thewrittenword.com>.
22133
22134 2007-10-14  Bruno Haible  <bruno@clisp.org>
22135
22136         * modules/iconv_open-utf-tests: New file.
22137         * tests/test-iconv-utf.c: New file.
22138
22139         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
22140         * modules/iconv_open-utf: New file.
22141         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
22142         (iconv, iconv_close): New declarations.
22143         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
22144         be defined.
22145         (iconv_open): Add special handling of conversion between UTF-8 and
22146         UTF-{16,32}{BE,LE}.
22147         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
22148         * lib/iconv_close.c: New file.
22149         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
22150         gl_FUNC_ICONV_OPEN.
22151         (gl_FUNC_ICONV_OPEN): Use it.
22152         (gl_FUNC_ICONV_OPEN_UTF): New macro.
22153         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
22154         and REPLACE_ICONV_UTF.
22155         * modules/iconv_open (Depends-on): Add c-strcase.
22156         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
22157         ICONV_CONST.
22158         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
22159
22160 2007-10-13  Albert Chin  <china@thewrittenword.com>
22161             Bruno Haible  <bruno@clisp.org>
22162
22163         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
22164         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
22165
22166 2007-10-13  Bruno Haible  <bruno@clisp.org>
22167
22168         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
22169         defined, use the ISO C99 inline semantics.
22170         * lib/argp.h (ARGP_EI): Likewise.
22171
22172 2007-10-13  Bruno Haible  <bruno@clisp.org>
22173
22174         Handle 'inline' change in gcc 4.3.0.
22175         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
22176         argp_fmtstream_write, argp_fmtstream_set_lmargin,
22177         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
22178         argp_fmtstream_point): Disable 'extern' declaration if the function
22179         definition is going to be provided inline.
22180         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
22181         semantics, not the ISO C99 inline semantics.
22182         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
22183         'extern' declaration if the function definition is going to be provided
22184         inline.
22185         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
22186         the GNU C inline semantics, not the ISO C99 inline semantics. With
22187         GCC 4.2, avoid a warning.
22188
22189 2007-10-13  Bruno Haible  <bruno@clisp.org>
22190
22191         * lib/freading.h (freading): Enable the use of __freading for
22192         glibc >= 2.7.
22193         * lib/freading.c (freading): Likewise.
22194
22195 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
22196
22197         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
22198         "warning: C99 inline functions are not supported; using GNU89".
22199
22200 2007-10-12  Bruno Haible  <bruno@clisp.org>
22201
22202         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
22203         of 2.
22204         * tests/test-ceilf2.c: New file.
22205         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
22206
22207         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
22208         * modules/ceilf-tests: Update.
22209
22210 2007-10-12  Bruno Haible  <bruno@clisp.org>
22211
22212         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
22213         of 2.
22214         * tests/test-floorf2.c: New file.
22215         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
22216
22217         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
22218         * modules/floorf-tests: Update.
22219
22220 2007-10-12  Bruno Haible  <bruno@clisp.org>
22221
22222         * tests/test-trunc2.c: New file.
22223         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
22224
22225         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
22226         * modules/trunc-tests: Update.
22227
22228 2007-10-12  Bruno Haible  <bruno@clisp.org>
22229
22230         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
22231         of 2.
22232         * tests/test-truncf2.c: New file.
22233         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
22234
22235         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
22236         * modules/truncf-tests: Update.
22237
22238 2007-10-11  Eric Blake  <ebb9@byu.net>
22239
22240         Don't claim strerror is broken on Interix.
22241         * doc/functions/strerror.texi (strerror): Known broken systems are
22242         now Solaris 8, and not Interix.
22243         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
22244         Interix on cross-compile.
22245         Reported by Martin Koeppe in
22246         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
22247
22248 2007-10-11  Bruno Haible  <bruno@clisp.org>
22249
22250         * modules/i-ring-tests: New file.
22251         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
22252         instead of assert.
22253
22254 2007-10-11  Bruno Haible  <bruno@clisp.org>
22255
22256         * modules/filenamecat-tests: New file.
22257         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
22258         * lib/filenamecat.c: Remove test code.
22259
22260 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
22261
22262         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
22263
22264         * lib/strerror.c: Include <string.h> always, to test interface,
22265         and to remove the need for the dummy.
22266         Include intprops.h to compute width instead of doing it ourselves
22267         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
22268         (strerror): Define it to return NULL if there's no system strerror.
22269         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
22270         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
22271         ancient pre-strerror Unix systems well any more.  Saying "unknown
22272         system error" is enough.
22273         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
22274         simpler strerror.c implementation.
22275         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
22276         Simplify the tests to reflect the simpler strerror implementation.
22277         * modules/strerror (Depends-on): Add intprops.
22278
22279 2007-10-09  Eric Blake  <ebb9@byu.net>
22280
22281         Silence test-fpending.
22282         * modules/fpending-tests (Files): Add wrapper script.
22283         * tests/test-fpending.sh: New file.
22284
22285 2007-10-09  Bruno Haible  <bruno@clisp.org>
22286
22287         * MODULES.html.sh (func_module): Don't create a hyperlink for
22288         function names like 'printf_frexp'.
22289         (Misc): Add crc, memxor.
22290         (Characteristics of floating types): New section.
22291         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
22292         isnanf-nolibm, signbit, trunc, truncf, truncl.
22293         (Enhancements for ISO C 99 functions): New subsection Input/output.
22294         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
22295         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
22296         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
22297         (Compatibility checks for POSIX:2001 functions): Add clock-time.
22298         (Enhancements for POSIX:2001 functions): Add chdir-long.
22299         (File system functions): Add areadlink, chdir-safer, read-file.
22300         Remove cycle-check.
22301         (File system as inode set): New section.
22302         (Date and time): Add gethrxtime.
22303         (Multithreading): Add openmp.
22304         (Internationalization functions): Add localename.
22305         (Unicode string functions): Add unistr/u*-mbsnlen.
22306         (Support for maintaining and releasing projects): Add git-version-gen.
22307         (Lone files): Remove directories.
22308
22309 2007-10-08  Ben Pfaff  <blp@gnu.org>
22310
22311         * lib/xmalloca.h: Fix typo in comment.
22312
22313 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
22314
22315         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
22316         when avoiding problems with integer overflow.  Use a portable test
22317         instead.
22318
22319 2007-10-08  Simon Josefsson  <simon@josefsson.org>
22320
22321         * modules/dummy (License): Change to LGPLv2+.
22322         * modules/float (License): Likewise
22323         * modules/realloc (License): Likewise
22324         * modules/stdlib (License): Likewise
22325
22326 2007-10-07  Bruno Haible  <bruno@clisp.org>
22327
22328         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
22329         * floor.c (TWO_MANT_DIG): Likewise.
22330         * ceil.c (TWO_MANT_DIG): Likewise.
22331         Reported by Ben Pfaff.
22332
22333 2007-10-07  Bruno Haible  <bruno@clisp.org>
22334
22335         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
22336         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
22337         * lib/frexp.c (FUNC): Likewise.
22338         * lib/printf-frexp.h (printf_frexp): Likewise.
22339         * lib/printf-frexpl.h (printf_frexpl): Likewise.
22340         * lib/printf-frexp.c (FUNC): Likewise.
22341         Suggested by Jim Meyering.
22342
22343 2007-10-07  Jim Meyering  <meyering@redhat.com>
22344
22345         Make xnanosleep's integer overflow test more robust.
22346         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
22347         so that gcc-4.3.0 doesn't optimize away this test for overflow.
22348
22349 2007-10-07  Bruno Haible  <bruno@clisp.org>
22350
22351         * NEWS: Mention the license change.
22352
22353         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
22354         abbreviations in the modules files.
22355
22356         Change copyright notice from GPLv2+ to GPLv3+.
22357         * README: Change copyright notice.
22358         * MODULES.html.sh: Likewise.
22359         * build-aux/bootstrap.conf: Likewise.
22360         * build-aux/config.libpath: Likewise.
22361         * build-aux/csharpcomp.sh.in: Likewise.
22362         * build-aux/csharpexec.sh.in: Likewise.
22363         * build-aux/install-reloc: Likewise.
22364         * build-aux/javacomp.sh.in: Likewise.
22365         * build-aux/javaexec.sh.in: Likewise.
22366         * build-aux/ldd.sh.in: Likewise.
22367         * build-aux/reloc-ldflags: Likewise.
22368         * build-aux/relocatable.sh.in: Likewise.
22369         * build-aux/x-to-1.in: Likewise.
22370         * check-module: Likewise.
22371         * config/srclistvars.sh: Likewise.
22372         * gnulib-tool: Likewise.
22373         * lib/acl-internal.h: Likewise.
22374         * lib/acl.c: Likewise.
22375         * lib/acl.h: Likewise.
22376         * lib/acl_entries.c: Likewise.
22377         * lib/areadlink-with-size.c: Likewise.
22378         * lib/areadlink.c: Likewise.
22379         * lib/areadlink.h: Likewise.
22380         * lib/argmatch.c: Likewise.
22381         * lib/argmatch.h: Likewise.
22382         * lib/argp-ba.c: Likewise.
22383         * lib/argp-eexst.c: Likewise.
22384         * lib/argp-fmtstream.c: Likewise.
22385         * lib/argp-fmtstream.h: Likewise.
22386         * lib/argp-fs-xinl.c: Likewise.
22387         * lib/argp-help.c: Likewise.
22388         * lib/argp-namefrob.h: Likewise.
22389         * lib/argp-parse.c: Likewise.
22390         * lib/argp-pin.c: Likewise.
22391         * lib/argp-pv.c: Likewise.
22392         * lib/argp-pvh.c: Likewise.
22393         * lib/argp-xinl.c: Likewise.
22394         * lib/argp.h: Likewise.
22395         * lib/at-func.c: Likewise.
22396         * lib/atanl.c: Likewise.
22397         * lib/backupfile.c: Likewise.
22398         * lib/backupfile.h: Likewise.
22399         * lib/basename.c: Likewise.
22400         * lib/binary-io.h: Likewise.
22401         * lib/byteswap.in.h: Likewise.
22402         * lib/c-stack.c: Likewise.
22403         * lib/c-stack.h: Likewise.
22404         * lib/c-strcasestr.c: Likewise.
22405         * lib/c-strcasestr.h: Likewise.
22406         * lib/c-strstr.c: Likewise.
22407         * lib/c-strstr.h: Likewise.
22408         * lib/c-strtod.c: Likewise.
22409         * lib/calloc.c: Likewise.
22410         * lib/canon-host.c: Likewise.
22411         * lib/canon-host.h: Likewise.
22412         * lib/canonicalize-lgpl.c: Likewise.
22413         * lib/canonicalize.c: Likewise.
22414         * lib/canonicalize.h: Likewise.
22415         * lib/ceil.c: Likewise.
22416         * lib/ceilf.c: Likewise.
22417         * lib/ceill.c: Likewise.
22418         * lib/chdir-long.c: Likewise.
22419         * lib/chdir-long.h: Likewise.
22420         * lib/chdir-safer.c: Likewise.
22421         * lib/chdir-safer.h: Likewise.
22422         * lib/chown.c: Likewise.
22423         * lib/classpath.c: Likewise.
22424         * lib/classpath.h: Likewise.
22425         * lib/clean-temp.c: Likewise.
22426         * lib/clean-temp.h: Likewise.
22427         * lib/cloexec.c: Likewise.
22428         * lib/close-stream.c: Likewise.
22429         * lib/closein.c: Likewise.
22430         * lib/closein.h: Likewise.
22431         * lib/closeout.c: Likewise.
22432         * lib/closeout.h: Likewise.
22433         * lib/concat-filename.c: Likewise.
22434         * lib/copy-file.c: Likewise.
22435         * lib/copy-file.h: Likewise.
22436         * lib/count-one-bits.h: Likewise.
22437         * lib/crc.c: Likewise.
22438         * lib/crc.h: Likewise.
22439         * lib/creat-safer.c: Likewise.
22440         * lib/csharpcomp.c: Likewise.
22441         * lib/csharpcomp.h: Likewise.
22442         * lib/csharpexec.c: Likewise.
22443         * lib/csharpexec.h: Likewise.
22444         * lib/cycle-check.c: Likewise.
22445         * lib/cycle-check.h: Likewise.
22446         * lib/diacrit.c: Likewise.
22447         * lib/diacrit.h: Likewise.
22448         * lib/diffseq.h: Likewise.
22449         * lib/dirchownmod.c: Likewise.
22450         * lib/dirent.in.h: Likewise.
22451         * lib/dirfd.c: Likewise.
22452         * lib/dirfd.h: Likewise.
22453         * lib/dirname.c: Likewise.
22454         * lib/dirname.h: Likewise.
22455         * lib/dummy.c: Likewise.
22456         * lib/dup-safer.c: Likewise.
22457         * lib/dup2.c: Likewise.
22458         * lib/eealloc.h: Likewise.
22459         * lib/error.c: Likewise.
22460         * lib/error.h: Likewise.
22461         * lib/euidaccess.c: Likewise.
22462         * lib/exclude.c: Likewise.
22463         * lib/exclude.h: Likewise.
22464         * lib/execute.c: Likewise.
22465         * lib/execute.h: Likewise.
22466         * lib/exitfail.c: Likewise.
22467         * lib/exitfail.h: Likewise.
22468         * lib/expl.c: Likewise.
22469         * lib/fatal-signal.c: Likewise.
22470         * lib/fatal-signal.h: Likewise.
22471         * lib/fbufmode.c: Likewise.
22472         * lib/fbufmode.h: Likewise.
22473         * lib/fchdir.c: Likewise.
22474         * lib/fchmodat.c: Likewise.
22475         * lib/fchownat.c: Likewise.
22476         * lib/fcntl--.h: Likewise.
22477         * lib/fcntl-safer.h: Likewise.
22478         * lib/fcntl.in.h: Likewise.
22479         * lib/fd-safer.c: Likewise.
22480         * lib/fflush.c: Likewise.
22481         * lib/file-has-acl.c: Likewise.
22482         * lib/file-set.c: Likewise.
22483         * lib/file-type.c: Likewise.
22484         * lib/file-type.h: Likewise.
22485         * lib/fileblocks.c: Likewise.
22486         * lib/filemode.c: Likewise.
22487         * lib/filemode.h: Likewise.
22488         * lib/filename.h: Likewise.
22489         * lib/filenamecat.c: Likewise.
22490         * lib/filenamecat.h: Likewise.
22491         * lib/findprog.c: Likewise.
22492         * lib/findprog.h: Likewise.
22493         * lib/float.in.h: Likewise.
22494         * lib/floor.c: Likewise.
22495         * lib/floorf.c: Likewise.
22496         * lib/floorl.c: Likewise.
22497         * lib/fopen-safer.c: Likewise.
22498         * lib/fopen.c: Likewise.
22499         * lib/fpending.c: Likewise.
22500         * lib/fpending.h: Likewise.
22501         * lib/fprintf.c: Likewise.
22502         * lib/fprintftime.h: Likewise.
22503         * lib/fpucw.h: Likewise.
22504         * lib/fpurge.c: Likewise.
22505         * lib/fpurge.h: Likewise.
22506         * lib/freadable.c: Likewise.
22507         * lib/freadable.h: Likewise.
22508         * lib/freadahead.c: Likewise.
22509         * lib/freadahead.h: Likewise.
22510         * lib/freading.c: Likewise.
22511         * lib/freading.h: Likewise.
22512         * lib/free.c: Likewise.
22513         * lib/freopen.c: Likewise.
22514         * lib/frexp.c: Likewise.
22515         * lib/frexpl.c: Likewise.
22516         * lib/fseek.c: Likewise.
22517         * lib/fseterr.c: Likewise.
22518         * lib/fseterr.h: Likewise.
22519         * lib/fstatat.c: Likewise.
22520         * lib/fstrcmp.c: Likewise.
22521         * lib/fstrcmp.h: Likewise.
22522         * lib/fsusage.c: Likewise.
22523         * lib/fsusage.h: Likewise.
22524         * lib/ftell.c: Likewise.
22525         * lib/ftello.c: Likewise.
22526         * lib/fts-cycle.c: Likewise.
22527         * lib/fts.c: Likewise.
22528         * lib/fts_.h: Likewise.
22529         * lib/full-read.c: Likewise.
22530         * lib/full-read.h: Likewise.
22531         * lib/full-write.c: Likewise.
22532         * lib/full-write.h: Likewise.
22533         * lib/fwritable.c: Likewise.
22534         * lib/fwritable.h: Likewise.
22535         * lib/fwriteerror.c: Likewise.
22536         * lib/fwriteerror.h: Likewise.
22537         * lib/fwriting.c: Likewise.
22538         * lib/fwriting.h: Likewise.
22539         * lib/gcd.c: Likewise.
22540         * lib/gcd.h: Likewise.
22541         * lib/getcwd.c: Likewise.
22542         * lib/getdate.h: Likewise.
22543         * lib/getdate.y: Likewise.
22544         * lib/getdomainname.c: Likewise.
22545         * lib/getdomainname.h: Likewise.
22546         * lib/getgroups.c: Likewise.
22547         * lib/gethostname.c: Likewise.
22548         * lib/gethrxtime.c: Likewise.
22549         * lib/gethrxtime.h: Likewise.
22550         * lib/getloadavg.c: Likewise.
22551         * lib/getndelim2.c: Likewise.
22552         * lib/getndelim2.h: Likewise.
22553         * lib/getnline.c: Likewise.
22554         * lib/getnline.h: Likewise.
22555         * lib/getopt.c: Likewise.
22556         * lib/getopt.in.h: Likewise.
22557         * lib/getopt1.c: Likewise.
22558         * lib/getopt_int.h: Likewise.
22559         * lib/getpagesize.h: Likewise.
22560         * lib/getsubopt.c: Likewise.
22561         * lib/gettime.c: Likewise.
22562         * lib/getugroups.c: Likewise.
22563         * lib/getugroups.h: Likewise.
22564         * lib/getusershell.c: Likewise.
22565         * lib/gl_anyavltree_list1.h: Likewise.
22566         * lib/gl_anyavltree_list2.h: Likewise.
22567         * lib/gl_anyhash_list1.h: Likewise.
22568         * lib/gl_anyhash_list2.h: Likewise.
22569         * lib/gl_anylinked_list1.h: Likewise.
22570         * lib/gl_anylinked_list2.h: Likewise.
22571         * lib/gl_anyrbtree_list1.h: Likewise.
22572         * lib/gl_anyrbtree_list2.h: Likewise.
22573         * lib/gl_anytree_list1.h: Likewise.
22574         * lib/gl_anytree_list2.h: Likewise.
22575         * lib/gl_anytree_oset.h: Likewise.
22576         * lib/gl_anytreehash_list1.h: Likewise.
22577         * lib/gl_anytreehash_list2.h: Likewise.
22578         * lib/gl_array_list.c: Likewise.
22579         * lib/gl_array_list.h: Likewise.
22580         * lib/gl_array_oset.c: Likewise.
22581         * lib/gl_array_oset.h: Likewise.
22582         * lib/gl_avltree_list.c: Likewise.
22583         * lib/gl_avltree_list.h: Likewise.
22584         * lib/gl_avltree_oset.c: Likewise.
22585         * lib/gl_avltree_oset.h: Likewise.
22586         * lib/gl_avltreehash_list.c: Likewise.
22587         * lib/gl_avltreehash_list.h: Likewise.
22588         * lib/gl_carray_list.c: Likewise.
22589         * lib/gl_carray_list.h: Likewise.
22590         * lib/gl_linked_list.c: Likewise.
22591         * lib/gl_linked_list.h: Likewise.
22592         * lib/gl_linkedhash_list.c: Likewise.
22593         * lib/gl_linkedhash_list.h: Likewise.
22594         * lib/gl_list.c: Likewise.
22595         * lib/gl_list.h: Likewise.
22596         * lib/gl_oset.c: Likewise.
22597         * lib/gl_oset.h: Likewise.
22598         * lib/gl_rbtree_list.c: Likewise.
22599         * lib/gl_rbtree_list.h: Likewise.
22600         * lib/gl_rbtree_oset.c: Likewise.
22601         * lib/gl_rbtree_oset.h: Likewise.
22602         * lib/gl_rbtreehash_list.c: Likewise.
22603         * lib/gl_rbtreehash_list.h: Likewise.
22604         * lib/gl_sublist.c: Likewise.
22605         * lib/gl_sublist.h: Likewise.
22606         * lib/group-member.c: Likewise.
22607         * lib/group-member.h: Likewise.
22608         * lib/hard-locale.c: Likewise.
22609         * lib/hard-locale.h: Likewise.
22610         * lib/hash-pjw.c: Likewise.
22611         * lib/hash-pjw.h: Likewise.
22612         * lib/hash-triple.c: Likewise.
22613         * lib/hash.c: Likewise.
22614         * lib/hash.h: Likewise.
22615         * lib/human.c: Likewise.
22616         * lib/human.h: Likewise.
22617         * lib/i-ring.c: Likewise.
22618         * lib/i-ring.h: Likewise.
22619         * lib/idcache.c: Likewise.
22620         * lib/imaxabs.c: Likewise.
22621         * lib/imaxdiv.c: Likewise.
22622         * lib/inet_pton.c: Likewise.
22623         * lib/inet_pton.h: Likewise.
22624         * lib/intprops.h: Likewise.
22625         * lib/inttostr.c: Likewise.
22626         * lib/inttostr.h: Likewise.
22627         * lib/inttypes.in.h: Likewise.
22628         * lib/isapipe.c: Likewise.
22629         * lib/isdir.c: Likewise.
22630         * lib/isnan.c: Likewise.
22631         * lib/isnan.h: Likewise.
22632         * lib/isnanf.c: Likewise.
22633         * lib/isnanf.h: Likewise.
22634         * lib/isnanl-nolibm.h: Likewise.
22635         * lib/isnanl.c: Likewise.
22636         * lib/isnanl.h: Likewise.
22637         * lib/javacomp.c: Likewise.
22638         * lib/javacomp.h: Likewise.
22639         * lib/javaexec.c: Likewise.
22640         * lib/javaexec.h: Likewise.
22641         * lib/javaversion.c: Likewise.
22642         * lib/javaversion.h: Likewise.
22643         * lib/javaversion.java: Likewise.
22644         * lib/lbrkprop.h: Likewise.
22645         * lib/lchmod.h: Likewise.
22646         * lib/lchown.c: Likewise.
22647         * lib/ldexpl.c: Likewise.
22648         * lib/linebreak.c: Likewise.
22649         * lib/linebreak.h: Likewise.
22650         * lib/linebuffer.c: Likewise.
22651         * lib/linebuffer.h: Likewise.
22652         * lib/locale.in.h: Likewise.
22653         * lib/logl.c: Likewise.
22654         * lib/long-options.c: Likewise.
22655         * lib/long-options.h: Likewise.
22656         * lib/lstat.c: Likewise.
22657         * lib/lstat.h: Likewise.
22658         * lib/math.in.h: Likewise.
22659         * lib/mbchar.c: Likewise.
22660         * lib/mbchar.h: Likewise.
22661         * lib/mbfile.h: Likewise.
22662         * lib/mbiter.h: Likewise.
22663         * lib/mbscasecmp.c: Likewise.
22664         * lib/mbscasestr.c: Likewise.
22665         * lib/mbschr.c: Likewise.
22666         * lib/mbscspn.c: Likewise.
22667         * lib/mbslen.c: Likewise.
22668         * lib/mbsncasecmp.c: Likewise.
22669         * lib/mbsnlen.c: Likewise.
22670         * lib/mbspbrk.c: Likewise.
22671         * lib/mbspcasecmp.c: Likewise.
22672         * lib/mbsrchr.c: Likewise.
22673         * lib/mbssep.c: Likewise.
22674         * lib/mbsspn.c: Likewise.
22675         * lib/mbsstr.c: Likewise.
22676         * lib/mbstok_r.c: Likewise.
22677         * lib/mbswidth.c: Likewise.
22678         * lib/mbswidth.h: Likewise.
22679         * lib/mbuiter.h: Likewise.
22680         * lib/memcasecmp.c: Likewise.
22681         * lib/memcasecmp.h: Likewise.
22682         * lib/memchr.c: Likewise.
22683         * lib/memcmp.c: Likewise.
22684         * lib/memcoll.c: Likewise.
22685         * lib/memcoll.h: Likewise.
22686         * lib/memcpy.c: Likewise.
22687         * lib/memrchr.c: Likewise.
22688         * lib/mkancesdirs.c: Likewise.
22689         * lib/mkdir-p.c: Likewise.
22690         * lib/mkdir-p.h: Likewise.
22691         * lib/mkdir.c: Likewise.
22692         * lib/mkdirat.c: Likewise.
22693         * lib/mkdtemp.c: Likewise.
22694         * lib/mkstemp-safer.c: Likewise.
22695         * lib/mkstemp.c: Likewise.
22696         * lib/modechange.c: Likewise.
22697         * lib/modechange.h: Likewise.
22698         * lib/mountlist.c: Likewise.
22699         * lib/mountlist.h: Likewise.
22700         * lib/mpsort.c: Likewise.
22701         * lib/nanosleep.c: Likewise.
22702         * lib/obstack.c: Likewise.
22703         * lib/obstack.h: Likewise.
22704         * lib/open-safer.c: Likewise.
22705         * lib/open.c: Likewise.
22706         * lib/openat-die.c: Likewise.
22707         * lib/openat-priv.h: Likewise.
22708         * lib/openat-proc.c: Likewise.
22709         * lib/openat.c: Likewise.
22710         * lib/openat.h: Likewise.
22711         * lib/pagealign_alloc.c: Likewise.
22712         * lib/pagealign_alloc.h: Likewise.
22713         * lib/physmem.c: Likewise.
22714         * lib/physmem.h: Likewise.
22715         * lib/pipe-safer.c: Likewise.
22716         * lib/pipe.c: Likewise.
22717         * lib/pipe.h: Likewise.
22718         * lib/posixtm.c: Likewise.
22719         * lib/posixtm.h: Likewise.
22720         * lib/posixver.c: Likewise.
22721         * lib/printf-frexp.c: Likewise.
22722         * lib/printf-frexp.h: Likewise.
22723         * lib/printf-frexpl.c: Likewise.
22724         * lib/printf-frexpl.h: Likewise.
22725         * lib/printf.c: Likewise.
22726         * lib/progname.c: Likewise.
22727         * lib/progname.h: Likewise.
22728         * lib/progreloc.c: Likewise.
22729         * lib/putenv.c: Likewise.
22730         * lib/quote.c: Likewise.
22731         * lib/quote.h: Likewise.
22732         * lib/quotearg.c: Likewise.
22733         * lib/quotearg.h: Likewise.
22734         * lib/raise.c: Likewise.
22735         * lib/readline.c: Likewise.
22736         * lib/readline.h: Likewise.
22737         * lib/readlink.c: Likewise.
22738         * lib/readtokens.c: Likewise.
22739         * lib/readtokens.h: Likewise.
22740         * lib/readtokens0.c: Likewise.
22741         * lib/readtokens0.h: Likewise.
22742         * lib/readutmp.c: Likewise.
22743         * lib/readutmp.h: Likewise.
22744         * lib/realloc.c: Likewise.
22745         * lib/relocwrapper.c: Likewise.
22746         * lib/rename-dest-slash.c: Likewise.
22747         * lib/rename.c: Likewise.
22748         * lib/rmdir.c: Likewise.
22749         * lib/rpmatch.c: Likewise.
22750         * lib/safe-read.c: Likewise.
22751         * lib/safe-read.h: Likewise.
22752         * lib/safe-write.c: Likewise.
22753         * lib/safe-write.h: Likewise.
22754         * lib/same-inode.h: Likewise.
22755         * lib/same.c: Likewise.
22756         * lib/same.h: Likewise.
22757         * lib/save-cwd.c: Likewise.
22758         * lib/save-cwd.h: Likewise.
22759         * lib/savedir.c: Likewise.
22760         * lib/savedir.h: Likewise.
22761         * lib/savewd.c: Likewise.
22762         * lib/savewd.h: Likewise.
22763         * lib/search.in.h: Likewise.
22764         * lib/setenv.c: Likewise.
22765         * lib/setenv.h: Likewise.
22766         * lib/settime.c: Likewise.
22767         * lib/sh-quote.c: Likewise.
22768         * lib/sh-quote.h: Likewise.
22769         * lib/sig2str.c: Likewise.
22770         * lib/sig2str.h: Likewise.
22771         * lib/signal.in.h: Likewise.
22772         * lib/signbitd.c: Likewise.
22773         * lib/signbitf.c: Likewise.
22774         * lib/signbitl.c: Likewise.
22775         * lib/sigprocmask.c: Likewise.
22776         * lib/sincosl.c: Likewise.
22777         * lib/sleep.c: Likewise.
22778         * lib/sprintf.c: Likewise.
22779         * lib/sqrtl.c: Likewise.
22780         * lib/stat-time.h: Likewise.
22781         * lib/stdio--.h: Likewise.
22782         * lib/stdio-safer.h: Likewise.
22783         * lib/stdlib--.h: Likewise.
22784         * lib/stdlib-safer.h: Likewise.
22785         * lib/stdlib.in.h: Likewise.
22786         * lib/stpcpy.c: Likewise.
22787         * lib/stpncpy.c: Likewise.
22788         * lib/strchrnul.c: Likewise.
22789         * lib/strcspn.c: Likewise.
22790         * lib/strerror.c: Likewise.
22791         * lib/strftime.c: Likewise.
22792         * lib/strftime.h: Likewise.
22793         * lib/striconveh.c: Likewise.
22794         * lib/striconveh.h: Likewise.
22795         * lib/striconveha.c: Likewise.
22796         * lib/striconveha.h: Likewise.
22797         * lib/stripslash.c: Likewise.
22798         * lib/strnlen1.c: Likewise.
22799         * lib/strnlen1.h: Likewise.
22800         * lib/strtod.c: Likewise.
22801         * lib/strtoimax.c: Likewise.
22802         * lib/strtok_r.c: Likewise.
22803         * lib/strtol.c: Likewise.
22804         * lib/strtoll.c: Likewise.
22805         * lib/strtoul.c: Likewise.
22806         * lib/strtoull.c: Likewise.
22807         * lib/sysexits.in.h: Likewise.
22808         * lib/tempname.c: Likewise.
22809         * lib/tempname.h: Likewise.
22810         * lib/timespec.h: Likewise.
22811         * lib/tls.c: Likewise.
22812         * lib/tls.h: Likewise.
22813         * lib/tmpdir.c: Likewise.
22814         * lib/tmpdir.h: Likewise.
22815         * lib/tmpfile-safer.c: Likewise.
22816         * lib/tmpfile.c: Likewise.
22817         * lib/trigl.c: Likewise.
22818         * lib/trigl.h: Likewise.
22819         * lib/trim.c: Likewise.
22820         * lib/trim.h: Likewise.
22821         * lib/trunc.c: Likewise.
22822         * lib/truncf.c: Likewise.
22823         * lib/truncl.c: Likewise.
22824         * lib/tsearch.c: Likewise.
22825         * lib/unicodeio.c: Likewise.
22826         * lib/unicodeio.h: Likewise.
22827         * lib/unistd--.h: Likewise.
22828         * lib/unistd-safer.h: Likewise.
22829         * lib/unistdio/ulc-fprintf.c: Likewise.
22830         * lib/unistdio/ulc-vfprintf.c: Likewise.
22831         * lib/unlinkdir.c: Likewise.
22832         * lib/unlinkdir.h: Likewise.
22833         * lib/unlocked-io.h: Likewise.
22834         * lib/unsetenv.c: Likewise.
22835         * lib/userspec.c: Likewise.
22836         * lib/utime.c: Likewise.
22837         * lib/utimecmp.c: Likewise.
22838         * lib/utimecmp.h: Likewise.
22839         * lib/utimens.c: Likewise.
22840         * lib/verify.h: Likewise.
22841         * lib/verror.c: Likewise.
22842         * lib/verror.h: Likewise.
22843         * lib/version-etc-fsf.c: Likewise.
22844         * lib/version-etc.c: Likewise.
22845         * lib/version-etc.h: Likewise.
22846         * lib/vfprintf.c: Likewise.
22847         * lib/vprintf.c: Likewise.
22848         * lib/vsprintf.c: Likewise.
22849         * lib/w32spawn.h: Likewise.
22850         * lib/wait-process.c: Likewise.
22851         * lib/wait-process.h: Likewise.
22852         * lib/wcwidth.c: Likewise.
22853         * lib/write-any-file.c: Likewise.
22854         * lib/xalloc-die.c: Likewise.
22855         * lib/xalloc.h: Likewise.
22856         * lib/xasprintf.c: Likewise.
22857         * lib/xgetcwd.c: Likewise.
22858         * lib/xgetcwd.h: Likewise.
22859         * lib/xgetdomainname.c: Likewise.
22860         * lib/xgetdomainname.h: Likewise.
22861         * lib/xgethostname.c: Likewise.
22862         * lib/xmalloc.c: Likewise.
22863         * lib/xmalloca.c: Likewise.
22864         * lib/xmalloca.h: Likewise.
22865         * lib/xmemcoll.c: Likewise.
22866         * lib/xnanosleep.c: Likewise.
22867         * lib/xreadlink.c: Likewise.
22868         * lib/xreadlink.h: Likewise.
22869         * lib/xsetenv.c: Likewise.
22870         * lib/xsetenv.h: Likewise.
22871         * lib/xstriconv.c: Likewise.
22872         * lib/xstriconv.h: Likewise.
22873         * lib/xstrndup.c: Likewise.
22874         * lib/xstrndup.h: Likewise.
22875         * lib/xstrtod.c: Likewise.
22876         * lib/xstrtod.h: Likewise.
22877         * lib/xstrtol-error.c: Likewise.
22878         * lib/xstrtol.c: Likewise.
22879         * lib/xstrtol.h: Likewise.
22880         * lib/xtime.h: Likewise.
22881         * lib/xvasprintf.c: Likewise.
22882         * lib/xvasprintf.h: Likewise.
22883         * lib/yesno.c: Likewise.
22884         * lib/yesno.h: Likewise.
22885         * posix-modules: Likewise.
22886         * tests/test-alloca-opt.c: Likewise.
22887         * tests/test-arcfour.c: Likewise.
22888         * tests/test-arctwo.c: Likewise.
22889         * tests/test-argmatch.c: Likewise.
22890         * tests/test-argp-2.sh: Likewise.
22891         * tests/test-argp.c: Likewise.
22892         * tests/test-arpa_inet.c: Likewise.
22893         * tests/test-array_list.c: Likewise.
22894         * tests/test-array_oset.c: Likewise.
22895         * tests/test-atexit.c: Likewise.
22896         * tests/test-avltree_list.c: Likewise.
22897         * tests/test-avltree_oset.c: Likewise.
22898         * tests/test-avltreehash_list.c: Likewise.
22899         * tests/test-base64.c: Likewise.
22900         * tests/test-binary-io.c: Likewise.
22901         * tests/test-byteswap.c: Likewise.
22902         * tests/test-c-ctype.c: Likewise.
22903         * tests/test-c-strcasecmp.c: Likewise.
22904         * tests/test-c-strcasestr.c: Likewise.
22905         * tests/test-c-strncasecmp.c: Likewise.
22906         * tests/test-c-strstr.c: Likewise.
22907         * tests/test-canonicalize-lgpl.c: Likewise.
22908         * tests/test-canonicalize.c: Likewise.
22909         * tests/test-carray_list.c: Likewise.
22910         * tests/test-ceilf.c: Likewise.
22911         * tests/test-ceill.c: Likewise.
22912         * tests/test-count-one-bits.c: Likewise.
22913         * tests/test-crc.c: Likewise.
22914         * tests/test-dirname.c: Likewise.
22915         * tests/test-fbufmode.c: Likewise.
22916         * tests/test-fcntl.c: Likewise.
22917         * tests/test-fflush.c: Likewise.
22918         * tests/test-floorf.c: Likewise.
22919         * tests/test-floorl.c: Likewise.
22920         * tests/test-fopen.c: Likewise.
22921         * tests/test-fprintf-posix.c: Likewise.
22922         * tests/test-fprintf-posix.h: Likewise.
22923         * tests/test-fpurge.c: Likewise.
22924         * tests/test-freadable.c: Likewise.
22925         * tests/test-freadahead.c: Likewise.
22926         * tests/test-freading.c: Likewise.
22927         * tests/test-freopen.c: Likewise.
22928         * tests/test-frexp.c: Likewise.
22929         * tests/test-frexpl.c: Likewise.
22930         * tests/test-fseek.c: Likewise.
22931         * tests/test-fseeko.c: Likewise.
22932         * tests/test-fseterr.c: Likewise.
22933         * tests/test-fstrcmp.c: Likewise.
22934         * tests/test-ftell.c: Likewise.
22935         * tests/test-ftello.c: Likewise.
22936         * tests/test-fwritable.c: Likewise.
22937         * tests/test-fwriting.c: Likewise.
22938         * tests/test-getaddrinfo.c: Likewise.
22939         * tests/test-getpass.c: Likewise.
22940         * tests/test-gettimeofday.c: Likewise.
22941         * tests/test-hmac-md5.c: Likewise.
22942         * tests/test-hmac-sha1.c: Likewise.
22943         * tests/test-iconv.c: Likewise.
22944         * tests/test-iconvme.c: Likewise.
22945         * tests/test-inttypes.c: Likewise.
22946         * tests/test-isnan.c: Likewise.
22947         * tests/test-isnanf.c: Likewise.
22948         * tests/test-isnanl-nolibm.c: Likewise.
22949         * tests/test-isnanl.c: Likewise.
22950         * tests/test-isnanl.h: Likewise.
22951         * tests/test-ldexpl.c: Likewise.
22952         * tests/test-linked_list.c: Likewise.
22953         * tests/test-linkedhash_list.c: Likewise.
22954         * tests/test-locale.c: Likewise.
22955         * tests/test-localename.c: Likewise.
22956         * tests/test-lock.c: Likewise.
22957         * tests/test-lseek.c: Likewise.
22958         * tests/test-malloca.c: Likewise.
22959         * tests/test-math.c: Likewise.
22960         * tests/test-mbscasecmp.c: Likewise.
22961         * tests/test-mbscasestr1.c: Likewise.
22962         * tests/test-mbscasestr2.c: Likewise.
22963         * tests/test-mbscasestr3.c: Likewise.
22964         * tests/test-mbscasestr4.c: Likewise.
22965         * tests/test-mbschr.c: Likewise.
22966         * tests/test-mbscspn.c: Likewise.
22967         * tests/test-mbsncasecmp.c: Likewise.
22968         * tests/test-mbspbrk.c: Likewise.
22969         * tests/test-mbspcasecmp.c: Likewise.
22970         * tests/test-mbsrchr.c: Likewise.
22971         * tests/test-mbsspn.c: Likewise.
22972         * tests/test-mbsstr1.c: Likewise.
22973         * tests/test-mbsstr2.c: Likewise.
22974         * tests/test-mbsstr3.c: Likewise.
22975         * tests/test-md5.c: Likewise.
22976         * tests/test-memmem.c: Likewise.
22977         * tests/test-netinet_in.c: Likewise.
22978         * tests/test-open.c: Likewise.
22979         * tests/test-printf-frexp.c: Likewise.
22980         * tests/test-printf-frexpl.c: Likewise.
22981         * tests/test-printf-posix.c: Likewise.
22982         * tests/test-printf-posix.h: Likewise.
22983         * tests/test-rbtree_list.c: Likewise.
22984         * tests/test-rbtree_oset.c: Likewise.
22985         * tests/test-rbtreehash_list.c: Likewise.
22986         * tests/test-read-file.c: Likewise.
22987         * tests/test-rijndael.c: Likewise.
22988         * tests/test-search.c: Likewise.
22989         * tests/test-signbit.c: Likewise.
22990         * tests/test-sleep.c: Likewise.
22991         * tests/test-snprintf-posix.c: Likewise.
22992         * tests/test-snprintf-posix.h: Likewise.
22993         * tests/test-snprintf.c: Likewise.
22994         * tests/test-sprintf-posix.c: Likewise.
22995         * tests/test-sprintf-posix.h: Likewise.
22996         * tests/test-stat-time.c: Likewise.
22997         * tests/test-stdbool.c: Likewise.
22998         * tests/test-stdint.c: Likewise.
22999         * tests/test-stdio.c: Likewise.
23000         * tests/test-stdlib.c: Likewise.
23001         * tests/test-stpncpy.c: Likewise.
23002         * tests/test-strcasestr.c: Likewise.
23003         * tests/test-striconv.c: Likewise.
23004         * tests/test-striconveh.c: Likewise.
23005         * tests/test-striconveha.c: Likewise.
23006         * tests/test-string.c: Likewise.
23007         * tests/test-sys_select.c: Likewise.
23008         * tests/test-sys_socket.c: Likewise.
23009         * tests/test-sys_stat.c: Likewise.
23010         * tests/test-sys_time.c: Likewise.
23011         * tests/test-sysexits.c: Likewise.
23012         * tests/test-time.c: Likewise.
23013         * tests/test-tls.c: Likewise.
23014         * tests/test-trunc.c: Likewise.
23015         * tests/test-truncf.c: Likewise.
23016         * tests/test-truncl.c: Likewise.
23017         * tests/test-unistd.c: Likewise.
23018         * tests/test-vasnprintf-posix.c: Likewise.
23019         * tests/test-vasnprintf-posix2.c: Likewise.
23020         * tests/test-vasnprintf.c: Likewise.
23021         * tests/test-vasprintf-posix.c: Likewise.
23022         * tests/test-vasprintf.c: Likewise.
23023         * tests/test-verify.c: Likewise.
23024         * tests/test-vfprintf-posix.c: Likewise.
23025         * tests/test-vprintf-posix.c: Likewise.
23026         * tests/test-vsnprintf-posix.c: Likewise.
23027         * tests/test-vsnprintf.c: Likewise.
23028         * tests/test-vsprintf-posix.c: Likewise.
23029         * tests/test-wchar.c: Likewise.
23030         * tests/test-wctype.c: Likewise.
23031         * tests/test-wcwidth.c: Likewise.
23032         * tests/test-xstrtol.c: Likewise.
23033         * tests/test-xvasprintf.c: Likewise.
23034         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
23035         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
23036         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
23037         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
23038         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
23039         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
23040         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
23041         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
23042         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
23043         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
23044         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
23045         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
23046         * tests/uniname/test-uninames.c: Likewise.
23047         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
23048         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
23049         * tests/unistdio/test-u16-printf1.h: Likewise.
23050         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
23051         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
23052         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
23053         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
23054         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
23055         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
23056         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
23057         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
23058         * tests/unistdio/test-u32-printf1.h: Likewise.
23059         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
23060         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
23061         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
23062         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
23063         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
23064         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
23065         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
23066         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
23067         * tests/unistdio/test-u8-printf1.h: Likewise.
23068         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
23069         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
23070         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
23071         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
23072         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
23073         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
23074         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
23075         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
23076         * tests/unistdio/test-ulc-printf1.h: Likewise.
23077         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
23078         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
23079         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
23080         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
23081         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
23082         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
23083         * tests/uniwidth/test-u16-strwidth.c: Likewise.
23084         * tests/uniwidth/test-u16-width.c: Likewise.
23085         * tests/uniwidth/test-u32-strwidth.c: Likewise.
23086         * tests/uniwidth/test-u32-width.c: Likewise.
23087         * tests/uniwidth/test-u8-strwidth.c: Likewise.
23088         * tests/uniwidth/test-u8-width.c: Likewise.
23089         * tests/uniwidth/test-uc_width.c: Likewise.
23090         * config/srclist-update: Likewise.
23091         (fixlicense): Update to GPLv3+.
23092
23093         Change copyright notice from LGPLv2.1+ to LGPLv3+.
23094         * tests/test-tsearch.c: Change copyright notice.
23095
23096         Change copyright notice from LGPLv2.0+ to LGPLv3+.
23097         * lib/c-strcaseeq.h: Change copyright notice.
23098         * lib/streq.h: Likewise.
23099         * lib/uniconv.h: Likewise.
23100         * lib/uniconv/u-conv-from-enc.h: Likewise.
23101         * lib/uniconv/u-conv-to-enc.h: Likewise.
23102         * lib/uniconv/u-strconv-from-enc.h: Likewise.
23103         * lib/uniconv/u-strconv-to-enc.h: Likewise.
23104         * lib/uniconv/u16-conv-from-enc.c: Likewise.
23105         * lib/uniconv/u16-conv-to-enc.c: Likewise.
23106         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
23107         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
23108         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
23109         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
23110         * lib/uniconv/u32-conv-from-enc.c: Likewise.
23111         * lib/uniconv/u32-conv-to-enc.c: Likewise.
23112         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
23113         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
23114         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
23115         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
23116         * lib/uniconv/u8-conv-from-enc.c: Likewise.
23117         * lib/uniconv/u8-conv-to-enc.c: Likewise.
23118         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
23119         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
23120         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
23121         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
23122         * lib/uniname.h: Likewise.
23123         * lib/uniname/uniname.c: Likewise.
23124         * lib/unistdio.h: Likewise.
23125         * lib/unistdio/u-asnprintf.h: Likewise.
23126         * lib/unistdio/u-asprintf.h: Likewise.
23127         * lib/unistdio/u-printf-args.c: Likewise.
23128         * lib/unistdio/u-printf-args.h: Likewise.
23129         * lib/unistdio/u-printf-parse.h: Likewise.
23130         * lib/unistdio/u-snprintf.h: Likewise.
23131         * lib/unistdio/u-sprintf.h: Likewise.
23132         * lib/unistdio/u-vasprintf.h: Likewise.
23133         * lib/unistdio/u-vsnprintf.h: Likewise.
23134         * lib/unistdio/u-vsprintf.h: Likewise.
23135         * lib/unistdio/u16-asnprintf.c: Likewise.
23136         * lib/unistdio/u16-asprintf.c: Likewise.
23137         * lib/unistdio/u16-printf-parse.c: Likewise.
23138         * lib/unistdio/u16-snprintf.c: Likewise.
23139         * lib/unistdio/u16-sprintf.c: Likewise.
23140         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
23141         * lib/unistdio/u16-u16-asprintf.c: Likewise.
23142         * lib/unistdio/u16-u16-snprintf.c: Likewise.
23143         * lib/unistdio/u16-u16-sprintf.c: Likewise.
23144         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
23145         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
23146         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
23147         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
23148         * lib/unistdio/u16-vasnprintf.c: Likewise.
23149         * lib/unistdio/u16-vasprintf.c: Likewise.
23150         * lib/unistdio/u16-vsnprintf.c: Likewise.
23151         * lib/unistdio/u16-vsprintf.c: Likewise.
23152         * lib/unistdio/u32-asnprintf.c: Likewise.
23153         * lib/unistdio/u32-asprintf.c: Likewise.
23154         * lib/unistdio/u32-printf-parse.c: Likewise.
23155         * lib/unistdio/u32-snprintf.c: Likewise.
23156         * lib/unistdio/u32-sprintf.c: Likewise.
23157         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
23158         * lib/unistdio/u32-u32-asprintf.c: Likewise.
23159         * lib/unistdio/u32-u32-snprintf.c: Likewise.
23160         * lib/unistdio/u32-u32-sprintf.c: Likewise.
23161         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
23162         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
23163         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
23164         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
23165         * lib/unistdio/u32-vasnprintf.c: Likewise.
23166         * lib/unistdio/u32-vasprintf.c: Likewise.
23167         * lib/unistdio/u32-vsnprintf.c: Likewise.
23168         * lib/unistdio/u32-vsprintf.c: Likewise.
23169         * lib/unistdio/u8-asnprintf.c: Likewise.
23170         * lib/unistdio/u8-asprintf.c: Likewise.
23171         * lib/unistdio/u8-printf-parse.c: Likewise.
23172         * lib/unistdio/u8-snprintf.c: Likewise.
23173         * lib/unistdio/u8-sprintf.c: Likewise.
23174         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
23175         * lib/unistdio/u8-u8-asprintf.c: Likewise.
23176         * lib/unistdio/u8-u8-snprintf.c: Likewise.
23177         * lib/unistdio/u8-u8-sprintf.c: Likewise.
23178         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
23179         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
23180         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
23181         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
23182         * lib/unistdio/u8-vasnprintf.c: Likewise.
23183         * lib/unistdio/u8-vasprintf.c: Likewise.
23184         * lib/unistdio/u8-vsnprintf.c: Likewise.
23185         * lib/unistdio/u8-vsprintf.c: Likewise.
23186         * lib/unistdio/ulc-asnprintf.c: Likewise.
23187         * lib/unistdio/ulc-asprintf.c: Likewise.
23188         * lib/unistdio/ulc-printf-parse.c: Likewise.
23189         * lib/unistdio/ulc-snprintf.c: Likewise.
23190         * lib/unistdio/ulc-sprintf.c: Likewise.
23191         * lib/unistdio/ulc-vasnprintf.c: Likewise.
23192         * lib/unistdio/ulc-vasprintf.c: Likewise.
23193         * lib/unistdio/ulc-vsnprintf.c: Likewise.
23194         * lib/unistdio/ulc-vsprintf.c: Likewise.
23195         * lib/unistr.h: Likewise.
23196         * lib/unistr/u-cpy-alloc.h: Likewise.
23197         * lib/unistr/u-cpy.h: Likewise.
23198         * lib/unistr/u-endswith.h: Likewise.
23199         * lib/unistr/u-move.h: Likewise.
23200         * lib/unistr/u-set.h: Likewise.
23201         * lib/unistr/u-startswith.h: Likewise.
23202         * lib/unistr/u-stpcpy.h: Likewise.
23203         * lib/unistr/u-stpncpy.h: Likewise.
23204         * lib/unistr/u-strcat.h: Likewise.
23205         * lib/unistr/u-strcpy.h: Likewise.
23206         * lib/unistr/u-strcspn.h: Likewise.
23207         * lib/unistr/u-strdup.h: Likewise.
23208         * lib/unistr/u-strlen.h: Likewise.
23209         * lib/unistr/u-strncat.h: Likewise.
23210         * lib/unistr/u-strncpy.h: Likewise.
23211         * lib/unistr/u-strnlen.h: Likewise.
23212         * lib/unistr/u-strpbrk.h: Likewise.
23213         * lib/unistr/u-strspn.h: Likewise.
23214         * lib/unistr/u-strstr.h: Likewise.
23215         * lib/unistr/u-strtok.h: Likewise.
23216         * lib/unistr/u16-check.c: Likewise.
23217         * lib/unistr/u16-chr.c: Likewise.
23218         * lib/unistr/u16-cmp.c: Likewise.
23219         * lib/unistr/u16-cpy-alloc.c: Likewise.
23220         * lib/unistr/u16-cpy.c: Likewise.
23221         * lib/unistr/u16-endswith.c: Likewise.
23222         * lib/unistr/u16-mblen.c: Likewise.
23223         * lib/unistr/u16-mbsnlen.c: Likewise.
23224         * lib/unistr/u16-mbtouc-aux.c: Likewise.
23225         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
23226         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
23227         * lib/unistr/u16-mbtouc.c: Likewise.
23228         * lib/unistr/u16-mbtoucr.c: Likewise.
23229         * lib/unistr/u16-move.c: Likewise.
23230         * lib/unistr/u16-next.c: Likewise.
23231         * lib/unistr/u16-prev.c: Likewise.
23232         * lib/unistr/u16-set.c: Likewise.
23233         * lib/unistr/u16-startswith.c: Likewise.
23234         * lib/unistr/u16-stpcpy.c: Likewise.
23235         * lib/unistr/u16-stpncpy.c: Likewise.
23236         * lib/unistr/u16-strcat.c: Likewise.
23237         * lib/unistr/u16-strchr.c: Likewise.
23238         * lib/unistr/u16-strcmp.c: Likewise.
23239         * lib/unistr/u16-strcpy.c: Likewise.
23240         * lib/unistr/u16-strcspn.c: Likewise.
23241         * lib/unistr/u16-strdup.c: Likewise.
23242         * lib/unistr/u16-strlen.c: Likewise.
23243         * lib/unistr/u16-strmblen.c: Likewise.
23244         * lib/unistr/u16-strmbtouc.c: Likewise.
23245         * lib/unistr/u16-strncat.c: Likewise.
23246         * lib/unistr/u16-strncmp.c: Likewise.
23247         * lib/unistr/u16-strncpy.c: Likewise.
23248         * lib/unistr/u16-strnlen.c: Likewise.
23249         * lib/unistr/u16-strpbrk.c: Likewise.
23250         * lib/unistr/u16-strrchr.c: Likewise.
23251         * lib/unistr/u16-strspn.c: Likewise.
23252         * lib/unistr/u16-strstr.c: Likewise.
23253         * lib/unistr/u16-strtok.c: Likewise.
23254         * lib/unistr/u16-to-u32.c: Likewise.
23255         * lib/unistr/u16-to-u8.c: Likewise.
23256         * lib/unistr/u16-uctomb-aux.c: Likewise.
23257         * lib/unistr/u16-uctomb.c: Likewise.
23258         * lib/unistr/u32-check.c: Likewise.
23259         * lib/unistr/u32-chr.c: Likewise.
23260         * lib/unistr/u32-cmp.c: Likewise.
23261         * lib/unistr/u32-cpy-alloc.c: Likewise.
23262         * lib/unistr/u32-cpy.c: Likewise.
23263         * lib/unistr/u32-endswith.c: Likewise.
23264         * lib/unistr/u32-mblen.c: Likewise.
23265         * lib/unistr/u32-mbsnlen.c: Likewise.
23266         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
23267         * lib/unistr/u32-mbtouc.c: Likewise.
23268         * lib/unistr/u32-mbtoucr.c: Likewise.
23269         * lib/unistr/u32-move.c: Likewise.
23270         * lib/unistr/u32-next.c: Likewise.
23271         * lib/unistr/u32-prev.c: Likewise.
23272         * lib/unistr/u32-set.c: Likewise.
23273         * lib/unistr/u32-startswith.c: Likewise.
23274         * lib/unistr/u32-stpcpy.c: Likewise.
23275         * lib/unistr/u32-stpncpy.c: Likewise.
23276         * lib/unistr/u32-strcat.c: Likewise.
23277         * lib/unistr/u32-strchr.c: Likewise.
23278         * lib/unistr/u32-strcmp.c: Likewise.
23279         * lib/unistr/u32-strcpy.c: Likewise.
23280         * lib/unistr/u32-strcspn.c: Likewise.
23281         * lib/unistr/u32-strdup.c: Likewise.
23282         * lib/unistr/u32-strlen.c: Likewise.
23283         * lib/unistr/u32-strmblen.c: Likewise.
23284         * lib/unistr/u32-strmbtouc.c: Likewise.
23285         * lib/unistr/u32-strncat.c: Likewise.
23286         * lib/unistr/u32-strncmp.c: Likewise.
23287         * lib/unistr/u32-strncpy.c: Likewise.
23288         * lib/unistr/u32-strnlen.c: Likewise.
23289         * lib/unistr/u32-strpbrk.c: Likewise.
23290         * lib/unistr/u32-strrchr.c: Likewise.
23291         * lib/unistr/u32-strspn.c: Likewise.
23292         * lib/unistr/u32-strstr.c: Likewise.
23293         * lib/unistr/u32-strtok.c: Likewise.
23294         * lib/unistr/u32-to-u16.c: Likewise.
23295         * lib/unistr/u32-to-u8.c: Likewise.
23296         * lib/unistr/u32-uctomb.c: Likewise.
23297         * lib/unistr/u8-check.c: Likewise.
23298         * lib/unistr/u8-chr.c: Likewise.
23299         * lib/unistr/u8-cmp.c: Likewise.
23300         * lib/unistr/u8-cpy-alloc.c: Likewise.
23301         * lib/unistr/u8-cpy.c: Likewise.
23302         * lib/unistr/u8-endswith.c: Likewise.
23303         * lib/unistr/u8-mblen.c: Likewise.
23304         * lib/unistr/u8-mbsnlen.c: Likewise.
23305         * lib/unistr/u8-mbtouc-aux.c: Likewise.
23306         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
23307         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
23308         * lib/unistr/u8-mbtouc.c: Likewise.
23309         * lib/unistr/u8-mbtoucr.c: Likewise.
23310         * lib/unistr/u8-move.c: Likewise.
23311         * lib/unistr/u8-next.c: Likewise.
23312         * lib/unistr/u8-prev.c: Likewise.
23313         * lib/unistr/u8-set.c: Likewise.
23314         * lib/unistr/u8-startswith.c: Likewise.
23315         * lib/unistr/u8-stpcpy.c: Likewise.
23316         * lib/unistr/u8-stpncpy.c: Likewise.
23317         * lib/unistr/u8-strcat.c: Likewise.
23318         * lib/unistr/u8-strchr.c: Likewise.
23319         * lib/unistr/u8-strcmp.c: Likewise.
23320         * lib/unistr/u8-strcpy.c: Likewise.
23321         * lib/unistr/u8-strcspn.c: Likewise.
23322         * lib/unistr/u8-strdup.c: Likewise.
23323         * lib/unistr/u8-strlen.c: Likewise.
23324         * lib/unistr/u8-strmblen.c: Likewise.
23325         * lib/unistr/u8-strmbtouc.c: Likewise.
23326         * lib/unistr/u8-strncat.c: Likewise.
23327         * lib/unistr/u8-strncmp.c: Likewise.
23328         * lib/unistr/u8-strncpy.c: Likewise.
23329         * lib/unistr/u8-strnlen.c: Likewise.
23330         * lib/unistr/u8-strpbrk.c: Likewise.
23331         * lib/unistr/u8-strrchr.c: Likewise.
23332         * lib/unistr/u8-strspn.c: Likewise.
23333         * lib/unistr/u8-strstr.c: Likewise.
23334         * lib/unistr/u8-strtok.c: Likewise.
23335         * lib/unistr/u8-to-u16.c: Likewise.
23336         * lib/unistr/u8-to-u32.c: Likewise.
23337         * lib/unistr/u8-uctomb-aux.c: Likewise.
23338         * lib/unistr/u8-uctomb.c: Likewise.
23339         * lib/unitypes.h: Likewise.
23340         * lib/uniwidth.h: Likewise.
23341         * lib/uniwidth/cjk.h: Likewise.
23342         * lib/uniwidth/u16-strwidth.c: Likewise.
23343         * lib/uniwidth/u16-width.c: Likewise.
23344         * lib/uniwidth/u32-strwidth.c: Likewise.
23345         * lib/uniwidth/u32-width.c: Likewise.
23346         * lib/uniwidth/u8-strwidth.c: Likewise.
23347         * lib/uniwidth/u8-width.c: Likewise.
23348         * lib/uniwidth/width.c: Likewise.
23349
23350 2007-10-07  Bruno Haible  <bruno@clisp.org>
23351
23352         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
23353         The file is still under LGPL (see modules/inttypes).
23354
23355 2007-10-06  Bruno Haible  <bruno@clisp.org>
23356
23357         * modules/trunc (Dependencies): Add 'extensions'.
23358         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
23359         Reported by Ben Pfaff <blp@gnu.org>.
23360
23361 2007-10-06  Bruno Haible  <bruno@clisp.org>
23362
23363         * modules/freopen-tests: New file.
23364         * tests/test-freopen.c: New file.
23365
23366         * modules/fopen-tests: New file.
23367         * tests/test-fopen.c: New file.
23368
23369         * modules/fopen: New file.
23370         * lib/fopen.c: New file.
23371         * m4/fopen.m4: New file.
23372         * modules/freopen: New file.
23373         * lib/freopen.c: New file.
23374         * m4/freopen.m4: New file.
23375         * lib/stdio.in.h (fopen, freopen): New declarations.
23376         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
23377         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
23378         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
23379         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
23380         * doc/functions/fopen.texi: Mention the 'fopen' module.
23381         * doc/functions/freopen.texi: Mention the 'freopen' module.
23382
23383 2007-10-06  Bruno Haible  <bruno@clisp.org>
23384
23385         * modules/open-tests: New file.
23386         * tests/test-open.c: New file.
23387
23388         * modules/open: New file.
23389         * lib/open.c: New file.
23390         * m4/open.m4: New file.
23391         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
23392         lib/open.c does.
23393         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
23394         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
23395         macros.
23396         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
23397         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
23398         REPLACE_OPEN.
23399         * doc/functions/open.texi: Mention the 'open' module.
23400
23401 2007-10-04  Bruno Haible  <bruno@clisp.org>
23402
23403         * modules/ceill-tests: New file.
23404         * tests/test-ceill.c: New file.
23405
23406         * modules/ceill: New file.
23407         * lib/ceill.c: Replace entire file.
23408         * m4/ceill.m4: New file.
23409         * lib/math.in.h (ceill): Replace declaration.
23410         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
23411         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
23412         * doc/functions/ceill.texi: Mention the 'ceill' module.
23413         * modules/mathl (Files): Remove lib/ceill.c.
23414         (Depends-on): Add ceill.
23415
23416 2007-10-04  Bruno Haible  <bruno@clisp.org>
23417
23418         * modules/ceilf-tests: New file.
23419         * tests/test-ceilf.c: New file.
23420
23421         * modules/ceilf: New file.
23422         * lib/ceil.c: New file.
23423         * lib/ceilf.c: New file.
23424         * m4/ceilf.m4: New file.
23425         * lib/math.in.h (ceilf): New declaration.
23426         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
23427         HAVE_DECL_CEILF.
23428         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
23429         HAVE_DECL_CEILF.
23430         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
23431
23432 2007-10-04  Bruno Haible  <bruno@clisp.org>
23433
23434         * modules/floorl-tests: New file.
23435         * tests/test-floorl.c: New file.
23436
23437         * modules/floorl: New file.
23438         * lib/floorl.c: Replace entire file.
23439         * m4/floorl.m4: New file.
23440         * lib/math.in.h (floorl): Replace declaration.
23441         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
23442         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
23443         * doc/functions/floorl.texi: Mention the 'floorl' module.
23444         * modules/mathl (Files): Remove lib/floorl.c.
23445         (Depends-on): Add floorl.
23446
23447 2007-10-04  Bruno Haible  <bruno@clisp.org>
23448
23449         * modules/floorf-tests: New file.
23450         * tests/test-floorf.c: New file.
23451
23452         * modules/floorf: New file.
23453         * lib/floor.c: New file.
23454         * lib/floorf.c: New file.
23455         * m4/floorf.m4: New file.
23456         * lib/math.in.h (floorf): New declaration.
23457         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
23458         HAVE_DECL_FLOORF.
23459         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
23460         HAVE_DECL_FLOORF.
23461         * doc/functions/floorf.texi: Mention the 'floorf' module.
23462
23463 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
23464             Bruno Haible  <bruno@clisp.org>
23465
23466         Advertise for the Git server instead of the CVS server.
23467         * doc/gnulib-intro.texi (Steady Development): Mention the Git
23468         repository instead of the CVS one.
23469         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
23470         about all VCS systems generically.
23471         * doc/gnulib.texi (Introduction): Capitalize `Git'.
23472
23473 2007-10-04  Bruno Haible  <bruno@clisp.org>
23474
23475         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
23476         means.
23477         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
23478
23479 2007-10-04  Bruno Haible  <bruno@clisp.org>
23480
23481         * modules/truncl-tests: New file.
23482         * tests/test-truncl.c: New file.
23483
23484         * modules/truncl: New file.
23485         * lib/truncl.c: New file.
23486         * m4/truncl.m4: New file.
23487         * lib/math.in.h (truncl): New declaration.
23488         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
23489         HAVE_DECL_TRUNCL.
23490         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
23491         HAVE_DECL_TRUNCL.
23492         * doc/functions/truncl.texi: Mention the 'truncl' module.
23493
23494 2007-10-04  Bruno Haible  <bruno@clisp.org>
23495
23496         * modules/truncf-tests: New file.
23497         * tests/test-truncf.c: New file.
23498
23499         * modules/truncf: New file.
23500         * lib/trunc.c: Make paramerizable through USE_* macros.
23501         * lib/truncf.c: New file.
23502         * m4/truncf.m4: New file.
23503         * lib/math.in.h (truncf): New declaration.
23504         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
23505         HAVE_DECL_TRUNCF.
23506         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
23507         HAVE_DECL_TRUNCF.
23508         * doc/functions/truncf.texi: Mention the 'truncf' module.
23509
23510 2007-10-03  Bruno Haible  <bruno@clisp.org>
23511
23512         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
23513         augmentation also for tests modules.
23514         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
23515         * modules/atexit-tests (Makefile.am): Likewise.
23516         * modules/binary-io-tests (Makefile.am): Likewise.
23517         * modules/c-strcase-tests (Makefile.am): Likewise.
23518         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
23519         * modules/canonicalize-tests (Makefile.am): Likewise.
23520         * modules/closein-tests (Makefile.am): Likewise.
23521         * modules/fprintf-posix-tests (Makefile.am): Likewise.
23522         * modules/freadahead-tests (Makefile.am): Likewise.
23523         * modules/fseek-tests (Makefile.am): Likewise.
23524         * modules/fseeko-tests (Makefile.am): Likewise.
23525         * modules/ftell-tests (Makefile.am): Likewise.
23526         * modules/ftello-tests (Makefile.am): Likewise.
23527         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
23528         * modules/isnanl-tests (Makefile.am): Likewise.
23529         * modules/lseek-tests (Makefile.am): Likewise.
23530         * modules/mbscasecmp-tests (Makefile.am): Likewise.
23531         * modules/mbscasestr-tests (Makefile.am): Likewise.
23532         * modules/mbschr-tests (Makefile.am): Likewise.
23533         * modules/mbscspn-tests (Makefile.am): Likewise.
23534         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
23535         * modules/mbspbrk-tests (Makefile.am): Likewise.
23536         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
23537         * modules/mbsrchr-tests (Makefile.am): Likewise.
23538         * modules/mbsspn-tests (Makefile.am): Likewise.
23539         * modules/mbsstr-tests (Makefile.am): Likewise.
23540         * modules/printf-posix-tests (Makefile.am): Likewise.
23541         * modules/snprintf-posix-tests (Makefile.am): Likewise.
23542         * modules/sprintf-posix-tests (Makefile.am): Likewise.
23543         * modules/tsearch-tests (Makefile.am): Likewise.
23544         * modules/uniname/uniname-tests (Makefile.am): Likewise.
23545         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
23546         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
23547         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
23548         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
23549         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
23550         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
23551         * modules/vprintf-posix-tests (Makefile.am): Likewise.
23552         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
23553         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
23554         * modules/xstrtoimax-tests (Makefile.am): Likewise.
23555         * modules/xstrtol-tests (Makefile.am): Likewise.
23556         * modules/xstrtoumax-tests (Makefile.am): Likewise.
23557         * modules/yesno-tests (Makefile.am): Likewise.
23558
23559 2007-10-03  Bruno Haible  <bruno@clisp.org>
23560
23561         * modules/trunc-tests: New file.
23562         * tests/test-trunc.c: New file.
23563
23564         * modules/trunc: New file.
23565         * lib/trunc.c: New file.
23566         * m4/trunc.m4: New file.
23567         * lib/math.in.h (trunc): New declaration.
23568         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
23569         HAVE_DECL_TRUNC.
23570         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
23571         HAVE_DECL_TRUNC.
23572         * doc/functions/trunc.texi: Mention the 'trunc' module.
23573
23574 2007-10-03  Bruno Haible  <bruno@clisp.org>
23575
23576         * tests/test-fpending.c: New file, mostly copied
23577         from coreutils/lib/t-fpending.c.
23578         * modules/fpending-tests: New file.
23579
23580 2007-10-03  Bruno Haible  <bruno@clisp.org>
23581
23582         Port the stdio extensions to QNX (untested).
23583         * lib/fseterr.c (fseterr): Add support for QNX.
23584         * lib/fbufmode.c (fbufmode): Likewise.
23585         * lib/freadable.c (freadable): Likewise.
23586         * lib/fwritable.c (fwritable): Likewise.
23587         * lib/freading.c (freading): Likewise.
23588         * lib/fwriting.c (fwriting): Likewise.
23589         * lib/freadahead.c (freadahed): Likewise.
23590         * lib/fpurge.c (fpurge): Likewise.
23591         * lib/fseeko.c (rpl_fseeko): Likewise.
23592
23593 2007-10-03  Bruno Haible  <bruno@clisp.org>
23594             Jim Meyering  <jim@meyering.net>
23595             Eric Blake  <ebb9@byu.net>
23596
23597         * doc/relocatable.texi: Use @command instead of @program.
23598
23599 2007-10-02  Jim Meyering  <jim@meyering.net>
23600
23601         Perform one more "_.h" -> ".in.h" substitution.
23602         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
23603         instead of unistd_.h here, too.
23604
23605 2007-10-01  Bruno Haible  <bruno@clisp.org>
23606
23607         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
23608         Needed for the alloca-opt module.
23609
23610 2007-09-30  Bruno Haible  <bruno@clisp.org>
23611
23612         * lib/alloca.in.h: Renamed from lib/alloca_.h.
23613         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
23614         alloca_.h.
23615         * lib/argz.in.h: Renamed from lib/argz_.h.
23616         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
23617         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
23618         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
23619         byteswap_.h.
23620         * lib/dirent.in.h: Renamed from lib/dirent_.h.
23621         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
23622         dirent_.h.
23623         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
23624         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
23625         fcntl_.h.
23626         * lib/float.in.h: Renamed from lib/float_.h.
23627         * modules/float (Files, Makefile.am): Use float.in.h instead of
23628         float_.h.
23629         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
23630         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
23631         fnmatch_.h.
23632         * lib/getopt.in.h: Renamed from lib/getopt_.h.
23633         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
23634         getopt_.h.
23635         * lib/glob.in.h: Renamed from lib/glob_.h.
23636         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
23637         * lib/iconv.in.h: Renamed from lib/iconv_.h.
23638         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
23639         iconv_.h.
23640         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
23641         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
23642         inttypes_.h.
23643         * lib/locale.in.h: Renamed from lib/locale_.h.
23644         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
23645         locale_.h.
23646         * lib/math.in.h: Renamed from lib/math_.h.
23647         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
23648         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
23649         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
23650         of netinet_in_.h. Add dependency.
23651         * lib/poll.in.h: Renamed from lib/poll_.h.
23652         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
23653         * lib/search.in.h: Renamed from lib/search_.h.
23654         * modules/search (Files, Makefile.am): Use search.in.h instead of
23655         search_.h.
23656         * lib/signal.in.h: Renamed from lib/signal_.h.
23657         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
23658         _signal.h.
23659         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
23660         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
23661         stdbool_.h.
23662         * lib/stdint.in.h: Renamed from lib/stdint_.h.
23663         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
23664         stdint_.h.
23665         * lib/stdio.in.h: Renamed from lib/stdio_.h.
23666         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
23667         stdio_.h.
23668         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
23669         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
23670         stdlib_.h.
23671         * lib/string.in.h: Renamed from lib/string_.h.
23672         * modules/string (Files, Makefile.am): Use string.in.h instead of
23673         string_.h.
23674         * doc/gnulib-tool.texi (Initial import): Update.
23675         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
23676         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
23677         of sys_select_.h. Add dependency.
23678         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
23679         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
23680         of sys_socket_.h.
23681         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
23682         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
23683         sys_stat_.h.
23684         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
23685         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
23686         sys_time_.h.
23687         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
23688         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
23689         sysexits_.h.
23690         * lib/time.in.h: Renamed from lib/time_.h.
23691         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
23692         * lib/unistd.in.h: Renamed from lib/unistd_.h.
23693         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
23694         unistd_.h.
23695         * lib/wchar.in.h: Renamed from lib/wchar_.h.
23696         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
23697         wchar_.h.
23698         * lib/wctype.in.h: Renamed from lib/wctype_.h.
23699         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
23700         wctype_.h.
23701         * build-aux/bootstrap (slurp): Update.
23702         * lib/.cppi-disable: Update.
23703
23704 2007-09-30  Bruno Haible  <bruno@clisp.org>
23705
23706         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
23707         Needed on BeOS.
23708
23709 2007-09-30  Bruno Haible  <bruno@clisp.org>
23710
23711         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
23712
23713 2007-09-29  Bruno Haible  <bruno@clisp.org>
23714
23715         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
23716
23717 2007-09-29  Bruno Haible  <bruno@clisp.org>
23718
23719         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
23720         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
23721         * build-aux/install-reloc: Compile also areadlink.c.
23722         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
23723
23724 2007-09-29  Bruno Haible  <bruno@clisp.org>
23725
23726         * gnulib-tool (func_emit_initmacro_done): Indentation.
23727
23728 2007-09-29  Bruno Haible  <bruno@clisp.org>
23729
23730         * README: Add CVS checkout update instructions.
23731         Info from Bob Proulx <bob@proulx.com>.
23732
23733 2007-09-28  Eric Blake  <ebb9@byu.net>
23734
23735         Provide move-if-change.
23736         * build-aux/move-if-change: New file, based on best practice
23737         rather than any canonical upstream location.
23738
23739 2007-09-28  Jim Meyering  <jim@meyering.net>
23740
23741         Fix canonicalize loop-detection corner case.
23742         Do not attempt to stat the symlink values stored via seen_triple.
23743         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
23744         on linux-2.6.18, (but not 2.6.22).
23745         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
23746         triple_compare.  The former compares dev,ino,filename, while the latter
23747         would actually stat dirname(filename) when dev and ino were equal.
23748         * lib/hash-triple.c: Install <string.h>.
23749         (STREQ): Define.
23750         (triple_compare_ino_str): New function.
23751         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
23752
23753 2007-09-28  Eric Blake  <ebb9@byu.net>
23754
23755         Enforce that AC_REPLACE_FUNCS files exist.
23756         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
23757         override check for typos.
23758
23759         Fix test-closein on Solaris 10.
23760         * tests/test-closein.c (main): Don't assume stdin can be inherited
23761         closed on all systems.
23762         * tests/test-closein.sh: Likewise.
23763         Reported by Piotr Tarnowski.
23764
23765 2007-09-28  Jim Meyering  <jim@meyering.net>
23766
23767         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
23768
23769 2007-09-27  Jim Meyering  <jim@meyering.net>
23770
23771         canonicalize: Avoid a false-positive cycle failure.
23772         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
23773         Sort.  Remove cycle-check.
23774         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
23775         not cycle-check.h.
23776         (seen_triple): New function.
23777         (canonicalize_filename_mode): Use it instead of cycle-check.
23778         * tests/test-canonicalize.c: Add a test for this bug.
23779         * tests/test-canonicalize.sh: Set up and run the test.
23780
23781         New module, file-set, from coreutils.
23782         * modules/file-set: Define it.
23783         * lib/file-set.c, lib/file-set.h: Implement.
23784
23785         New module, hash-triple, from coreutils.
23786         * modules/hash-triple: Define it.
23787         * lib/hash-triple.c, lib/hash-triple.h: Implement.
23788
23789 2007-09-25  Eric Blake  <ebb9@byu.net>
23790
23791         Fix strerror on Interix.
23792         * lib/string_.h (strerror): Declare replacement.
23793         * doc/functions/strerror.texi (strerror): Document the Interix
23794         shortcoming.
23795         * modules/string (Makefile.am): Support new hooks.
23796         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
23797         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
23798         gl_FUNC_STRERROR_SEPARATE.
23799         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
23800         * lib/strerror.c (rpl_strerror): Provide replacement.
23801         * modules/strerror (Depends-on): Add string.
23802         (configure.ac): Detect use of module.
23803         * tests/test-strerror.c: New file.
23804         * modules/strerror-tests: New test module.
23805         * modules/argp (Depends-on): Add strerror.
23806         * modules/error (Depends-on): Likewise.
23807         Reported by Martin Koeppe.
23808
23809 2007-09-24  Bruno Haible  <bruno@clisp.org>
23810
23811         * README: Update git instructions.
23812
23813 2007-09-24  Eric Blake  <ebb9@byu.net>
23814
23815         Revert fpending breakage from 2007-09-08.
23816         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
23817         __fpending.c.
23818
23819 2007-09-24  Jim Meyering  <jim@meyering.net>
23820
23821         filenamecat.c: Add a test.
23822         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
23823         showing how the function works when DIR is the empty string.
23824
23825 2007-09-21  Simon Josefsson  <simon@josefsson.org>
23826
23827         * tests/test-canonicalize.sh: Turn on executable bit.
23828
23829 2007-09-19  Eric Blake  <ebb9@byu.net>
23830
23831         * README: Update CVS instructions.
23832
23833 2007-09-18  Bruno Haible  <bruno@clisp.org>
23834
23835         * modules/areadlink: New file.
23836         * lib/areadlink.h (areadlink): New declaration.
23837         * lib/areadlink.c: New file, based on lib/xreadlink.c.
23838
23839 2007-09-17  Jim Meyering  <jim@meyering.net>
23840
23841         * lib/savewd.c (ESTALE) [!defined]: Define.
23842         Reported to be required on Interix by Martin Koeppe.
23843
23844 2007-09-17  Bruno Haible  <bruno@clisp.org>
23845
23846         * gnulib-tool (func_version): Use $version.
23847
23848 2007-09-16  Bruno Haible  <bruno@clisp.org>
23849
23850         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
23851         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
23852         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
23853         Reported by Greg Schafer <gschafer@zip.com.au>.
23854
23855 2007-09-15  Bruno Haible  <bruno@clisp.org>
23856
23857         * gnulib-tool (sed): Try a little harder to make bash understand the
23858         alias.
23859         Reported by Bruce Korb <bruce.korb@gmail.com>.
23860
23861 2007-09-13  Eric Blake  <ebb9@byu.net>
23862
23863         * ChangeLog: Remove conflict markers.
23864
23865 2007-09-13  Simon Josefsson  <simon@josefsson.org>
23866
23867         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
23868         Reported by Bruno Haible <bruno@clisp.org>.
23869
23870 2007-09-12  Bruno Haible  <bruno@clisp.org>
23871
23872         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
23873         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
23874         is not defined.
23875
23876 2007-09-12  Eric Blake  <ebb9@byu.net>
23877
23878         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
23879         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
23880         Autoconf definition.
23881         * modules/euidaccess (Depends-on): Add extensions, for
23882         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
23883         * modules/fnmatch (Depends-on): Likewise.
23884         * modules/getaddrinfo (Depends-on): Likewise.
23885         * modules/getdelim (Depends-on): Likewise.
23886         * modules/getline (Depends-on): Likewise.
23887         * modules/getsubopt (Depends-on): Likewise.
23888         * modules/gettext (Depends-on): Likewise.
23889         * modules/group-member (Depends-on): Likewise.
23890         * modules/mbchar (Depends-on): Likewise.
23891         * modules/memmem (Depends-on): Likewise.
23892         * modules/mempcpy (Depends-on): Likewise.
23893         * modules/memrchr (Depends-on): Likewise.
23894         * modules/pagealign_alloc (Depends-on): Likewise.
23895         * modules/readutmp (Depends-on): Likewise.
23896         * modules/stpcpy (Depends-on): Likewise.
23897         * modules/stpncpy (Depends-on): Likewise.
23898         * modules/strchrnul (Depends-on): Likewise.
23899         * modules/strndup (Depends-on): Likewise.
23900         * modules/strsep (Depends-on): Likewise.
23901         * modules/strverscmp (Depends-on): Likewise.
23902         * modules/vasprintf (Depends-on): Likewise.
23903         * modules/wcwidth (Depends-on): Likewise.
23904         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
23905         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
23906         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
23907         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
23908         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
23909         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23910         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
23911         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
23912         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
23913         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
23914         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23915         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
23916         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
23917         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
23918         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
23919         * m4/readutmp.m4 (gl_READUTMP): Likewise.
23920         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
23921         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
23922         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
23923         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
23924         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
23925         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
23926         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
23927         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
23928         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
23929         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
23930         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
23931         so that lock.m4 can be used in gettext without extensions module.
23932
23933 2007-09-11  Bruno Haible  <bruno@clisp.org>
23934
23935         * m4/isc-posix.m4: Remove file.
23936         Suggested by Eric Blake.
23937
23938 2007-09-11  Eric Blake  <ebb9@byu.net>
23939
23940         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
23941
23942 2007-09-10  Bruno Haible  <bruno@clisp.org>
23943
23944         * posix-modules: Fix typo in error message.
23945         Reported by Matt <mkraai@beckman.com>.
23946
23947 2007-09-09  Bruno Haible  <bruno@clisp.org>
23948
23949         * doc/functions/getdelim.texi: Update list of platforms lacking the
23950         function.
23951         * doc/functions/getline.texi: Likewise.
23952
23953 2007-09-09  Jim Meyering  <jim@meyering.net>
23954
23955         * lib/hash.c (hash_initialize): Detect calloc failure.
23956         Reported by Bruno Haible.
23957
23958 2007-09-09  Bruno Haible  <bruno@clisp.org>
23959
23960         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
23961         malloc or realloc fails.
23962
23963 2007-09-09  Bruno Haible  <bruno@clisp.org>
23964
23965         * modules/getcwd (Depends-on): Add malloc-posix.
23966         * modules/glob (Depends-on): Likewise.
23967         * modules/putenv (Depends-on): Likewise.
23968         * modules/strdup (Depends-on): Likewise.
23969         * modules/getdelim (Depends-on): Add realloc-posix.
23970         * modules/read-file (Depends-on): Likewise.
23971
23972 2007-09-09  Bruno Haible  <bruno@clisp.org>
23973
23974         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
23975         (gl_FUNC_MALLOC_POSIX): Require it.
23976         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
23977         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
23978         * modules/realloc (Files): Add m4/malloc.m4.
23979         * modules/calloc (Files): Likewise.
23980
23981 2007-09-09  Bruno Haible  <bruno@clisp.org>
23982
23983         * modules/malloc-posix: New file.
23984         * modules/malloc (Depends-on): Add malloc-posix.
23985         * lib/malloc.c: Include errno.h.
23986         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
23987         and a POSIX-compatible malloc into a single function. Set ENOMEM
23988         when returning NULL.
23989         * m4/malloc.m4: New file.
23990         * doc/functions/malloc.texi: Mention the malloc-posix module.
23991         * lib/stdlib_.h (malloc): New declaration.
23992         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
23993         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
23994         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
23995         and HAVE_MALLOC_POSIX.
23996
23997 2007-09-09  Bruno Haible  <bruno@clisp.org>
23998
23999         * modules/realloc-posix: New file.
24000         * modules/realloc (Depends-on): Add realloc-posix.
24001         * lib/realloc.c: Include errno.h.
24002         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
24003         and a POSIX-compatible realloc into a single function. Set ENOMEM
24004         when returning NULL.
24005         * m4/realloc.m4: New file.
24006         * doc/functions/realloc.texi: Mention the realloc-posix module.
24007         * lib/stdlib_.h (realloc): New declaration.
24008         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
24009         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
24010         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
24011         and HAVE_REALLOC_POSIX.
24012
24013 2007-09-09  Bruno Haible  <bruno@clisp.org>
24014
24015         * modules/calloc-posix: New file.
24016         * modules/calloc (Depends-on): Add calloc-posix.
24017         * lib/calloc.c: Include errno.h.
24018         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
24019         and a POSIX-compatible calloc into a single function. Set ENOMEM
24020         when returning NULL.
24021         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
24022         * doc/functions/calloc.texi: Mention the calloc-posix module.
24023         * lib/stdlib_.h (calloc): New declaration.
24024         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
24025         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
24026         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
24027         and HAVE_CALLOC_POSIX.
24028
24029 2007-09-09  Bruno Haible  <bruno@clisp.org>
24030
24031         Allow for modules to show an arbitrary notice.
24032         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
24033         * gnulib-tool: New option --extract-notice.
24034         (func_usage): Document it.
24035         (sed_extract_prog): Update.
24036         (func_get_notice): New function.
24037         (func_modules_notice): New function.
24038         (func_import, func_create_testdir): Invoke it.
24039         Suggested by Jim Meyering.
24040
24041 2007-09-09  Bruno Haible  <bruno@clisp.org>
24042
24043         * gnulib-tool: New options --verbose, --quiet.
24044         (func_usage): Document them.
24045         (verbose): New variable.
24046         (func_execute_command): New function.
24047         (func_import): Don't show the module list and the file list if
24048         $verbose < 0.
24049         (func_create_testdir): Likewise. Use func_execute_command.
24050         (func_create_megatestdir): Use func_execute_command.
24051
24052 2007-09-08  Bruno Haible  <bruno@clisp.org>
24053
24054         * gnulib-tool (func_import): Prefer rsync over wget when available,
24055         for fetching the PO files.
24056
24057 2007-09-08  Bruno Haible  <bruno@clisp.org>
24058
24059         * posix-modules: New file. Portions copied from gnulib-tool.
24060         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
24061
24062 2007-09-08  Jim Meyering  <jim@meyering.net>
24063
24064         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
24065         * lib/fpending.h: Rename from __fpending.h.
24066         * lib/fpending.c: Rename from __fpending.c.
24067         Include "fpending.h", not "__fpending.h".
24068         * lib/__fpending.h, lib/__fpending.c: Remove files.
24069         * modules/fpending (Files): Reflect new file names.
24070         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
24071
24072 2007-09-08  Bruno Haible  <bruno@clisp.org>
24073
24074         * m4/inttypes-h.m4: Remove stub file.
24075
24076 2007-09-07  Simon Josefsson  <simon@josefsson.org>
24077
24078         * doc/headers/stdint.texi: Discuss #include_next issue.
24079
24080 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
24081
24082         * build-aux/bootstrap: Remove obsolete comment about wget --help.
24083
24084 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24085
24086         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
24087         in variable name.
24088
24089 2007-09-03  Jim Meyering  <jim@meyering.net>
24090
24091         New module: git-version-gen.
24092         * modules/git-version-gen: New file.
24093
24094         Import changes from coreutils for bootstrap script.
24095
24096         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
24097
24098         bootstrap: uses rsync to download the .po files
24099         * build-aux/bootstrap (po_download_command_format): New global.
24100         (download_po_files): Use rsync.
24101         (update_po_files): Don't remove .po files after download,
24102         so future rsync runs can take advantage of the copies.
24103
24104         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
24105
24106         Solve the unnecessary-.po-file-regeneration problem once and for all.
24107         * build-aux/bootstrap (download_po_files): New function, renamed from
24108         get_translations.  Now, downloads, but doesn't update LINGUAS.
24109         (update_po_files): New function.
24110
24111         bootstrap: Ignore more.
24112         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
24113         uniwidth to e.g., lib/.gitignore.
24114         (slurp): Handle the sys_stat_.h -> sys mapping, too.
24115
24116         * build-aux/bootstrap: New setting: vc_ignore.
24117         (insert_sorted_if_absent): Create $file if absent.
24118         Adapt to new, possibly empty, list: $vc_ignore.
24119
24120         bootstrap: generate more ignorable names
24121         * build-aux/bootstrap (slurp): When generating ignorable names,
24122         also map .sin to .sed, .gperf to .c, and .y to .c.
24123
24124 2007-09-03  Jim Meyering  <jim@meyering.net>
24125
24126         * build-aux/git-version-gen: New file, from coreutils.  For details, see
24127         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
24128
24129 2007-09-02  Bruno Haible  <bruno@clisp.org>
24130
24131         Fix mis-recognition of 'mcs' on QNX 6.
24132         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
24133         output contains the string "Mono".
24134         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
24135         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
24136
24137 2007-09-01  Bruno Haible  <bruno@clisp.org>
24138
24139         Fix collision between uniwidth/* and linebreak modules.
24140         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
24141         u32_width): Remove declarations.
24142         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
24143         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
24144         streq3, streq2, streq1, streq0): Remove functions.
24145         (STREQ): Remove macro.
24146         (is_cjk_encoding): Remove function.
24147         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
24148         (uc_width, u8_width, u16_width, u32_width): Remove functions.
24149         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
24150         * NEWS: Document the change.
24151
24152 2007-09-01  Bruno Haible  <bruno@clisp.org>
24153
24154         * lib/streq.h: Add double-inclusion guard.
24155
24156 2007-09-01  Karl Berry  <karl@gnu.org>
24157
24158         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
24159
24160 2007-08-28  Jim Meyering  <jim@meyering.net>
24161
24162         Rename mreadlink_with_size to areadlink_with_size.
24163         * NEWS: Document the change.
24164         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
24165         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
24166         * lib/mreadlink.h: Rename this to...
24167         * lib/areadlink.h: ...this.
24168         * modules/mreadlink-with-size: Rename this to...
24169         * modules/areadlink-with-size: ...this.
24170         * lib/canonicalize.c: Reflect the renaming.
24171         * modules/canonicalize: Likewise.
24172
24173 2007-08-26  Bruno Haible  <bruno@clisp.org>
24174
24175         * gnulib-tool (func_import): When deciding which files to remove,
24176         consider also dangling symbolic links.
24177         Reported by Eric Blake.
24178
24179 2007-08-26  Bruno Haible  <bruno@clisp.org>
24180
24181         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
24182
24183 2007-08-23  Simon Josefsson  <simon@josefsson.org>
24184
24185         * lib/readline.c: Don't include getline.h, the prototype is now
24186         found in stdio.h.
24187
24188 2007-08-23  Jim Meyering  <jim@meyering.net>
24189
24190         Getdelim touchup.
24191         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
24192         around the funlockfile call, since funlockfile never sets errno.
24193         Don't set errno upon failed realloc.
24194
24195 2007-08-22  Eric Blake  <ebb9@byu.net>
24196
24197         Getline touchups.
24198         * lib/getdelim.c (getdelim): Revert regression that required *n to
24199         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
24200         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
24201         getdelim, rather than whether implementation is missing.
24202         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
24203         * lib/stdio_.h (getline): Also declare if replacement is
24204         required.
24205         * doc/functions/getdelim.texi: New file.
24206         * doc/functions/getline.texi: Likewise.
24207         * doc/gnulib.texi (Function Substitutes): Add new files.
24208         Reported by Bruno Haible.
24209
24210 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
24211
24212         * users.txt: Add Guile.
24213
24214 2007-08-22  Eric Blake  <ebb9@byu.net>
24215
24216         * tests/test-getdelim.c (main): Use remove, not unlink.
24217         * tests/test-getline.c (main): Likewise.
24218
24219         Move getline and getdelim into stdio.h, per POSIX 200x.
24220         * modules/getline (Files): Remove getline.h.
24221         (Depends-on): Add stdio.
24222         (configure.ac): Add module indicator.
24223         * modules/getdelim (Files): Remove getdelim.h.
24224         (Depends-on): Add stdio.
24225         (configure.ac): Add module indicator.
24226         * modules/stdio (Makefile.am): Work with new indicators.
24227         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
24228         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
24229         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24230         * lib/getdelim.h: Delete.
24231         * lib/getline.h: Delete.
24232         * lib/stdio_.h (getdelim, getline): Declare.
24233         * modules/getdelim-tests: New module.
24234         * modules/getline-tests: Likewise.
24235         * tests/test-getdelim.c: New file.
24236         * tests/test-getline.c: Likewise.
24237         * NEWS: Document the change.
24238         * lib/getline.c: Update choice of header.
24239         * lib/csharpcomp.c: Likewise.
24240         * lib/getpass.c: Likewise.
24241         * lib/javacomp.c: Likewise.
24242         * lib/javaversion.c: Likewise.
24243         * lib/yesno.c: Likewise.
24244         * lib/getdelim.c: Likewise.
24245         (getdelim): Set errno on failure, and avoid memory leak.
24246
24247 2007-08-19  Bruno Haible  <bruno@clisp.org>
24248
24249         * modules/closein (Depends-on): Add freadahead.
24250         * lib/closein.c: Include freadahead.h.
24251         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
24252         is zero.
24253
24254 2007-08-19  Bruno Haible  <bruno@clisp.org>
24255
24256         * modules/freadahead-tests: New file.
24257         * tests/test-freadahead.sh: New file.
24258         * tests/test-freadahead.c: New file.
24259
24260         * modules/freadahead: New file.
24261         * lib/freadahead.h: New file.
24262         * lib/freadahead.c: New file.
24263         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
24264         fbufmode, fpurge, freadable, fwritable.
24265
24266 2007-08-19  Eric Blake  <ebb9@byu.net>
24267
24268         Test yesno in combination with closein.
24269         * lib/yesno.c (yesno): Document use of stdin.
24270         * modules/yesno-tests (Files): New module.
24271         * tests/test-yesno.c (main): New file.
24272         * tests/test-yesno.sh: Likewise.
24273
24274 2007-08-19  Bruno Haible  <bruno@clisp.org>
24275
24276         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
24277         * lib/fseeko.c (rpl_fseeko): Likewise.
24278         * lib/fseterr.c (fseterr): Likewise.
24279
24280 2007-08-19  Bruno Haible  <bruno@clisp.org>
24281
24282         * tests/test-lseek.c (main): Disable a test for BeOS.
24283         * doc/functions/lseek.texi: Document the BeOS bug.
24284
24285 2007-08-19  Bruno Haible  <bruno@clisp.org>
24286             Eric Blake  <ebb9@byu.net>
24287
24288         * lib/lseek.c: Include <sys/stat.h>.
24289         (rpl_lseek): Add workaround code also for Unix platforms.
24290         Needed for BeOS.
24291         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
24292         * doc/functions/lseek.texi: Document BeOS definiency.
24293
24294 2007-08-18  Bruno Haible  <bruno@clisp.org>
24295
24296         * modules/fstrcmp-tests: New file.
24297         * tests/test-fstrcmp.c: New file.
24298
24299 2007-08-18  Bruno Haible  <bruno@clisp.org>
24300
24301         * modules/fstrcmp: New file, from GNU gettext with modifications.
24302         * lib/fstrcmp.h: New file, from GNU gettext.
24303         * lib/fstrcmp.c: New file, from GNU gettext.
24304         * MODULES.html.sh (String handling): Add fstrcmp.
24305
24306 2007-08-18  Bruno Haible  <bruno@clisp.org>
24307
24308         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
24309         'bool'.
24310         (diag, compareseq): Remove const from the ctxt argument.
24311         (USE_HEURISTIC): Undefine at the end.
24312
24313 2007-08-18  Jim Meyering  <jim@meyering.net>
24314
24315         New file: lib/idcache.h
24316         * NEWS: Mention the addition.
24317         * modules/idcache (Files): Add lib/idcache.h
24318         * lib/idcache.c: Include "idcache.h".
24319         Don't include <sys/types.h>.
24320         Add a FIXME comment.
24321         Move file-scoped "static" declarations to the top.
24322         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
24323
24324 2007-08-17  Bruno Haible  <bruno@clisp.org>
24325         and Paul Eggert  <eggert@cs.ucla.edu>
24326
24327         * MODULES.html.sh: Add diffseq.
24328         * modules/diffseq: New file.
24329         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
24330         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
24331
24332 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
24333
24334         Import changes from coreutils for bootstrap script.
24335
24336         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
24337
24338         * build-aux/bootstrap (slurp): Work even in environments where
24339         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
24340         current code does not slurp files whose names start with ".", and
24341         this looks like it might be a troublesome area.
24342
24343         2007-07-11  Jim Meyering  <jim@meyering.net>
24344
24345         If there's a GPL vN copyright comment, require that N == 3.
24346
24347         2007-07-08  Jim Meyering  <jim@meyering.net>
24348
24349         Run the coreutils-specific code only if tests/Makefile.am.in exists.
24350         * build-aux/bootstrap (mam_template): Move definition out of loop.
24351
24352         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
24353
24354         * build-aux/bootstrap (symlink_to_dir): Rename function from
24355         symlink_to_gnulib.  Add a directory parameter.  Update all
24356         callers.
24357         (cp_mark_as_generated): Also check for -- and link to -- files in
24358         gl/.
24359
24360         2007-07-08  Jim Meyering  <jim@meyering.net>
24361
24362         Adapt to deeper hierarchy in gnulib.
24363         * build-aux/bootstrap (symlink_to_dir): If the destination
24364         directory doesn't exist, create it. This is required at least for
24365         "lib/uniwidth/cjk.h".
24366
24367         2007-05-15  Jim Meyering  <jim@meyering.net>
24368
24369         * build-aux/bootstrap: Now that generated Makefile.am files
24370         are no longer under version control, they must be created at
24371         bootstrap time.
24372
24373 2007-08-14  Ben Pfaff  <blp@gnu.org>
24374
24375         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
24376
24377 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
24378
24379         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
24380         given the changes below.
24381         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
24382         even on hosts that have padding bits beyond the supported 64.
24383
24384 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
24385
24386         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
24387         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
24388         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
24389         depends on it.
24390         (xstrtol_error): Remove.
24391         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
24392         but with a different signature.
24393         (ATTRIBUTE_NORETURN, __attribute__): New macros.
24394         * lib/xstrtol-error.c: Include exitfail.h.
24395         (xstrtol_fatal): New function, with a different signature from the
24396         old xstrtol_error, so that the caller need not worry about passing
24397         in an exit status, or about storage management of the option argument.
24398         (xstrtol_error): Now a static function.  Redo signature to
24399         implement xstrtol_fatal.  Output the correct number of hyphens in
24400         front of the option so that the caller need not worry about
24401         storage management.
24402         (N_): New macro.
24403         (_): Remove; not used now.
24404         * modules/xstrtol: Depend on getopt.
24405         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
24406         of old STRTOL_FATAL_ERROR macro.
24407         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
24408         of test program.
24409         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
24410         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
24411
24412 2007-08-08  Eric Blake  <ebb9@byu.net>
24413
24414         * lib/xstrtol-error.c: Add missing include.
24415
24416         Move xstrtol messages into gnulib domain, when --pobase is used.
24417         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
24418         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
24419         * modules/xstrtol (Files): Distribute new file.
24420         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
24421         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
24422         * tests/test-xstrtol.c: ...into new file.
24423         * tests/test-xstrtoul.c: Also test xstrtoul.
24424         * tests/test-xstrtoimax.c: Also test xstrtoimax.
24425         * tests/test-xstrtoumax.c: Also test xstrtoumax.
24426         * tests/test-xstrtol.sh: Drive the tests.
24427         * tests/test-xstrtoimax.sh: Likewise.
24428         * tests/test-xstrtoumax.sh: Likewise.
24429         * modules/xstrtol-tests: New module.
24430         * modules/xstrtoimax-tests: Likewise.
24431         * modules/xstrtoumax-tests: Likewise.
24432
24433 2007-08-08  Jim Meyering  <jim@meyering.net>
24434
24435         New function: mfile_name_concat.
24436         * lib/filenamecat.c (mfile_name_concat): New function, just like
24437         file_name_concat, but return NULL upon failure rather than exiting
24438         with a diagnostic.
24439         * lib/filenamecat.h: Declare it.
24440
24441 2007-08-07  Bruno Haible  <bruno@clisp.org>
24442
24443         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
24444         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
24445         warning from gcc.
24446         Reported by Eric Blake.
24447
24448 2007-08-07  Simon Josefsson  <simon@josefsson.org>
24449
24450         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
24451         * modules/crypto/arcfour (License): Likewise.
24452         * modules/crypto/des-tests (License): Likewise.
24453         * modules/crypto/gc-arctwo-tests (License): Likewise.
24454         * modules/crypto/gc-des-tests (License): Likewise.
24455         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
24456         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
24457         * modules/crypto/gc-md2-tests (License): Likewise.
24458         * modules/crypto/gc-md4-tests (License): Likewise.
24459         * modules/crypto/gc-md5-tests (License): Likewise.
24460         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
24461         * modules/crypto/gc-rijndael-tests (License): Likewise.
24462         * modules/crypto/gc-sha1-tests (License): Likewise.
24463         * modules/crypto/gc-tests (License): Likewise.
24464         * modules/crypto/hmac-md5 (License): Likewise.
24465         * modules/crypto/hmac-sha1 (License): Likewise.
24466         * modules/crypto/md2-tests (License): Likewise.
24467         * modules/crypto/md4-tests (License): Likewise.
24468         * modules/crypto/md5 (License): Likewise.
24469         * modules/crypto/rijndael (License): Likewise.
24470         * modules/crypto/sha1 (License): Likewise.
24471         * modules/memxor (License): Likewise.
24472
24473 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
24474         and Bruno Haible  <bruno@clisp.org>
24475
24476         * NEWS: Describe interface changes to human, xstrtol.
24477         * lib/human.h: Include <xstrtol.h>.
24478         (human_options): Return enum strtol_error, not int.  Remove
24479         bool arg; take int * instead.
24480         * lib/human.c: Don't include "gettext.h".
24481         (_): Remove; no longer used.
24482         Don't include <xstrtol.h>, since human.h does it.
24483         (human_options): Adjust to abovementioned interface changes.
24484         Do not report error to stderr; that's now the caller's
24485         responsibility.
24486         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
24487         interface change.
24488         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
24489         Str, Argument_type_string.  All uses changed.  Put " argument"
24490         in diagnostics to make them clearer.  Change wording of suffix
24491         message for clarity.
24492         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
24493         Argument_type_string.
24494         (STRTOL_FATAL_WARN): Remove; no longer used.
24495         * modules/human (Depends-on): Remove gettext-h.
24496
24497 2007-08-06  Simon Josefsson  <simon@josefsson.org>
24498
24499         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
24500
24501 2007-07-31  Bruno Haible  <bruno@clisp.org>
24502
24503         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
24504         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
24505         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
24506
24507 2007-07-31  Bruno Haible  <bruno@clisp.org>
24508
24509         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
24510         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
24511
24512 2007-07-30  Bruno Haible  <bruno@clisp.org>
24513
24514         * modules/base64 (License): Use the synonymous term "LGPLv2+".
24515         * modules/c-ctype (License): Likewise.
24516         * modules/c-strcase (License): Likewise.
24517         * modules/check-version (License): Likewise.
24518         * modules/iconv (License): Likewise.
24519         * modules/iconv_open (License): Likewise.
24520         * modules/read-file (License): Likewise.
24521         * modules/striconv (License): Likewise.
24522         * modules/strverscmp (License): Likewise.
24523         * modules/vasprintf (License): Likewise.
24524         * modules/crypto/des (License): Likewise.
24525         * modules/crypto/gc (License): Likewise.
24526         * modules/crypto/gc-arcfour (License): Likewise.
24527         * modules/crypto/gc-arctwo (License): Likewise.
24528         * modules/crypto/gc-des (License): Likewise.
24529         * modules/crypto/gc-hmac-md5 (License): Likewise.
24530         * modules/crypto/gc-hmac-sha1 (License): Likewise.
24531         * modules/crypto/gc-md2 (License): Likewise.
24532         * modules/crypto/gc-md4 (License): Likewise.
24533         * modules/crypto/gc-md5 (License): Likewise.
24534         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
24535         * modules/crypto/gc-random (License): Likewise.
24536         * modules/crypto/gc-rijndael (License): Likewise.
24537         * modules/crypto/gc-sha1 (License): Likewise.
24538         * modules/crypto/md2 (License): Likewise.
24539         * modules/crypto/md4 (License): Likewise.
24540
24541 2007-07-30  Jim Meyering  <jim@meyering.net>
24542
24543         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
24544         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
24545         it has valid stat data.  This bug would cause du not to count the
24546         sizes of inaccessible directories.
24547         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
24548         in <http://bugzilla.redhat.com/250077>.
24549
24550 2007-07-25  Peter O'Gorman  <peter@pogma.com>
24551             Bruno Haible  <bruno@clisp.org>
24552
24553         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
24554         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
24555         #include_next, gives a diagnostic about it, but reports no error in
24556         the exit code.
24557         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
24558
24559 2007-07-24  Ben Pfaff  <blp@gnu.org>
24560
24561         Improve name: "count-one-bits" is better than "popcount".
24562         * MODULES.html.sh: Update name.
24563         * lib/popcount.h: Renamed lib/count-one-bits.h.
24564         (popcount): Renamed count_one_bits.
24565         (popcountl): Renamed count_one_bits_l.
24566         (popcountll): Renamed count_one_bits_ll.
24567         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
24568         * modules/popcount: Renamed module/count-one-bits.
24569         * modules/popcount-tests: Renamed module/count-one-bits-tests.
24570         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
24571
24572 2007-07-23  Ben Pfaff  <blp@gnu.org>
24573
24574         * lib/popcount.h (popcount32): Reduce size of constants, to allow
24575         better code generation, and add U to large constants to avoid
24576         warnings, in non-GCC case.
24577         Suggested by Bruno Haible.
24578
24579 2007-07-23  Ben Pfaff  <blp@gnu.org>
24580
24581         * lib/popcount.h: Use verify_true instead of if...abort.
24582         * modules/popcount: Depend on verify module.
24583         Suggested by Jim Meyering.
24584
24585 2007-07-23  Bruno Haible  <bruno@clisp.org>
24586
24587         * gnulib-tool (func_import): Create a .cvsignore file also when the
24588         directory is not yet in CVS but the toplevel directory is. When
24589         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
24590         Reported by Karl Berry.
24591
24592 2007-07-22  Ben Pfaff  <blp@gnu.org>
24593
24594         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
24595         case.
24596         Suggested by Eric Blake.
24597
24598 2007-07-22  Ben Pfaff  <blp@gnu.org>
24599
24600         New module: popcount.
24601         * MODULES.html.sh: Add popcount.
24602         * modules/popcount: New file.
24603         * modules/popcount-tests: New file.
24604         * tests/test-popcount.c: New file.
24605         * lib/popcount.h: New file.
24606         * m4/popcount.m4: New file.
24607
24608 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
24609
24610         * build-aux/announce-gen: Update to GPLv3.
24611
24612         * build-aux/config.guess: Update from config.
24613
24614 2007-07-21  Bruno Haible  <bruno@clisp.org>
24615
24616         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
24617         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
24618
24619 2007-07-20  Jim Meyering  <jim@meyering.net>
24620
24621         * check-module: Diagnose a self-dependency.
24622
24623 2007-07-19  Bruno Haible  <bruno@clisp.org>
24624
24625         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
24626         empty.
24627         Reported by Eric Blake.
24628
24629 2007-07-18  Bruno Haible  <bruno@clisp.org>
24630
24631         * gnulib-tool: New options --po-base, --po-domain.
24632         (func_usage): Document them.
24633         (pobase, po_domain): New variables.
24634         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
24635         DEFAULT_TEXT_DOMAIN.
24636         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
24637         (func_import): Consider pobase and po_domain. Create a po/ directory.
24638         (func_create_testdir): Set pobase and po_domain to empty.
24639         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
24640         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
24641
24642 2007-07-18  Bruno Haible  <bruno@clisp.org>
24643
24644         * gnulib-tool (func_get_automake_snippet): Synthesize also an
24645         EXTRA_DIST augmentation for files in build-aux/.
24646
24647 2007-07-16  Bruno Haible  <bruno@clisp.org>
24648
24649         * modules/lseek (License): Use the synonymous term "LGPLv2+".
24650         * modules/getdelim (License): Likewise.
24651
24652 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24653
24654         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
24655         * modules/d-type (License): Likewise.
24656         * modules/extensions (License): Likewise.
24657         * modules/fnmatch (License): Likewise.
24658         * modules/fseeko (License): Likewise.
24659         * modules/getaddrinfo (License): Likewise.
24660         * modules/getline (License): Likewise.
24661         * modules/getlogin_r (License): Likewise.
24662         * modules/getpass (License): Likewise.
24663         * modules/gettimeofday (License): Likewise.
24664         * modules/glob (License): Likewise.
24665         * modules/inet_ntop (License): Likewise.
24666         * modules/malloc (License): Likewise.
24667         * modules/malloca (License): Likewise.
24668         * modules/memmem (License): Likewise.
24669         * modules/mempcpy (License): Likewise.
24670         * modules/memset (License): Likewise.
24671         * modules/minmax (License): Likewise.
24672         * modules/mktime (License): Likewise.
24673         * modules/netinet_in (License): Likewise.
24674         * modules/pathmax (License): Likewise.
24675         * modules/poll (License): Likewise.
24676         * modules/regex (License): Likewise.
24677         * modules/snprintf (License): Likewise.
24678         * modules/stdbool (License): Likewise.
24679         * modules/stdint (License): Likewise.
24680         * modules/stdio (License): Likewise.
24681         * modules/strcase (License): Likewise.
24682         * modules/strcasestr (License): Likewise.
24683         * modules/strdup (License): Likewise.
24684         * modules/string (License): Likewise.
24685         * modules/strndup (License): Likewise.
24686         * modules/strnlen (License): Likewise.
24687         * modules/strpbrk (License): Likewise.
24688         * modules/strptime (License): Likewise.
24689         * modules/strsep (License): Likewise.
24690         * modules/sys_select (License): Likewise.
24691         * modules/sys_socket (License): Likewise.
24692         * modules/sys_stat (License): Likewise.
24693         * modules/sys_time (License): Likewise.
24694         * modules/time (License): Likewise.
24695         * modules/time_r (License): Likewise.
24696         * modules/timegm (License): Likewise.
24697         * modules/unistd (License): Likewise.
24698         * modules/vsnprintf (License): Likewise.
24699         * modules/wctype (License): Likewise.
24700
24701 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24702
24703         * modules/argz (License): LGPLv2+.
24704
24705 2007-07-15  Karl Berry  <karl@gnu.org>
24706
24707         * doc/gnulib.texi: revise node structure per new fdl.texi.
24708
24709 2007-07-14  Bruno Haible  <bruno@clisp.org>
24710
24711         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
24712         the output file.
24713         * lib/uniname/uninames.h: Regenerated.
24714
24715 2007-07-14  Karl Berry  <karl@gnu.org>
24716
24717         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
24718         omitting sectioning and index commands.
24719
24720 2007-07-13  Bruno Haible  <bruno@clisp.org>
24721
24722         New gnulib-tool option --more-symlinks.
24723         * gnulib-tool (func_usage): Document --more-symlinks.
24724         (do_copyrights): New variable.
24725         Recognize option --more-symlinks.
24726         (func_import): Don't add a copyright notice transform to
24727         sed_transform_lib_file if do_copyrights is empty.
24728
24729 2007-07-13  Bruno Haible  <bruno@clisp.org>
24730
24731         * lib/vasnprintf.c (decimal_point_char): Define also if
24732         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
24733         && !NEED_PRINTF_DIRECTIVE_A.
24734         Reported by Clemens Koller <clemens.koller@anagramm.de> via
24735         Gary V. Vaughan <gary@gnu.org>.
24736
24737 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
24738
24739         * lib/inttypes_.h: Undo previous change, since it was fixed
24740         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
24741
24742 2007-07-13  Bruno Haible  <bruno@clisp.org>
24743
24744         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
24745         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
24746
24747 2007-07-13  Jim Meyering  <jim@meyering.net>
24748
24749         df: Don't fail for Tru64's "file-on-file mount".
24750         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
24751         so we fall through and use statfs instead.  Details here:
24752         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
24753         Reported by Albert Chin.
24754
24755 2007-07-13  Bruno Haible  <bruno@clisp.org>
24756
24757         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
24758         * modules/configmake (License): Likewise.
24759         * modules/gettext (License): Likewise.
24760         * modules/gettext-h (License): Likewise.
24761         * modules/include_next (License): Likewise.
24762         * modules/link-warning (License): Likewise.
24763         * modules/localcharset (License): Likewise.
24764         * modules/localename (License): Likewise.
24765         * modules/lock (License): Likewise.
24766         * modules/relocatable-lib-lgpl (License): Likewise.
24767         * modules/size_max (License): Likewise.
24768         * modules/vasnprintf (License): Likewise.
24769         * modules/wchar (License): Likewise.
24770         * modules/xsize (License): Likewise.
24771
24772 2007-07-13  Bruno Haible  <bruno@clisp.org>
24773
24774         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
24775         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
24776
24777 2007-07-12  Bruno Haible  <bruno@clisp.org>
24778
24779         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
24780         in the modules files.
24781
24782 2007-07-11  Karl Berry  <karl@gnu.org>
24783
24784         * MODULES.html.sh (func_module): use
24785          sed -e '\|^'"${includefile}"'$|d'
24786          instead of /.../d, to avoid errors on $includefile's containing /.
24787
24788 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
24789
24790         * gnulib-tool (func_import): Avoid duplication of --avoid
24791         statements
24792         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
24793         names to `_' in variable names.
24794
24795 2007-07-10  Eric Blake  <ebb9@byu.net>
24796
24797         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
24798         * NEWS: Document this change.
24799
24800 2007-07-08  Bruno Haible  <bruno@clisp.org>
24801
24802         Update to Unicode 5.0.
24803         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
24804         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
24805         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
24806         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
24807         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
24808         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
24809         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
24810         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
24811         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
24812         U+10A3F, U+1D242..U+1D244.
24813         (nonspacing_table_ind): Update.
24814         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
24815         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
24816
24817 2007-07-08  Bruno Haible  <bruno@clisp.org>
24818
24819         Update to Unicode 5.0.
24820         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
24821         code transform. Extend the name index field of unicode_name_to_code and
24822         unicode_code_to_name from 16 to 24 bits.
24823         * lib/uniname/uniname.c (unicode_character_name,
24824         unicode_name_character): Add the range 0x12xxx to the code transform.
24825         * lib/uniname/uninames.h: Regenerated.
24826         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
24827
24828 2007-07-07  Bruno Haible  <bruno@clisp.org>
24829
24830         * modules/wcwidth-tests: New file.
24831         * tests/test-wcwidth.c: New file.
24832
24833         Work around MacOS X wcwidth() bug.
24834         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
24835         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
24836         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
24837         original wcwidth in non-UTF-8 locales.
24838         * modules/wcwidth (Depends-on): Add localcharset, streq,
24839         uniwidth/width.
24840         * doc/functions/wcwidth.texi: Update.
24841
24842 2007-07-07  Bruno Haible  <bruno@clisp.org>
24843
24844         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
24845         (wcwidth): New declaration.
24846         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
24847         macros.
24848         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
24849         here. Prepare for creating <wchar.h> unconditionally.
24850         * modules/wchar (Depends-on): Add link-warning.
24851         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
24852         REPLACE_WCWIDTH, and GL_LINK_WARNING.
24853         * lib/wcwidth.h: Remove file.
24854         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
24855         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
24856         * modules/wcwidth (Files): Remove lib/wcwidth.h.
24857         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
24858         (Include): Replace wcwidth.h with <wchar.h>.
24859         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
24860         * lib/mbchar.h: Don't include wcwidth.h.
24861         * lib/mbswidth.c: Likewise.
24862         * NEWS: Mention the change.
24863
24864 2007-07-07  Bruno Haible  <bruno@clisp.org>
24865
24866         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
24867         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
24868         definition with an external declaration.
24869         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
24870         defined as a function. Remove AC_C_INLINE requirement.
24871         * modules/wcwidth (Files): Add lib/wcwidth.c.
24872         (Makefile.am): Remove redundant statement.
24873
24874 2007-07-07  Bruno Haible  <bruno@clisp.org>
24875
24876         * MODULES.html.sh (Unicode string functions): Add the new modules.
24877
24878         * tests/uniwidth/test-u32-strwidth.c: New file.
24879         * modules/uniwidth/u32-strwidth-tests: New file.
24880
24881         * lib/uniwidth/u32-strwidth.c: New file.
24882         * modules/uniwidth/u32-strwidth: New file.
24883
24884         * tests/uniwidth/test-u16-strwidth.c: New file.
24885         * modules/uniwidth/u16-strwidth-tests: New file.
24886
24887         * lib/uniwidth/u16-strwidth.c: New file.
24888         * modules/uniwidth/u16-strwidth: New file.
24889
24890         * tests/uniwidth/test-u8-strwidth.c: New file.
24891         * modules/uniwidth/u8-strwidth-tests: New file.
24892
24893         * lib/uniwidth/u8-strwidth.c: New file.
24894         * modules/uniwidth/u8-strwidth: New file.
24895
24896         * tests/uniwidth/test-u32-width.c: New file.
24897         * modules/uniwidth/u32-width-tests: New file.
24898
24899         * lib/uniwidth/u32-width.c: New file.
24900         * modules/uniwidth/u32-width: New file.
24901
24902         * tests/uniwidth/test-u16-width.c: New file.
24903         * modules/uniwidth/u16-width-tests: New file.
24904
24905         * lib/uniwidth/u16-width.c: New file.
24906         * modules/uniwidth/u16-width: New file.
24907
24908         * tests/uniwidth/test-u8-width.c: New file.
24909         * modules/uniwidth/u8-width-tests: New file.
24910
24911         * lib/uniwidth/u8-width.c: New file.
24912         * modules/uniwidth/u8-width: New file.
24913
24914         * tests/uniwidth/test-uc_width.c: New file.
24915         * modules/uniwidth/width-tests: New file.
24916
24917         * lib/uniwidth/width.c: New file, from GNU libiconv.
24918         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
24919         * modules/uniwidth/width: New file.
24920
24921         * lib/uniwidth.h: New file, from GNU libiconv.
24922         * modules/uniwidth/base: New file.
24923
24924 2007-07-07  Bruno Haible  <bruno@clisp.org>
24925
24926         * lib/uniname.h: New file, from GNU gettext.
24927         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
24928         * lib/uniname/uninames.h: New file, from GNU gettext.
24929         * lib/uniname/uniname.c: New file, from GNU gettext.
24930         * tests/uniname/test-uninames.sh: New file.
24931         * tests/uniname/test-uninames.c: New file, from GNU gettext.
24932         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
24933         * modules/uniname/base: New file.
24934         * modules/uniname/uniname: New file.
24935         * modules/uniname/uniname-tests: New file.
24936         * MODULES.html.sh (Unicode string functions): Add the new modules.
24937
24938 2007-07-06  Bruno Haible  <bruno@clisp.org>
24939
24940         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
24941
24942 2007-07-06  Bruno Haible  <bruno@clisp.org>
24943
24944         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
24945         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
24946         includes <cygwin/sys_time.h> which includes <sys/select.h> which
24947         include <sys/time.h>.
24948         Reported by Eric Blake.
24949
24950 2007-07-06  Eric Blake  <ebb9@byu.net>
24951
24952         Fix testing canonicalize on cygwin.
24953         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
24954         Revert patch from 2007-06-19.
24955         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
24956         canonicalize module is also in use.
24957         * tests/test-canonicalize.c: New file.
24958         * tests/test-canonicalize.sh: Likewise.
24959         * modules/canonicalize-tests: Likewise.
24960
24961 2007-07-06  Jim Meyering  <jim@meyering.net>
24962
24963         * lib/getugroups.c (getugroups): Detect getgrent failure.
24964         Adjust comment to reflect reality: this function may return -1.
24965
24966 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
24967
24968         * build-aux/bootstrap (TP_URL,get_translations): Update to use
24969         the new TP address.
24970         (usage): Fix typo
24971         (gnulib_mk): New variable.
24972
24973 2007-07-05  Jim Meyering  <jim@meyering.net>
24974
24975         Don't let endgrent clobber errno, no matter how improbable.
24976         * lib/getugroups.c (getugroups): Save and restore errno around
24977         endgrent call.
24978
24979         Close the group DB even when failing with 2^31 or more members.
24980         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
24981
24982 2007-07-04  Jim Meyering  <jim@meyering.net>
24983
24984         * lib/getugroups.h: New file.
24985         * lib/getugroups.c: Include "getugroups.h".
24986         Remove uses of "register" keyword.
24987         Move local variable, "cp", down into scope where used.
24988         Give "username" parameter the "const" attribute.
24989         * modules/getugroups (Files): Add lib/getugroups.h
24990
24991 2007-07-04  Karl Berry  <karl@gnu.org>
24992
24993         * MODULES.html.sh (func_all_modules): Complete rename of
24994         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
24995
24996 2007-07-02  Bruno Haible  <bruno@clisp.org>
24997
24998         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
24999         mode, when inttypes.h comes from gnulib.
25000         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
25001
25002 2007-07-02  Simon Josefsson  <simon@josefsson.org>
25003
25004         * NEWS: Mention lgpl module name change.
25005
25006         * modules/lgpl-2.1: Renamed from lgpl.
25007
25008         * NEWS: Mention gpl module name change.
25009
25010         * modules/gpl-3.0: New file, based on gpl-2.0.
25011
25012         * modules/gpl-2.0: Renamed from gpl.
25013
25014         * modules/gpl: Fix filename, doc/gpl.texi is now found at
25015         doc/gpl-2.0.texi.
25016
25017 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
25018
25019         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
25020         #define __STDC_LIMIT_MACROS temporarily while including
25021         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
25022         Problem reported by Joel E. Denny in
25023         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
25024
25025 2007-07-01  Bruno Haible  <bruno@clisp.org>
25026
25027         * lib/unistdio.h: New file.
25028         * lib/unistdio/u-asnprintf.h: New file.
25029         * lib/unistdio/u-asprintf.h: New file.
25030         * lib/unistdio/u-printf-args.c: New file.
25031         * lib/unistdio/u-printf-args.h: New file.
25032         * lib/unistdio/u-printf-parse.h: New file.
25033         * lib/unistdio/u-snprintf.h: New file.
25034         * lib/unistdio/u-sprintf.h: New file.
25035         * lib/unistdio/u-vasprintf.h: New file.
25036         * lib/unistdio/u-vsnprintf.h: New file.
25037         * lib/unistdio/u-vsprintf.h: New file.
25038         * lib/unistdio/ulc-asnprintf.c: New file.
25039         * lib/unistdio/ulc-asprintf.c: New file.
25040         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
25041         * lib/unistdio/ulc-printf-parse.c: New file.
25042         * lib/unistdio/ulc-snprintf.c: New file.
25043         * lib/unistdio/ulc-sprintf.c: New file.
25044         * lib/unistdio/ulc-vasnprintf.c: New file.
25045         * lib/unistdio/ulc-vasprintf.c: New file.
25046         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
25047         * lib/unistdio/ulc-vsnprintf.c: New file.
25048         * lib/unistdio/ulc-vsprintf.c: New file.
25049         * lib/unistdio/u8-asnprintf.c: New file.
25050         * lib/unistdio/u8-asprintf.c: New file.
25051         * lib/unistdio/u8-printf-parse.c: New file.
25052         * lib/unistdio/u8-snprintf.c: New file.
25053         * lib/unistdio/u8-sprintf.c: New file.
25054         * lib/unistdio/u8-vasnprintf.c: New file.
25055         * lib/unistdio/u8-vasprintf.c: New file.
25056         * lib/unistdio/u8-vsnprintf.c: New file.
25057         * lib/unistdio/u8-vsprintf.c: New file.
25058         * lib/unistdio/u8-u8-asnprintf.c: New file.
25059         * lib/unistdio/u8-u8-asprintf.c: New file.
25060         * lib/unistdio/u8-u8-snprintf.c: New file.
25061         * lib/unistdio/u8-u8-sprintf.c: New file.
25062         * lib/unistdio/u8-u8-vasnprintf.c: New file.
25063         * lib/unistdio/u8-u8-vasprintf.c: New file.
25064         * lib/unistdio/u8-u8-vsnprintf.c: New file.
25065         * lib/unistdio/u8-u8-vsprintf.c: New file.
25066         * lib/unistdio/u16-asnprintf.c: New file.
25067         * lib/unistdio/u16-asprintf.c: New file.
25068         * lib/unistdio/u16-printf-parse.c: New file.
25069         * lib/unistdio/u16-snprintf.c: New file.
25070         * lib/unistdio/u16-sprintf.c: New file.
25071         * lib/unistdio/u16-vasnprintf.c: New file.
25072         * lib/unistdio/u16-vasprintf.c: New file.
25073         * lib/unistdio/u16-vsnprintf.c: New file.
25074         * lib/unistdio/u16-vsprintf.c: New file.
25075         * lib/unistdio/u16-u16-asnprintf.c: New file.
25076         * lib/unistdio/u16-u16-asprintf.c: New file.
25077         * lib/unistdio/u16-u16-snprintf.c: New file.
25078         * lib/unistdio/u16-u16-sprintf.c: New file.
25079         * lib/unistdio/u16-u16-vasnprintf.c: New file.
25080         * lib/unistdio/u16-u16-vasprintf.c: New file.
25081         * lib/unistdio/u16-u16-vsnprintf.c: New file.
25082         * lib/unistdio/u16-u16-vsprintf.c: New file.
25083         * lib/unistdio/u32-asnprintf.c: New file.
25084         * lib/unistdio/u32-asprintf.c: New file.
25085         * lib/unistdio/u32-printf-parse.c: New file.
25086         * lib/unistdio/u32-snprintf.c: New file.
25087         * lib/unistdio/u32-sprintf.c: New file.
25088         * lib/unistdio/u32-vasnprintf.c: New file.
25089         * lib/unistdio/u32-vasprintf.c: New file.
25090         * lib/unistdio/u32-vsnprintf.c: New file.
25091         * lib/unistdio/u32-vsprintf.c: New file.
25092         * lib/unistdio/u32-u32-asnprintf.c: New file.
25093         * lib/unistdio/u32-u32-asprintf.c: New file.
25094         * lib/unistdio/u32-u32-snprintf.c: New file.
25095         * lib/unistdio/u32-u32-sprintf.c: New file.
25096         * lib/unistdio/u32-u32-vasnprintf.c: New file.
25097         * lib/unistdio/u32-u32-vasprintf.c: New file.
25098         * lib/unistdio/u32-u32-vsnprintf.c: New file.
25099         * lib/unistdio/u32-u32-vsprintf.c: New file.
25100         * tests/unistdio/test-ulc-asnprintf1.c: New file.
25101         * tests/unistdio/test-ulc-asnprintf1.h: New file.
25102         * tests/unistdio/test-ulc-printf1.h: New file.
25103         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
25104         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
25105         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
25106         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
25107         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
25108         * tests/unistdio/test-ulc-vasprintf1.c: New file.
25109         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
25110         * tests/unistdio/test-ulc-vsprintf1.c: New file.
25111         * tests/unistdio/test-u8-asnprintf1.c: New file.
25112         * tests/unistdio/test-u8-asnprintf1.h: New file.
25113         * tests/unistdio/test-u8-printf1.h: New file.
25114         * tests/unistdio/test-u8-vasnprintf1.c: New file.
25115         * tests/unistdio/test-u8-vasnprintf2.c: New file.
25116         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
25117         * tests/unistdio/test-u8-vasnprintf3.c: New file.
25118         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
25119         * tests/unistdio/test-u8-vasprintf1.c: New file.
25120         * tests/unistdio/test-u8-vsnprintf1.c: New file.
25121         * tests/unistdio/test-u8-vsprintf1.c: New file.
25122         * tests/unistdio/test-u16-asnprintf1.c: New file.
25123         * tests/unistdio/test-u16-asnprintf1.h: New file.
25124         * tests/unistdio/test-u16-printf1.h: New file.
25125         * tests/unistdio/test-u16-vasnprintf1.c: New file.
25126         * tests/unistdio/test-u16-vasnprintf2.c: New file.
25127         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
25128         * tests/unistdio/test-u16-vasnprintf3.c: New file.
25129         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
25130         * tests/unistdio/test-u16-vasprintf1.c: New file.
25131         * tests/unistdio/test-u16-vsnprintf1.c: New file.
25132         * tests/unistdio/test-u16-vsprintf1.c: New file.
25133         * tests/unistdio/test-u32-asnprintf1.c: New file.
25134         * tests/unistdio/test-u32-asnprintf1.h: New file.
25135         * tests/unistdio/test-u32-printf1.h: New file.
25136         * tests/unistdio/test-u32-vasnprintf1.c: New file.
25137         * tests/unistdio/test-u32-vasnprintf2.c: New file.
25138         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
25139         * tests/unistdio/test-u32-vasnprintf3.c: New file.
25140         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
25141         * tests/unistdio/test-u32-vasprintf1.c: New file.
25142         * tests/unistdio/test-u32-vsnprintf1.c: New file.
25143         * tests/unistdio/test-u32-vsprintf1.c: New file.
25144         * modules/unistdio/base: New file.
25145         * modules/unistdio/u-printf-args: New file.
25146         * modules/unistdio/ulc-asnprintf: New file.
25147         * modules/unistdio/ulc-asprintf: New file.
25148         * modules/unistdio/ulc-fprintf: New file.
25149         * modules/unistdio/ulc-printf-parse: New file.
25150         * modules/unistdio/ulc-snprintf: New file.
25151         * modules/unistdio/ulc-sprintf: New file.
25152         * modules/unistdio/ulc-vasnprintf: New file.
25153         * modules/unistdio/ulc-vasprintf: New file.
25154         * modules/unistdio/ulc-vfprintf: New file.
25155         * modules/unistdio/ulc-vsnprintf: New file.
25156         * modules/unistdio/ulc-vsprintf: New file.
25157         * modules/unistdio/u8-asnprintf: New file.
25158         * modules/unistdio/u8-asprintf: New file.
25159         * modules/unistdio/u8-printf-parse: New file.
25160         * modules/unistdio/u8-snprintf: New file.
25161         * modules/unistdio/u8-sprintf: New file.
25162         * modules/unistdio/u8-vasnprintf: New file.
25163         * modules/unistdio/u8-vasprintf: New file.
25164         * modules/unistdio/u8-vsnprintf: New file.
25165         * modules/unistdio/u8-vsprintf: New file.
25166         * modules/unistdio/u8-u8-asnprintf: New file.
25167         * modules/unistdio/u8-u8-asprintf: New file.
25168         * modules/unistdio/u8-u8-snprintf: New file.
25169         * modules/unistdio/u8-u8-sprintf: New file.
25170         * modules/unistdio/u8-u8-vasnprintf: New file.
25171         * modules/unistdio/u8-u8-vasprintf: New file.
25172         * modules/unistdio/u8-u8-vsnprintf: New file.
25173         * modules/unistdio/u8-u8-vsprintf: New file.
25174         * modules/unistdio/u16-asnprintf: New file.
25175         * modules/unistdio/u16-asprintf: New file.
25176         * modules/unistdio/u16-printf-parse: New file.
25177         * modules/unistdio/u16-snprintf: New file.
25178         * modules/unistdio/u16-sprintf: New file.
25179         * modules/unistdio/u16-vasnprintf: New file.
25180         * modules/unistdio/u16-vasprintf: New file.
25181         * modules/unistdio/u16-vsnprintf: New file.
25182         * modules/unistdio/u16-vsprintf: New file.
25183         * modules/unistdio/u16-u16-asnprintf: New file.
25184         * modules/unistdio/u16-u16-asprintf: New file.
25185         * modules/unistdio/u16-u16-snprintf: New file.
25186         * modules/unistdio/u16-u16-sprintf: New file.
25187         * modules/unistdio/u16-u16-vasnprintf: New file.
25188         * modules/unistdio/u16-u16-vasprintf: New file.
25189         * modules/unistdio/u16-u16-vsnprintf: New file.
25190         * modules/unistdio/u16-u16-vsprintf: New file.
25191         * modules/unistdio/u32-asnprintf: New file.
25192         * modules/unistdio/u32-asprintf: New file.
25193         * modules/unistdio/u32-printf-parse: New file.
25194         * modules/unistdio/u32-snprintf: New file.
25195         * modules/unistdio/u32-sprintf: New file.
25196         * modules/unistdio/u32-vasnprintf: New file.
25197         * modules/unistdio/u32-vasprintf: New file.
25198         * modules/unistdio/u32-vsnprintf: New file.
25199         * modules/unistdio/u32-vsprintf: New file.
25200         * modules/unistdio/u32-u32-asnprintf: New file.
25201         * modules/unistdio/u32-u32-asprintf: New file.
25202         * modules/unistdio/u32-u32-snprintf: New file.
25203         * modules/unistdio/u32-u32-sprintf: New file.
25204         * modules/unistdio/u32-u32-vasnprintf: New file.
25205         * modules/unistdio/u32-u32-vasprintf: New file.
25206         * modules/unistdio/u32-u32-vsnprintf: New file.
25207         * modules/unistdio/u32-u32-vsprintf: New file.
25208         * modules/unistdio/ulc-asnprintf-tests: New file.
25209         * modules/unistdio/ulc-vasnprintf-tests: New file.
25210         * modules/unistdio/ulc-vasprintf-tests: New file.
25211         * modules/unistdio/ulc-vsnprintf-tests: New file.
25212         * modules/unistdio/ulc-vsprintf-tests: New file.
25213         * modules/unistdio/u8-asnprintf-tests: New file.
25214         * modules/unistdio/u8-vasnprintf-tests: New file.
25215         * modules/unistdio/u8-vasprintf-tests: New file.
25216         * modules/unistdio/u8-vsnprintf-tests: New file.
25217         * modules/unistdio/u8-vsprintf-tests: New file.
25218         * modules/unistdio/u16-asnprintf-tests: New file.
25219         * modules/unistdio/u16-vasnprintf-tests: New file.
25220         * modules/unistdio/u16-vasprintf-tests: New file.
25221         * modules/unistdio/u16-vsnprintf-tests: New file.
25222         * modules/unistdio/u16-vsprintf-tests: New file.
25223         * modules/unistdio/u32-asnprintf-tests: New file.
25224         * modules/unistdio/u32-vasnprintf-tests: New file.
25225         * modules/unistdio/u32-vasprintf-tests: New file.
25226         * modules/unistdio/u32-vsnprintf-tests: New file.
25227         * modules/unistdio/u32-vsprintf-tests: New file.
25228         * MODULES.html.sh (Unicode string functions): Add the new modules.
25229
25230 2007-07-01  Bruno Haible  <bruno@clisp.org>
25231
25232         * lib/sprintf.c (sprintf): Limit the available length estimation,
25233         to avoid address wraparound.
25234         * lib/vsprintf.c (vsprintf): Likewise.
25235         * modules/sprintf-posix (Dependencies): Add stdint.
25236         * modules/vsprintf-posix (Dependencies): Likewise.
25237
25238 2007-07-01  Bruno Haible  <bruno@clisp.org>
25239
25240         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
25241         Windows PATH as well. Conservative double-quoting. Comments.
25242
25243 2007-07-01  Bruno Haible  <bruno@clisp.org>
25244             Eric Blake  <ebb9@byu.net>
25245             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25246
25247         * gnulib-tool (self_abspathname): Fix algorithm to cope with
25248         empty components in $PATH, denoting '.'.
25249
25250 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25251
25252         * gnulib-tool: Fix indentation.
25253         (func_create_megatestdir): Likewise.
25254         Report by Bruno Haible.
25255
25256 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25257
25258         Sync from Automake.
25259         * build-aux/gnupload: Fix shell portability issues with for loops.
25260         Report by Karl Berry.
25261
25262 2007-06-29  Simon Josefsson  <simon@josefsson.org>
25263
25264         * build-aux/maint.mk (POURL): Use translationproject.org.
25265
25266 2007-06-27  Simon Josefsson  <simon@josefsson.org>
25267             Bruno Haible  <bruno@clisp.org>
25268
25269         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
25270         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
25271         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
25272         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
25273         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
25274
25275 2007-06-27  Bruno Haible  <bruno@clisp.org>
25276
25277         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
25278         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
25279
25280 2007-06-26  Karl Berry  <karl@gnu.org>
25281
25282         * MODULES.html.sh: remove xreadlink-with-size.
25283
25284 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
25285
25286         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
25287         method that I hope also handles the double-include problem noted
25288         by Bruno Haible in
25289         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
25290
25291 2007-06-23  Bruno Haible  <bruno@clisp.org>
25292
25293         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
25294         Don't let the 'mostlyclean' target fail if the last subdirectory could
25295         not be removed.
25296         Reported by Karl Berry.
25297
25298 2007-06-23  Bruno Haible  <bruno@clisp.org>
25299
25300         * gnulib-tool (echo): Add a speedier workaround for ksh.
25301         * tests/test-echo.sh: Likewise.
25302
25303 2007-06-23  Bruno Haible  <bruno@clisp.org>
25304
25305         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
25306         * tests/test-echo.sh: Likewise.
25307
25308 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25309
25310         * gnulib-tool (IFS): Initialize early, so we don't set it to
25311         empty later.
25312         (self_abspathname): Rewrite algorithm to set it, reindent.
25313         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
25314         (func_create_megatestdir): Merge some sed scripts.
25315
25316 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
25317
25318         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
25319         exposed by Sun Studio 11 cc on Solaris 8.
25320
25321 2007-06-22  Bruno Haible  <bruno@clisp.org>
25322
25323         * gnulib-tool (echo): Ensure the echo primitive does not interpret
25324         backslashes.
25325         * tests/test-echo.sh: New file.
25326
25327 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25328
25329         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
25330         simplify `sed_replace_build_aux' scripts, they are portable but
25331         echoing them with `echo' is not.
25332         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
25333
25334 2007-06-21  Karl Berry  <karl@gnu.org>
25335
25336         * config/srclist.txt: guess we can't handle the licenses via
25337         srclist at the moment.
25338
25339 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
25340
25341         * MODULES.html.sh: Add include_next.
25342         * modules/include_next: New file.
25343
25344 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
25345
25346         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
25347         INCLUDE_NEXT.
25348         (gl_CHECK_NEXT_HEADERS): New macro.
25349         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
25350         the obsolescent gl_ABSOLUTE_HEADER.
25351         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
25352         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
25353         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
25354         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
25355         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
25356         * m4/math_h.m4 (gl_MATH_H): Likewise.
25357         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
25358         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25359         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
25360         * m4/stdint.m4 (gl_STDINT_H): Likewise.
25361         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
25362         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
25363         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
25364         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25365         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
25366         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
25367         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
25368         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
25369         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
25370         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25371         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
25372         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
25373         * m4/inttypes.m4 (gl_INTTYPES_H): Define
25374         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
25375         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
25376         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
25377         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
25378         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
25379         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
25380         * lib/float_.h: Likewise.
25381         * lib/inttypes_.h: Likewise.
25382         * lib/math_.h: Likewise.
25383         * lib/search_.h: Likewise.
25384         * lib/signal_.h: Likewise.
25385         * lib/stdint_.h: Likewise.
25386         * lib/stdio_.h: Likewise.
25387         * lib/stdlib_.h: Likewise.
25388         * lib/string_.h: Likewise.
25389         * lib/sys_stat_.h: Likewise.
25390         * lib/sys_time_.h: Likewise.
25391         * lib/time_.h: Likewise.
25392         * lib/unistd_.h: Likewise.
25393         * lib/wchar_.h: Likewise.
25394         * lib/wctype_.h: Likewise.
25395         * lib/dirent_.h: Likewise.
25396         * lib/iconv_.h: Likewise.
25397         * lib/locale_.h: Likewise.
25398         * lib/netinet_in_.h: Likewise.
25399         * lib/sys_select_.h: Likewise.
25400         * lib/sys_socket_.h: Likewise.
25401         * lib/sysexits_.h: Likewise.
25402         * modules/fcntl (Depends-on): Depend on include_next, not
25403         absolute_header.
25404         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
25405         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
25406         * modules/fchdir: Likewise.
25407         * modules/float: Likewise.
25408         * modules/iconv_open: Likewise.
25409         * modules/inttypes: Likewise.
25410         * modules/locale: Likewise.
25411         * modules/math: Likewise.
25412         * modules/netinet_in: Likewise.
25413         * modules/search: Likewise.
25414         * modules/signal: Likewise.
25415         * modules/stdint: Likewise.
25416         * modules/stdio: Likewise.
25417         * modules/stdlib: Likewise.
25418         * modules/string: Likewise.
25419         * modules/sys_select: Likewise.
25420         * modules/sys_socket: Likewise.
25421         * modules/sys_stat: Likewise.
25422         * modules/sys_time: Likewise.
25423         * modules/sysexits: Likewise.
25424         * modules/time: Likewise.
25425         * modules/unistd: Likewise.
25426         * modules/wchar: Likewise.
25427         * modules/wctype: Likewise.
25428         * modules/sys_stat: Change maintainer to "all".
25429         * modules/unistd: Likewise.
25430
25431 2007-06-20  Karl Berry  <karl@gnu.org>
25432
25433         * config/srclist.txt: track www changes in license files.
25434
25435 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
25436
25437         * build-aux/bootstrap: Remove stray dot.
25438         Make sure build_aux settings are honored when linking
25439         gnulib_extra_files.
25440
25441 2007-06-19  Eric Blake  <ebb9@byu.net>
25442
25443         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
25444         Allow compilation on cygwin.
25445
25446 2007-06-19  Jim Meyering  <jim@meyering.net>
25447
25448         xreadlink-with-size: Remove module.  No longer used.
25449         Ex-callers now use xreadlink or mreadlink-with-size.
25450         * modules/xreadlink-with-size: Remove module.
25451         * lib/xreadlink-with-size.c: Remove file.
25452         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
25453         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
25454         just before the function definition *is* accurate.
25455
25456         Eliminate one way canonicalize_filename_mode could exit.
25457         * lib/canonicalize.c (canonicalize_filename_mode):
25458         Use mreadlink_with_size, not xreadlink_with_size.
25459
25460 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
25461
25462         Detect porting problems to FreeBSD/arm, which has time_t wider than
25463         long int.  Original problem reported for GNU diff by Xin Li in
25464         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
25465         * modules/getdate (Depends-on): Add intprops, verify.
25466         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
25467         is an integer type no wider than long int.
25468
25469 2007-06-18  Jim Meyering  <jim@meyering.net>
25470
25471         New module: mreadlink-with-size.
25472         * MODULES.html.sh: Add mreadlink-with-size.
25473         * modules/mreadlink-with-size: New module
25474         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
25475         not xreadlink-with-size.
25476         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
25477
25478 2007-06-16  Bruno Haible  <bruno@clisp.org>
25479
25480         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
25481         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
25482         Reported by Gary V. Vaughan <gary@gnu.org>.
25483
25484 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
25485
25486         Revamp lchown so that it lives in unistd.h where it belongs.
25487         * lib/lchown.h: Remove.
25488         * lib/dirchownmod.c: Don't include lib/lchown.h.
25489         * lib/fchownat.c: Likewise.
25490         * lib/openat.c: Likewise.
25491         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
25492         does not follow symlinks.
25493         (EOPNOTSUPP): Define if not defined.
25494         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
25495         is defined to 0.
25496         (lchown): New decl.
25497         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
25498         Do not check for lchown decl.
25499         Set REPLACE_LCHOWN.
25500         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
25501         REPLACE_LCHOWN.
25502         * modules/chown: Make it clear it follows symlinks.
25503         * modules/lchown: Make it clear it doesn't follow symlinks.
25504         (Files): Remove lib/lchown.h
25505         (Depends-on): Add unistd.
25506         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
25507         (Include): Include <unistd.h>, not "lchown.h".
25508         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
25509         REPLACE_LCHOWN.
25510
25511 2007-06-15  Jim Meyering  <jim@meyering.net>
25512
25513         Change license (GPL to LGPL) of fsusage and dependents.
25514         * modules/fsusage (License): Change to LGPL.
25515         * modules/full-read (License): Likewise.
25516         * modules/full-write (License): Likewise.
25517         * modules/safe-read (License): Likewise.
25518         * modules/safe-write (License): Likewise.
25519
25520 2007-06-14  Ben Pfaff  <blp@gnu.org>
25521
25522         Missing part of allocsa -> malloca transition.
25523         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
25524         gl_MALLOCA.
25525
25526 2007-06-12  Bruno Haible  <bruno@clisp.org>
25527
25528         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
25529         to ia64, x86_64, i386.
25530         Reported by Eric Blake.
25531
25532 2007-06-12  Bruno Haible  <bruno@clisp.org>
25533
25534         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
25535         cross-compiling to x86_64.
25536
25537 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
25538
25539         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
25540         glitch reported by Ralf Wildenhues in
25541         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
25542
25543         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
25544         Vin Shelton.
25545
25546 2007-06-11  Bruno Haible  <bruno@clisp.org>
25547
25548         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
25549         replacement string.
25550         Reported by Eric Blake.
25551
25552 2007-06-10  Bruno Haible  <bruno@clisp.org>
25553
25554         Prepare vasnprintf code for use with Unicode strings.
25555         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
25556         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
25557         TYPE_U32_STRING.
25558         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
25559         a_u32_string variants.
25560         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
25561         * lib/printf-args.c: Don't include config.h and the specification
25562         header if PRINTF_FETCHARGS is already defined.
25563         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
25564         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
25565         TYPE_U16_STRING, TYPE_U32_STRING.
25566         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
25567         u16_directive, u16_directives, u32_directive, u32_directives): New
25568         types.
25569         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
25570         New declarations.
25571         * lib/printf-parse.c: Don't include config.h and the specification
25572         header if PRINTF_PARSE is already defined. Eliminate the set of
25573         parameters for WIDE_CHAR_VERSION; the user of this file must provide
25574         them now. Include c-ctype.h.
25575         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
25576         directive and CHAR_T_ONLY_ASCII.
25577         * lib/vasnprintf.c: Don't include config.h and the specification header
25578         if VASNPRINTF is already defined.
25579         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
25580         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
25581         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
25582         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
25583         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
25584         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
25585         code accordingly.
25586         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
25587         pad_ourselves also in this case, with the 'c' and 's' directives, and
25588         with a different notion of "width".
25589         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
25590
25591 2007-06-10  Bruno Haible  <bruno@clisp.org>
25592
25593         * modules/unistr/u32-mbsnlen: New file.
25594         * lib/unistr/u32-mbsnlen.c: New file.
25595
25596         * modules/unistr/u16-mbsnlen: New file.
25597         * lib/unistr/u16-mbsnlen.c: New file.
25598
25599         * modules/unistr/u8-mbsnlen: New file.
25600         * lib/unistr/u8-mbsnlen.c: New file.
25601
25602         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
25603         declarations.
25604
25605 2007-06-10  Bruno Haible  <bruno@clisp.org>
25606
25607         * lib/string_.h (mbsnlen): New declaration.
25608         * lib/mbsnlen.c: New file.
25609         * m4/mbsnlen.m4: New file.
25610         * modules/mbsnlen: New file.
25611         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
25612         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
25613         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
25614
25615 2007-06-10  Bruno Haible  <bruno@clisp.org>
25616
25617         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
25618
25619 2007-06-10  Bruno Haible  <bruno@clisp.org>
25620
25621         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
25622         * lib/mbuiter.h: Likewise.
25623
25624 2007-06-10  Bruno Haible  <bruno@clisp.org>
25625
25626         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
25627         declaration.
25628
25629 2007-06-10  Karl Berry  <karl@gnu.org>
25630
25631         * config/srclist.txt: remove gettext entries, Bruno prefers
25632         to update individually.
25633
25634 2007-06-10  Bruno Haible  <bruno@clisp.org>
25635
25636         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
25637         'maxlen'. Ensure only length + width bytes are allocated, not
25638         length + 1 + width.
25639
25640 2007-06-09  Bruno Haible  <bruno@clisp.org>
25641
25642         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
25643         (CHAR_T): Remove macro.
25644         (VASNPRINTF): Update.
25645
25646 2007-06-09  Bruno Haible  <bruno@clisp.org>
25647
25648         * MODULES.html.sh (Unicode string functions): Add the new modules.
25649
25650         * modules/uniconv/u32-conv-to-enc: New file.
25651         * lib/uniconv/u32-conv-to-enc.c: New file.
25652         * modules/uniconv/u32-conv-to-enc-tests: New file.
25653         * tests/uniconv/test-u32-conv-to-enc.c: New file.
25654
25655         * modules/uniconv/u16-conv-to-enc: New file.
25656         * lib/uniconv/u16-conv-to-enc.c: New file.
25657         * lib/uniconv/u-conv-to-enc.h: New file.
25658         * modules/uniconv/u16-conv-to-enc-tests: New file.
25659         * tests/uniconv/test-u16-conv-to-enc.c: New file.
25660
25661         * modules/uniconv/u8-conv-to-enc: New file.
25662         * lib/uniconv/u8-conv-to-enc.c: New file.
25663         * modules/uniconv/u8-conv-to-enc-tests: New file.
25664         * tests/uniconv/test-u8-conv-to-enc.c: New file.
25665
25666         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
25667         u32_conv_to_encoding): New declarations.
25668
25669 2007-06-09  Bruno Haible  <bruno@clisp.org>
25670
25671         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
25672
25673 2007-06-09  Bruno Haible  <bruno@clisp.org>
25674
25675         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
25676         * modules/malloca: Renamed from modules/allocsa, updated.
25677         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
25678         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
25679         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
25680         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
25681         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
25682         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
25683         * modules/xmalloca: Renamed from modules/xallocsa, updated.
25684         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
25685         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
25686         * modules/c-strcasestr (Depends-on): Update.
25687         * lib/c-strcasestr.c: Update.
25688         * modules/c-strstr (Depends-on): Update.
25689         * lib/c-strstr.c: Update.
25690         * modules/canonicalize-lgpl (Depends-on): Update.
25691         * lib/canonicalize-lgpl.c: Update.
25692         * modules/clean-temp (Depends-on): Update.
25693         * lib/clean-temp.c: Update.
25694         * modules/csharpcomp (Depends-on): Update.
25695         * lib/csharpcomp.c: Update.
25696         * modules/csharpexec (Depends-on): Update.
25697         * lib/csharpexec.c: Update.
25698         * modules/javacomp (Depends-on): Update.
25699         * lib/javacomp.c: Update.
25700         * modules/javaexec (Depends-on): Update.
25701         * lib/javaexec.c: Update.
25702         * modules/mbscasestr (Depends-on): Update.
25703         * lib/mbscasestr.c: Update.
25704         * modules/mbsstr (Depends-on): Update.
25705         * lib/mbsstr.c: Update.
25706         * modules/setenv (Depends-on): Update.
25707         * lib/setenv.c: Update.
25708         * modules/strcasestr (Depends-on): Update.
25709         * lib/strcasestr.c: Update.
25710         * modules/striconveha (Depends-on): Update.
25711         * lib/striconveha.c: Update.
25712         * modules/relocatable-prog-wrapper (Files): Update.
25713         * lib/relocwrapper.c: Update.
25714         * build-aux/install-reloc: Update.
25715         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
25716
25717 2007-06-08  Bruno Haible  <bruno@clisp.org>
25718
25719         Port to uClibc.
25720         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
25721         * lib/fpurge.c (fpurge): Likewise.
25722         * lib/freading.c (freading): Likewise.
25723         * lib/fseeko.c (rpl_fseeko): Likewise.
25724         * lib/fseterr.c (fseterr): Likewise.
25725         * lib/fwriting.c (fwriting): Likewise.
25726         * tests/test-fflush.c (main): Avoid a failure on uClibc.
25727
25728 2007-06-08  Bruno Haible  <bruno@clisp.org>
25729
25730         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
25731         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
25732         * modules/gettext (Files): Add m4/intlmacosx.m4.
25733
25734 2007-06-07  Bruno Haible  <bruno@clisp.org>
25735
25736         * modules/localename-tests: New file.
25737         * tests/test-localename.c: New file.
25738
25739         New module 'localename'.
25740         * lib/localename.h: New file.
25741         * lib/localename.c: New file, from GNU gettext.
25742         * m4/localename.m4: New file.
25743         * modules/localename: New file.
25744
25745 2007-06-07  Bruno Haible  <bruno@clisp.org>
25746
25747         Work around the lack of <wchar.h> on some builds of uClibc.
25748         * doc/headers/wchar.texi: Update.
25749         * lib/wchar_.h: Include <wchar.h> only if it exists.
25750         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
25751         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
25752         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
25753         doesn't exist.
25754         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
25755         * modules/mbfile (Depends-on): Add wchar.
25756         * modules/mbiter (Depends-on): Likewise.
25757         * modules/mbuiter (Depends-on): Likewise.
25758         Reported by Simon Josefsson.
25759
25760 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
25761
25762         Work around problem reported by Steven M. Schweda in
25763         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
25764         Tru64 5.1B with the Compaq compiler environment installed declares
25765         an 'isblank' function but does not define it in the C library.
25766         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
25767         * lib/regex_internal.h (isblank): Likewise.
25768         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
25769         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
25770
25771 2007-06-05  Bruno Haible  <bruno@clisp.org>
25772
25773         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
25774         ia64.
25775         * modules/printf-safe: New file.
25776         * modules/fprintf-posix (Depends-on): Add printf-safe.
25777         * modules/printf-posix (Depends-on): Likewise.
25778         * modules/snprintf-posix (Depends-on): Likewise.
25779         * modules/sprintf-posix (Depends-on): Likewise.
25780         * modules/vasnprintf-posix (Depends-on): Likewise.
25781         * modules/vasprintf-posix (Depends-on): Likewise.
25782         * modules/vfprintf-posix (Depends-on): Likewise.
25783         * modules/vprintf-posix (Depends-on): Likewise.
25784         * modules/vsnprintf-posix (Depends-on): Likewise.
25785         * modules/vsprintf-posix (Depends-on): Likewise.
25786         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
25787         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
25788         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
25789         "no" on i386, x86_64, ia64.
25790         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
25791         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
25792         on i386, x86_64, ia64.
25793         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
25794         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
25795         on i386, x86_64, ia64.
25796         * tests/test-vasnprintf-posix.c: Include float.h.
25797         (LDBL80_WORDS): New macro.
25798         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
25799         on i386, x86_64, ia64.
25800         * tests/test-vasprintf-posix.c: Include float.h.
25801         (LDBL80_WORDS): New macro.
25802         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
25803         on i386, x86_64, ia64.
25804         * tests/test-snprintf-posix.c: Include float.h.
25805         * tests/test-sprintf-posix.c: Likewise.
25806         * tests/test-vsnprintf-posix.c: Likewise.
25807         * tests/test-vsprintf-posix.c: Likewise.
25808
25809 2007-06-05  Bruno Haible  <bruno@clisp.org>
25810
25811         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
25812         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
25813         non-IEEE numbers on i386, x86_64, ia64.
25814         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
25815         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
25816         * tests/test-isnanl.h: Include float.h.
25817         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
25818
25819 2007-06-05  Bruno Haible  <bruno@clisp.org>
25820
25821         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
25822         also the %a / %A. Handle the %a / %A code before this extra handling.
25823
25824 2007-06-05  Bruno Haible  <bruno@clisp.org>
25825
25826         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
25827         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
25828
25829 2007-06-05  Bruno Haible  <bruno@clisp.org>
25830
25831         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
25832         typo in variable name.
25833
25834 2007-06-05  Eric Blake  <ebb9@byu.net>
25835
25836         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
25837         Reported by Simon Josefsson.
25838
25839 2007-06-04  Bruno Haible  <bruno@clisp.org>
25840
25841         Avoid test failures on some PowerPC platforms.
25842         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
25843         Define differently for PowerPC.
25844         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
25845         Reported by Gary V. Vaughan <gary@gnu.org>.
25846
25847 2007-06-02  Bruno Haible  <bruno@clisp.org>
25848
25849         Fix test-stdint failure on FreeBSD/ia64.
25850         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
25851         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
25852         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
25853         * doc/headers/stdint.texi: Update.
25854
25855 2007-06-01  Bruno Haible  <bruno@clisp.org>
25856
25857         * tests/test-binary-io.c (main): Pass a third argument to open().
25858         Reported by Gary V. Vaughan <gary@gnu.org>.
25859
25860 2007-06-01  Bruno Haible  <bruno@clisp.org>
25861
25862         * doc/functions/frexpl.texi: Update for mingw.
25863
25864 2007-06-01  Bruno Haible  <bruno@clisp.org>
25865
25866         * tests/test-lseek.c (main): Disable test of errno for invalid third
25867         argument.
25868         * doc/functions/lseek.texi: Update.
25869         Reported by Gary V. Vaughan <gary@gnu.org>.
25870
25871 2007-05-28  Bruno Haible  <bruno@clisp.org>
25872
25873         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
25874
25875 2007-05-31  Eric Blake  <ebb9@byu.net>
25876
25877         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
25878         cross compiling.
25879
25880 2007-05-30  Eric Blake  <ebb9@byu.net>
25881         and Bruno Haible  <bruno@clisp.org>
25882
25883         Work around mingw test failures exposed by m4-1.4.9b.
25884         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
25885         * tests/test-unistd.c: Disable uid_t and git_t tests for the
25886         moment.
25887
25888 2007-05-30  Bruno Haible  <bruno@clisp.org>
25889
25890         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
25891         assuming that they are closed. Needed on HP-UX 11.
25892
25893 2007-05-29  Bruno Haible  <bruno@clisp.org>
25894
25895         Fix a problem with #include_next.
25896         * lib/dirent_.h: Split the double-inclusion guard.
25897         * lib/fcntl_.h: Likewise.
25898         * lib/float_.h: Likewise.
25899         * lib/iconv_.h: Likewise.
25900         * lib/inttypes_.h: Likewise.
25901         * lib/locale_.h: Likewise.
25902         * lib/math_.h: Likewise.
25903         * lib/netinet_in_.h: Likewise.
25904         * lib/search_.h: Likewise.
25905         * lib/signal_.h: Likewise.
25906         * lib/stdint_.h: Likewise.
25907         * lib/stdio_.h: Likewise.
25908         * lib/stdlib_.h: Likewise.
25909         * lib/string_.h: Likewise.
25910         * lib/sys_select_.h: Likewise.
25911         * lib/sys_socket_.h: Likewise.
25912         * lib/sys_stat_.h: Likewise.
25913         * lib/sys_time_.h: Likewise.
25914         * lib/sysexits_.h: Likewise.
25915         * lib/time_.h: Likewise.
25916         * lib/unistd_.h: Likewise.
25917         * lib/wchar_.h: Likewise.
25918         * lib/wctype_.h: Likewise.
25919
25920 2007-05-29  Bruno Haible  <bruno@clisp.org>
25921
25922         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
25923         for the moment.
25924
25925 2007-05-29  Bruno Haible  <bruno@clisp.org>
25926
25927         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
25928         invocation.
25929         Reported by Eric Blake.
25930
25931 2007-05-29  Bruno Haible  <bruno@clisp.org>
25932
25933         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
25934         compiling case.
25935
25936 2007-05-29  Eric Blake  <ebb9@byu.net>
25937             Bruno Haible  <bruno@clisp.org>
25938
25939         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
25940         cross compiles.
25941
25942 2007-05-28  Eric Blake  <ebb9@byu.net>
25943
25944         * modules/closein-tests (test_closein_LDADD): Support test on
25945         cygwin with libtool.
25946
25947 2007-05-28  Bruno Haible  <bruno@clisp.org>
25948
25949         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
25950         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
25951         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
25952         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
25953         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
25954         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
25955         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
25956         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
25957         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
25958
25959 2007-05-28  Eric Blake  <ebb9@byu.net>
25960
25961         Unconditionally include <config.h> in unit tests.
25962         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
25963         * tests/test-allocsa.c, tests/test-arcfour.c,
25964         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
25965         tests/test-array_list.c, tests/test-array_oset.c,
25966         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
25967         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
25968         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
25969         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
25970         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
25971         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
25972         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
25973         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
25974         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
25975         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
25976         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
25977         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
25978         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
25979         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
25980         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
25981         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
25982         test-md5.c, test-memmem.c, test-printf-posix.c,
25983         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
25984         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
25985         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
25986         test-strcasestr.c, test-striconv.c, test-striconveh.c,
25987         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
25988         test-vasnprintf-posix2.c, test-vasnprintf.c,
25989         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
25990         test-vfprintf-posix.c, test-vprintf-posix.c,
25991         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
25992         test-xvasprintf.c: Likewise.
25993
25994 2007-05-28  Bruno Haible  <bruno@clisp.org>
25995
25996         * gnulib-tool (func_import): Remember the --with-tests command-line
25997         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
25998         Reported by Eric Blake.
25999
26000 2007-05-28  Bruno Haible  <bruno@clisp.org>
26001
26002         * modules/ftell-tests: New file.
26003         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
26004         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
26005
26006         * lib/ftell.c: New file.
26007         * modules/ftell: New file.
26008         * m4/ftell.m4: New file.
26009         * doc/functions/ftell.texi: Update.
26010         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
26011         REPLACE_FTELL.
26012         * lib/stdio_.h (rpl_ftell): New declaration.
26013         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
26014         REPLACE_FTELL.
26015
26016 2007-05-28  Eric Blake  <ebb9@byu.net>
26017
26018         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
26019
26020 2007-05-28  Bruno Haible  <bruno@clisp.org>
26021
26022         * modules/fseek-tests: New file.
26023         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
26024         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
26025
26026         * lib/fseek.c: New file.
26027         * modules/fseek: New file.
26028         * m4/fseek.m4: New file.
26029         * doc/functions/fseek.texi: Update.
26030         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
26031         REPLACE_FSEEK.
26032         * lib/stdio_.h (rpl_fseek): New declaration.
26033         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
26034         REPLACE_FSEEK.
26035
26036 2007-05-28  Bruno Haible  <bruno@clisp.org>
26037
26038         * lib/stdio_.h (fflush): More comments.
26039
26040 2007-05-28  Bruno Haible  <bruno@clisp.org>
26041
26042         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
26043         runtime test.
26044
26045 2007-05-28  Eric Blake  <ebb9@byu.net>
26046
26047         Improve lseek module.
26048         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
26049         * lib/unistd_.h (lseek): Scale back link warning message.
26050         * tests/test-lseek.c: Beef up test.
26051         * tests/test-lseek.sh: Exercise more facets of lseek.
26052         Reported by Bruno Haible.
26053
26054 2007-05-28  Bruno Haible  <bruno@clisp.org>
26055
26056         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
26057         to define.
26058
26059 2007-05-27  Bruno Haible  <bruno@clisp.org>
26060
26061         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
26062
26063 2007-05-27  Bruno Haible  <bruno@clisp.org>
26064
26065         * modules/openmp: New file.
26066         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
26067         Noah Misch.
26068
26069 2007-05-26  Bruno Haible  <bruno@clisp.org>
26070
26071         * modules/chdir-long (Depends-on): Add fchdir.
26072         * modules/chdir-safer (Depends-on): Likewise.
26073         * modules/fts (Depends-on): Likewise.
26074         * modules/fts-lgpl (Depends-on): Likewise.
26075         * modules/openat (Depends-on): Likewise.
26076         * modules/savewd (Depends-on): Likewise.
26077
26078 2007-05-24  Eric Blake  <ebb9@byu.net>
26079
26080         Fix lseek on mingw.
26081         * modules/lseek: New module.
26082         * m4/lseek.m4: New file.
26083         * lib/lseek.c: New file.
26084         * modules/lseek-tests: New file.
26085         * tests/test-lseek.c: New file.
26086         * tests/test-lseek.sh: New file.
26087         * MODULES.html.sh: Document lseek module.
26088         * modules/fflush (Depends-on): Add lseek, fseeko.
26089         * modules/fseeko (Depends-on): Likewise.
26090         * modules/ftello (Depends-on): Likewise.
26091         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
26092         broken.
26093         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
26094         broken.
26095         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
26096         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
26097         * lib/ftello.c (rpl_ftello): Likewise.
26098         * tests/test-fseeko.c (main): Test this.
26099         * tests/test-fseeko.sh: Likewise.
26100         * tests/test-ftello.c (main): Likewise.
26101         * tests/test-ftello.sh: Likewise.
26102         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
26103         implies replacing fseek.
26104         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
26105         HAVE_FTELLO.
26106         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
26107         * modules/unistd (Makefile.am): Likewise.
26108         * lib/unistd_.h (lseek): Declare a replacement.
26109         * doc/functions/lseek.texi (lseek): Document this fix.
26110         * doc/functions/fseek.texi (fseek): Likewise.
26111         * doc/functions/ftell.texi (ftell): Likewise.
26112
26113 2007-05-24  Bruno Haible  <bruno@clisp.org>
26114
26115         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
26116         in the printed representation of a NaN.
26117         * tests/test-vasprintf-posix.c (test_function): Likewise.
26118         * tests/test-snprintf-posix.h (test_function): Likewise.
26119         * tests/test-sprintf-posix.h (test_function): Likewise.
26120         Reported by Eric Blake.
26121
26122 2007-05-23  Eric Blake  <ebb9@byu.net>
26123
26124         Fix fseeko/ftello on cygwin 1.5.24.
26125         * doc/functions/fseeko.texi (fseeko): Document the fix.
26126         * doc/functions/ftello.texi (ftello): Document the fix.
26127         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
26128         * doc/functions/stdout.text (stdout): New file.
26129         * doc/functions/stderr.text (stderr): New file.
26130         * doc/gnulib.texi (Function Substitutes): Use new files.
26131         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
26132         prior to 1.7.0.
26133         * tests/test-ftello.c (main): Likewise for ftello.
26134         * tests/test-fseeko.sh: New file.
26135         * tests/test-ftello.sh: New file.
26136         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
26137         with seekable stdin.
26138         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
26139         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
26140         (gl_REPLACE_FSEEKO): New macro.
26141         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
26142         * modules/fseeko (Files): Distribute fseeko.c.
26143         * modules/ftello (Files): Distribute ftello.c.
26144         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
26145         mode.
26146         * lib/ftello.c (rpl_ftello): New file.
26147         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
26148         fseeko, ftello.
26149         (gl_STDIN_LARGE_OFFSET): New macro.
26150         * modules/stdio (Makefile.am): Perform the replacement.
26151         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
26152
26153 2007-05-23  Bruno Haible  <bruno@clisp.org>
26154
26155         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
26156         GNULIB_POSIXCHECK is defined.
26157
26158 2007-05-21  Bruno Haible  <bruno@clisp.org>
26159
26160         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
26161         Check also the output for NaN arguments. When cross-compiling, guess
26162         no on IRIX.
26163         * lib/vasnprintf.c: Update comments.
26164         * tests/test-vasnprintf-posix.c (strisnan): New function.
26165         (test_function): Use it.
26166         * tests/test-vasprintf-posix.c (strisnan): New function.
26167         (test_function): Use it.
26168         * tests/test-snprintf-posix.h (strisnan): New function.
26169         (test_function): Use it.
26170         * tests/test-sprintf-posix.h (strisnan): New function.
26171         (test_function): Use it.
26172         Reported by Eric Blake.
26173
26174 2007-05-20  Bruno Haible  <bruno@clisp.org>
26175
26176         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
26177         numbers that fails on BeOS.
26178         * doc/functions/frexpl.texi: Update.
26179
26180 2007-05-20  Jim Meyering  <jim@meyering.net>
26181
26182         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
26183         forced upon us by glibc-2.6.
26184
26185 2007-05-20  Bruno Haible  <bruno@clisp.org>
26186
26187         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
26188         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
26189         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
26190         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
26191         NEED_PRINTF_INFINITE.
26192         (is_infinitel): New function.
26193         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
26194         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
26195         gl_PREREQ_VASNPRINTF_INFINITE.
26196         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
26197         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
26198         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
26199         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
26200         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
26201         gl_PREREQ_VASNPRINTF_INFINITE.
26202         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
26203         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26204         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26205         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26206         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26207         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26208         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26209         * doc/functions/fprintf.texi: Update.
26210         * doc/functions/printf.texi: Update.
26211         * doc/functions/snprintf.texi: Update.
26212         * doc/functions/sprintf.texi: Update.
26213         * doc/functions/vfprintf.texi: Update.
26214         * doc/functions/vprintf.texi: Update.
26215         * doc/functions/vsnprintf.texi: Update.
26216         * doc/functions/vsprintf.texi: Update.
26217
26218 2007-05-20  Bruno Haible  <bruno@clisp.org>
26219
26220         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
26221         was not found in libc.
26222         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
26223
26224 2007-05-20  Bruno Haible  <bruno@clisp.org>
26225
26226         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
26227         printed as "-nan" instead of "nan".
26228         * tests/test-vasprintf-posix.c (test_function): Likewise.
26229         * tests/test-snprintf-posix.h (test_function): Likewise.
26230         * tests/test-sprintf-posix.h (test_function): Likewise.
26231         Needed for HP-UX 11.
26232
26233 2007-05-20  Jim Meyering  <jim@meyering.net>
26234
26235         Fix buggy test for the fchownat-deref bug.
26236         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
26237         symlink required for the run-test.  Without it, this test would
26238         always declare that fchownat doesn't work, and client code would
26239         unnecessarily use the replacement function with fixed libc.
26240         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
26241         Reported by Greg Schafer.
26242
26243 2007-05-19  Bruno Haible  <bruno@clisp.org>
26244
26245         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
26246         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
26247         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
26248         Needed for IRIX 6.5 and Solaris 2.5.1.
26249
26250 2007-05-19  Bruno Haible  <bruno@clisp.org>
26251
26252         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
26253         (test_function): Skip tests involving -0.0 on platforms where
26254         -0.0 = 0.0.
26255         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
26256         (test_function): Skip tests involving -0.0 on platforms where
26257         -0.0 = 0.0.
26258         * tests/test-snprintf-posix.h (have_minus_zero): New function.
26259         (test_function): Skip tests involving -0.0 on platforms where
26260         -0.0 = 0.0.
26261         * tests/test-sprintf-posix.h (have_minus_zero): New function.
26262         (test_function): Skip tests involving -0.0 on platforms where
26263         -0.0 = 0.0.
26264         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
26265         tests.
26266         * tests/test-printf-posix.h (test_function): Likewise.
26267         * tests/test-printf-posix.output: Remove all -0.0 related results.
26268         Needed for IRIX 6.5.
26269
26270 2007-05-19  Bruno Haible  <bruno@clisp.org>
26271
26272         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
26273         printed as "nan0x7fffffff" instead of "nan".
26274         * tests/test-vasprintf-posix.c (test_function): Likewise.
26275         * tests/test-snprintf-posix.h (test_function): Likewise.
26276         * tests/test-sprintf-posix.h (test_function): Likewise.
26277         * tests/test-fprintf-posix.h (NaN): Remove macro.
26278         (test_function): Remove all NaN related tests.
26279         * tests/test-printf-posix.h (NaN): Remove macro.
26280         (test_function): Remove all NaN related tests.
26281         * tests/test-printf-posix.output: Remove all NaN related results.
26282         Needed for IRIX 6.5.
26283
26284 2007-05-19  Bruno Haible  <bruno@clisp.org>
26285
26286         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
26287         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
26288
26289 2007-05-19  Bruno Haible  <bruno@clisp.org>
26290
26291         * lib/float_.h: New file.
26292         * m4/float_h.m4: New file.
26293         * modules/float: New file.
26294         * modules/isnanl (Dependencies): Add float.
26295         * modules/isnanl-nolibm (Dependencies): Likewise.
26296         * modules/mathl (Dependencies): Likewise.
26297         * modules/printf-frexpl (Dependencies): Likewise.
26298         * modules/signbit (Dependencies): Likewise.
26299         * modules/vasnprintf (Dependencies): Likewise.
26300         * doc/headers/float.texi: Update.
26301
26302 2007-05-19  Jim Meyering  <jim@meyering.net>
26303
26304         * lib/utimens.c (gl_futimens): Rename from futimens,
26305         now that glibc-2.6 declares futimens.
26306         * lib/utimens.h: Likewise.
26307
26308 2007-05-19  Bruno Haible  <bruno@clisp.org>
26309
26310         Avoid test failures on mingw.
26311         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
26312         * tests/test-printf-posix.sh: Likewise.
26313         * tests/test-vfprintf-posix.sh: Likewise.
26314         * tests/test-vprintf-posix.sh: Likewise.
26315
26316 2007-05-19  Bruno Haible  <bruno@clisp.org>
26317
26318         Fix *printf result for NaN, Inf, -0.0 on mingw.
26319         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
26320         * lib/vasnprintf.c: Include math.h and isnan.h.
26321         (is_infinite_or_zero): New function.
26322         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
26323         values in the %f, %F, %e, %E, %g, %G directives.
26324         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
26325         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
26326         gl_PRINTF_INFINITE and test its result. Invoke
26327         gl_PREREQ_VASNPRINTF_INFINITE.
26328         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
26329         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26330         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26331         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26332         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26333         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26334         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26335         * doc/functions/fprintf.texi: Update.
26336         * doc/functions/printf.texi: Update.
26337         * doc/functions/snprintf.texi: Update.
26338         * doc/functions/sprintf.texi: Update.
26339         * doc/functions/vfprintf.texi: Update.
26340         * doc/functions/vprintf.texi: Update.
26341         * doc/functions/vsnprintf.texi: Update.
26342         * doc/functions/vsprintf.texi: Update.
26343
26344 2007-05-19  Bruno Haible  <bruno@clisp.org>
26345
26346         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
26347         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
26348         Instead of multiplying with 10^k, set extra_zeroes to k.
26349         (scale10_round_long_double): Remove function.
26350
26351 2007-05-18  Bruno Haible  <bruno@clisp.org>
26352
26353         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
26354         introduced on 2007-05-06.
26355
26356 2007-05-18  Bruno Haible  <bruno@clisp.org>
26357
26358         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
26359         %g directives.
26360         * tests/test-vasprintf-posix.c (test_function): Likewise.
26361         * tests/test-snprintf-posix.h (test_function): Likewise.
26362         * tests/test-sprintf-posix.h (test_function): Likewise.
26363
26364 2007-05-18  Bruno Haible  <bruno@clisp.org>
26365
26366         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
26367         (strmatch): New function.
26368         (test_function): Test the %f directive on numbers of various exponents.
26369         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
26370         (strmatch): New function.
26371         (test_function): Test the %f directive on numbers of various exponents.
26372         * tests/test-snprintf-posix.h (strmatch): New function.
26373         (test_function): Test the %f directive on numbers of various exponents.
26374         * tests/test-sprintf-posix.h (strmatch): New function.
26375         (test_function): Test the %f directive on numbers of various exponents.
26376         * tests/test-snprintf-posix.c (SIZEOF): New macro.
26377         * tests/test-sprintf-posix.c (SIZEOF): New macro.
26378         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
26379         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
26380
26381 2007-05-18  Bruno Haible  <bruno@clisp.org>
26382
26383         Add support for 'long double' number output.
26384         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
26385         * lib/vasnprintf.c: Include math.h and float+.h.
26386         (mp_limb_t): New type.
26387         (GMP_LIMB_BITS): New macro.
26388         (mp_twolimb_t): New type.
26389         (GMP_TWOLIMB_BITS): New macro.
26390         (mpn_t): New type.
26391         (multiply, divide, convert_to_decimal, decode_long_double,
26392         scale10_round_long_double, scale10_round_decimal_long_double,
26393         floorlog10l): New functions.
26394         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
26395         for the %f, %F, %e, %E, %g, %G directives.
26396         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
26397         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
26398         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
26399         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
26400         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
26401         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26402         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26403         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26404         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26405         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26406         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26407         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
26408         * modules/snprintf-posix (Depends-on): Likewise.
26409         * modules/sprintf-posix (Depends-on): Likewise.
26410         * modules/vasnprintf-posix (Depends-on): Likewise.
26411         * modules/vasprintf-posix (Depends-on): Likewise.
26412         * modules/vfprintf-posix (Depends-on): Likewise.
26413         * modules/vsnprintf-posix (Depends-on): Likewise.
26414         * modules/vsprintf-posix (Depends-on): Likewise.
26415         * modules/vasnprintf (Files): Add lib/float+.h.
26416         * doc/functions/fprintf.texi: Update.
26417         * doc/functions/printf.texi: Update.
26418         * doc/functions/snprintf.texi: Update.
26419         * doc/functions/sprintf.texi: Update.
26420         * doc/functions/vfprintf.texi: Update.
26421         * doc/functions/vprintf.texi: Update.
26422         * doc/functions/vsnprintf.texi: Update.
26423         * doc/functions/vsprintf.texi: Update.
26424
26425 2007-05-18  Bruno Haible  <bruno@clisp.org>
26426
26427         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
26428
26429 2007-05-18  Bruno Haible  <bruno@clisp.org>
26430
26431         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
26432         for printing 64-bit integers. Needed for mingw.
26433
26434 2007-05-18  Bruno Haible  <bruno@clisp.org>
26435
26436         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
26437         gl_FUNC_FREXPL_WORKS.
26438         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
26439
26440 2007-05-18  Bruno Haible  <bruno@clisp.org>
26441
26442         * modules/frexpl-nolibm-tests: New file.
26443
26444         * modules/frexpl-nolibm: New file.
26445         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
26446
26447 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
26448
26449         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
26450         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
26451         GCC 4.2, which otherwise issues a lot of warnings.
26452         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
26453         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
26454         Likewise.
26455         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
26456         * modules/iconv_open (iconv.h): Likewise.
26457         * modules/locale (locale.h): Likewise.
26458         * modules/netinet_in (netinet/in.h): Likewise.
26459         * modules/sys_select (sys_select.h): Likewise.
26460         * modules/sys_socket (sys/socket.h): Likewise.
26461         * modules/sys_stat (sys/stat.h): Likewise.
26462         * modules/sysexits (sysexits.h): Likewise.
26463         * modules/unistd (unistd.h): Likewise.
26464
26465 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26466
26467         * modules/closein-tests (Makefile.am): Distribute
26468         `test-closein.sh'.
26469
26470 2007-05-17  Bruno Haible  <bruno@clisp.org>
26471
26472         * tests/test-printf-posix.output: Renamed from
26473         tests/test-fprintf-posix.out.
26474         * modules/fprintf-posix-tests: Update.
26475         * modules/printf-posix-tests: Update.
26476         * modules/vfprintf-posix-tests: Update.
26477         * modules/vprintf-posix-tests: Update.
26478         * tests/test-fprintf-posix.sh: Update.
26479         * tests/test-printf-posix.sh: Update.
26480         * tests/test-vfprintf-posix.sh: Update.
26481         * tests/test-vprintf-posix.sh: Update.
26482         Reported by Ralf Wildenhues.
26483
26484 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
26485
26486         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
26487         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
26488         GCC 4.2, which otherwise issues a lot of warnings.
26489         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
26490         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
26491         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
26492         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
26493         it should no longer be needed.
26494         * lib/string_.h: Likewise.
26495         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
26496         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
26497         * modules/inttypes (inttypes.h): Likewise.
26498         * modules/math (math.h): Likewise.
26499         * modules/search (search.h): Likewise.
26500         * modules/signal (signal.h): Likewise.
26501         * modules/stdint (stdint.h): Likewise.
26502         * modules/stdio (stdio.h): Likewise.
26503         * modules/stdlib (stdlib.h): Likewise.
26504         * modules/string (string.h): Likewise.
26505         * modules/sys_time (sys/time.h): Likewise.
26506         * modules/time (time.h): Likewise.
26507         * modules/wchar (wchar.h): Likewise.
26508         * modules/wctype (wtype.h): Likewise.
26509
26510 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
26511
26512         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
26513
26514 2007-05-13  Bruno Haible  <bruno@clisp.org>
26515
26516         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
26517         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
26518         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
26519         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
26520         (gl_PREREQ_STRTOK_R): Don't require it here.
26521
26522 2007-05-13  Bruno Haible  <bruno@clisp.org>
26523
26524         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
26525         when used in C++ mode.
26526
26527 2007-05-12  Bruno Haible  <bruno@clisp.org>
26528
26529         * lib/linebuffer.h: Tweak doc.
26530         * lib/linebuffer.c: Likewise.
26531
26532 2007-05-12  James Youngman  <jay@gnu.org>
26533
26534         * lib/linebuffer.c (readlinebuffer_delim): New function,
26535         like readlinebuffer, but use a caller-specified delimiter.
26536         (readlinebuffer): Just call readlinebuffer_delim with '\n'
26537         as the delimiter.
26538         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
26539
26540 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
26541
26542         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
26543         * modules/openat (Files): Remove openat-die.c.
26544         (Depends-on): Add openat-die.
26545         * modules/openat-die: New module.
26546
26547 2007-05-06  Bruno Haible  <bruno@clisp.org>
26548
26549         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
26550         Update with info about Cygwin.
26551         * doc/functions/fprintf.texi: Update.
26552         * doc/functions/printf.texi: Update.
26553         * doc/functions/snprintf.texi: Update.
26554         * doc/functions/sprintf.texi: Update.
26555         * doc/functions/vfprintf.texi: Update.
26556         * doc/functions/vprintf.texi: Update.
26557         * doc/functions/vsnprintf.texi: Update.
26558         * doc/functions/vsprintf.texi: Update.
26559         Reported by Eric Blake.
26560
26561 2007-05-06  Bruno Haible  <bruno@clisp.org>
26562
26563         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
26564         padding ourselves for the floating-point directives.
26565         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
26566         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
26567         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
26568         gl_PRINTF_FLAG_ZERO and test its result. Invoke
26569         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
26570         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26571         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
26572         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26573         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26574         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26575         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26576         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26577         * tests/test-snprintf-posix.h (test_function): Also check the width
26578         and some flags in the %f directive.
26579         * tests/test-sprintf-posix.h (test_function): Likewise.
26580         * tests/test-vasnprintf-posix.c (test_function): Likewise.
26581         * tests/test-vasprintf-posix.c (test_function): Likewise.
26582         * doc/functions/fprintf.texi: Update.
26583         * doc/functions/printf.texi: Update.
26584         * doc/functions/snprintf.texi: Update.
26585         * doc/functions/sprintf.texi: Update.
26586         * doc/functions/vfprintf.texi: Update.
26587         * doc/functions/vprintf.texi: Update.
26588         * doc/functions/vsnprintf.texi: Update.
26589         * doc/functions/vsprintf.texi: Update.
26590
26591 2007-05-06  Bruno Haible  <bruno@clisp.org>
26592
26593         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
26594         pass the ' flag character to sprintf or snprintf.
26595         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
26596         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
26597         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
26598         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
26599         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
26600         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26601         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
26602         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26603         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26604         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26605         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26606         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26607         * tests/test-snprintf-posix.h (test_function): Also check the grouping
26608         flag.
26609         * tests/test-sprintf-posix.h (test_function): Likewise.
26610         * tests/test-vasnprintf-posix.c (test_function): Likewise.
26611         * tests/test-vasprintf-posix.c (test_function): Likewise.
26612         * doc/functions/fprintf.texi: Update.
26613         * doc/functions/printf.texi: Update.
26614         * doc/functions/snprintf.texi: Update.
26615         * doc/functions/sprintf.texi: Update.
26616         * doc/functions/vfprintf.texi: Update.
26617         * doc/functions/vprintf.texi: Update.
26618         * doc/functions/vsnprintf.texi: Update.
26619         * doc/functions/vsprintf.texi: Update.
26620
26621 2007-05-01  Bruno Haible  <bruno@clisp.org>
26622
26623         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
26624
26625 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
26626
26627         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
26628         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
26629
26630 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
26631
26632         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
26633         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
26634         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
26635
26636 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
26637
26638         * lib/argp-help.c (struct hol_entry): New member `ord'.
26639         (HOL_ENTRY_PTRCMP): Use ord for comparison
26640         (hol_sort): Initialize ord.
26641
26642 2007-05-01  Bruno Haible  <bruno@clisp.org>
26643
26644         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
26645         Reported by Eric Blake.
26646         * doc/gnulib.texi (Function Substitutes): Update.
26647
26648 2007-05-01  Bruno Haible  <bruno@clisp.org>
26649
26650         * doc/functions.texi: Remove file, now redundant through
26651         doc/functions/*.texi.
26652
26653 2007-05-01  Bruno Haible  <bruno@clisp.org>
26654
26655         * modules/argp (Depends-on): Add sleep.
26656
26657 2007-05-01  Bruno Haible  <bruno@clisp.org>
26658
26659         * modules/sleep-tests: New file.
26660         * tests/test-sleep.c: New file.
26661
26662         * modules/sleep: New file.
26663         * lib/sleep.c: New file.
26664         * m4/sleep.m4: New file.
26665         * lib/unistd_.h (sleep): New declaration.
26666         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
26667         HAVE_SLEEP.
26668         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
26669         * doc/functions/sleep.texi: Document the sleep module.
26670
26671 2007-05-01  Bruno Haible  <bruno@clisp.org>
26672
26673         * lib/sigprocmask.h: Remove file.
26674         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
26675         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
26676         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
26677         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
26678         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
26679         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
26680         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
26681         HAVE_SIGSET_T as a shell variable.
26682         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
26683         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
26684         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
26685         (Depends-on): Add signal. Remove verify.
26686         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
26687         (Include): Mention <signal.h> instead of sigprocmask.h.
26688         * NEWS: Mention the change.
26689         * lib/fatal-signal.c: Don't include sigprocmask.h.
26690
26691 2007-05-01  Bruno Haible  <bruno@clisp.org>
26692
26693         * modules/signal: New file.
26694         * lib/signal_.h: New file.
26695         * m4/signal_h.m4: New file.
26696
26697 2007-05-01  Bruno Haible  <bruno@clisp.org>
26698
26699         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
26700         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
26701         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
26702         HAVE_WCTYPE_CTMP_BUG into wctype.h.
26703
26704 2007-05-01  Bruno Haible  <bruno@clisp.org>
26705
26706         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
26707         configure time.
26708         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
26709         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
26710         * modules/sys_stat (Makefile.am): Substitute their values into
26711         sys/stat.h.
26712
26713 2007-05-01  Bruno Haible  <bruno@clisp.org>
26714
26715         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
26716         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
26717         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
26718
26719 2007-05-01  Bruno Haible  <bruno@clisp.org>
26720
26721         * doc/header/assert.texi: Undo last change: don't mention the gnulib
26722         'assert' module here.
26723
26724 2007-05-01  Bruno Haible  <bruno@clisp.org>
26725
26726         * doc/functions/*.texi: New files.
26727         * doc/functions/google-ranking.txt: New file.
26728         * doc/gnulib.texi (Function Substitutes): New chapter.
26729         (ctime, inet_ntoa): Remove sections.
26730         * doc/ctime.texi: Remove file.
26731         * doc/inet_ntoa.texi: Remove file.
26732         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
26733         dependencies.
26734         (%.info): New rule, specifying a --reference-limit.
26735
26736 2007-05-01  Bruno Haible  <bruno@clisp.org>
26737
26738         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
26739
26740 2007-05-01  Bruno Haible  <bruno@clisp.org>
26741
26742         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
26743         the portability of 'mkdir' to mingw systems.
26744
26745 2007-05-01  Bruno Haible  <bruno@clisp.org>
26746
26747         * doc/headers/google-ranking.txt: New file.
26748
26749 2007-04-30  Eric Blake  <ebb9@byu.net>
26750
26751         Prefer fseeko to fseek.
26752         * modules/getpass (Depends-on): Add fseeko.
26753         * lib/getpass.c (getpass): Use fseeko, not fseek.
26754
26755 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
26756
26757         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
26758         assumes the sorting is stable, while most qsort implementations
26759         are not.  Use argument addresses to ensure they never compare as
26760         equal.
26761
26762         * tests/test-argp-2.sh (usage-indent test): Fix output
26763         (func_compare): Restore diff options
26764         * tests/test-argp.c: Restore #include "progname.h"
26765
26766 2007-04-29  Bruno Haible  <bruno@clisp.org>
26767
26768         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
26769         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
26770         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
26771         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26772         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
26773         (configure.ac): Define CHECK_SNPRINTF_POSIX.
26774         (TESTS, check_PROGRAMS): Add test-snprintf.
26775         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
26776         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
26777         (TESTS, check_PROGRAMS): Add test-vsnprintf.
26778         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
26779         assertions that fail on HP-UX, OSF/1, or IRIX.
26780         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
26781
26782 2007-04-29  Bruno Haible  <bruno@clisp.org>
26783
26784         * MODULES.html.sh (posix_functions): Remove 'contents'.
26785
26786 2007-04-29  Karl Berry  <karl@gnu.org>
26787
26788         * config/srclist.txt (gendocs_template_min): new entry.
26789
26790 2007-04-29  Bruno Haible  <bruno@clisp.org>
26791
26792         Work around fpurge bug on BSD systems.
26793         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
26794         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
26795         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
26796         fpurge to rpl_fpurge if the system already has this function.
26797         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
26798         the case where the system already has this function. Correct invariants
26799         on BSD systems.
26800         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
26801         BSD systems.
26802
26803 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
26804
26805         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
26806         proposed by Sven Verdoolaege.
26807
26808         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
26809         options.
26810         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
26811         (usage and help tests): Update
26812
26813 2007-04-29  Bruno Haible  <bruno@clisp.org>
26814
26815         * tests/test-fflush.c (main): Use a file of size 17, not 10.
26816         Print more information in case of failure. Disable a test on BeOS.
26817
26818 2007-04-29  Bruno Haible  <bruno@clisp.org>
26819
26820         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
26821         This helps debugging on systems on which no gdb is available.
26822
26823 2007-04-29  Bruno Haible  <bruno@clisp.org>
26824
26825         * lib/freading.h: Improve comments.
26826         * lib/fwriting.h: Likewise.
26827         * tests/test-freading.c (main): Don't check freading immediately after
26828         repositioning. Needed for glibc.
26829
26830 2007-04-29  Bruno Haible  <bruno@clisp.org>
26831
26832         * lib/freading.c (freading): Trivial simplification.
26833
26834 2007-04-28  Bruno Haible  <bruno@clisp.org>
26835
26836         * tests/test-fwriting.c (main): Also test the interaction between
26837         fflush and fwriting.
26838         * modules/fwriting-tests (Depends-on): Add fflush.
26839
26840         * tests/test-freading.c (main): Also test the interaction between
26841         fflush and freading.
26842         * modules/freading-tests (Depends-on): Add fflush.
26843
26844 2007-04-28  Bruno Haible  <bruno@clisp.org>
26845
26846         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
26847         fseeko and ftello.
26848         Suggested by Eric Blake.
26849
26850 2007-04-28  Jim Meyering  <jim@meyering.net>
26851
26852         Avoid false-negative in gl_STDINT_H's C99 conformance test.
26853         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
26854         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
26855
26856 2007-04-27  Eric Blake  <ebb9@byu.net>
26857
26858         * doc/headers/assert.texi (assert.h): Document assert module use.
26859
26860 2007-04-27  Bruno Haible  <bruno@clisp.org>
26861
26862         * doc/headers/*.texi: New files.
26863         * doc/gnulib.texi (Header File Substitutes): New chapter.
26864         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
26865         dependencies.
26866         (standards.info ,standards.html, standards.dvi): Update dependencies.
26867         (mostlyclean, clean): New targets.
26868
26869 2007-04-27  Bruno Haible  <bruno@clisp.org>
26870
26871         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
26872         * modules/sysexits (Files, Makefile.am): Update.
26873
26874         * lib/sys_socket_.h: Renamed from lib/socket_.h.
26875         * modules/sys_socket (Files, Makefile.am): Update.
26876
26877         * lib/sys_stat_.h: Renamed from lib/stat_.h.
26878         * modules/sys_stat (Files, Makefile.am): Update.
26879
26880 2007-04-27  Eric Blake  <ebb9@byu.net>
26881
26882         * lib/freading.h: Improve comments.
26883         * lib/fwriting.h: Likewise.
26884         * lib/fflush.c: Likewise.
26885
26886         Fix closein for mingw.
26887         * modules/closein-tests: Add tests for closein.
26888         * tests/test-closein.c: New file.
26889         * tests/test-closein.sh: Likewise.
26890         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
26891         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
26892
26893 2007-04-27  Bruno Haible  <bruno@clisp.org>
26894
26895         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
26896         version is < 6.
26897         * lib/math_.h [__DECC]: Likewise.
26898         * lib/stdio_.h [__DECC]: Likewise.
26899         * lib/stdlib_.h [__DECC]: Likewise.
26900         * lib/string_.h [__DECC]: Likewise.
26901         * lib/time_.h [__DECC]: Likewise.
26902         * lib/wchar_.h [__DECC]: Likewise.
26903         * lib/wctype_.h [__DECC]: Likewise.
26904
26905 2007-04-27  Bruno Haible  <bruno@clisp.org>
26906
26907         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
26908
26909 2007-04-27  Bruno Haible  <bruno@clisp.org>
26910
26911         * lib/fflush.c: Add comments.
26912         * modules/fpurge-tests (Depends-on): Add fflush.
26913         * modules/freadable-tests (Depends-on): Likewise.
26914         * modules/fwritable-tests (Depends-on): Likewise.
26915
26916 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
26917
26918         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
26919         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
26920         Report by Bruno Haible <bruno@clisp.org>.
26921
26922 2007-04-26  Eric Blake  <ebb9@byu.net>
26923
26924         Fix fflush on mingw.
26925         * modules/fflush (Depends-on): Add freading.
26926         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
26927         but unread data.
26928
26929 2007-04-26  Eric Blake  <ebb9@byu.net>
26930         and Bruno Haible  <bruno@clisp.org>
26931
26932         Implement freading and fwriting.
26933         * lib/freading.c: New file.
26934         * lib/freading.h: Likewise.
26935         * m4/freading.m4: Likewise.
26936         * modules/freading: Likewise.
26937         * modules/freading-tests: Likewise.
26938         * tests/test-freading.c: Likewise.
26939         * lib/fwriting.c: New file.
26940         * lib/fwriting.h: Likewise.
26941         * m4/fwriting.m4: Likewise.
26942         * modules/fwriting: Likewise.
26943         * modules/fwriting-tests: Likewise.
26944         * tests/test-fwriting.c: Likewise.
26945         * MODULES.html.sh (File stream based Input/Output): Mention them.
26946
26947 2007-04-26  Bruno Haible  <bruno@clisp.org>
26948
26949         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
26950         'long' when we assume it.
26951         Suggested by Eric Blake.
26952
26953 2007-04-26  Bruno Haible  <bruno@clisp.org>
26954
26955         Ensure fseeko, ftello are declared on glibc systems.
26956         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
26957         * modules/fseeko (configure.ac-early): Likewise.
26958         * modules/ftello (configure.ac-early): Likewise.
26959         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
26960         AC_FUNC_FSEEKO for this.
26961         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
26962         (gl_CHECK_FSEEKO): Remove macro.
26963
26964 2007-04-26  Bruno Haible  <bruno@clisp.org>
26965
26966         * tests/test-fflush.c (main): Also check the ftell result after
26967         fflush and fseek/fseeko.
26968         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
26969         file descriptor position cache in the stream.
26970         * lib/fseeko.c (rpl_fseeko): Likewise.
26971
26972 2007-04-26  Bruno Haible  <bruno@clisp.org>
26973
26974         * modules/fflush-tests (Depends-on): Add fseeko.
26975
26976 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
26977             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26978
26979         * lib/argz_.h: ensure error_t definition is obtained in same
26980         mechanism system argz.h would have.
26981         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
26982         argz facilities are known bad.  Err on the side of caution if
26983         cross-compiling.
26984
26985 2007-04-25  Eric Blake  <ebb9@byu.net>
26986
26987         * lib/fpurge.c (includes): Use stdlib.h for free.
26988         * tests/test-fflush.c (main): Also test fflush-fseeko.
26989
26990 2007-04-25  Bruno Haible  <bruno@clisp.org>
26991
26992         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
26993         * lib/fseeko.c: New file.
26994         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
26995         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
26996         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
26997         gl_FUNC_FSEEKO.
26998         (gl_FUNC_FSEEKO): Invoke it.
26999         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
27000         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
27001         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
27002
27003 2007-04-25  Bruno Haible  <bruno@clisp.org>
27004
27005         * modules/fflush (Depends-on): Add ftello.
27006
27007 2007-04-25  Bruno Haible  <bruno@clisp.org>
27008
27009         * modules/ftello-tests: New file.
27010         * tests/test-ftello.c: New file.
27011
27012         * modules/ftello: New file.
27013         * m4/ftello.m4: New file.
27014         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
27015         HAVE_FTELLO.
27016         * lib/stdio_.h (ftello): New declaration.
27017         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
27018         HAVE_FTELLO.
27019
27020 2007-04-25  Bruno Haible  <bruno@clisp.org>
27021
27022         * modules/fseeko-tests: New file.
27023         * tests/test-fseeko.c: New file.
27024
27025         * modules/fseeko: New file.
27026         * m4/fseeko.m4: New file.
27027         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
27028         HAVE_FSEEKO.
27029         * lib/stdio_.h (fseeko): New declaration.
27030         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
27031         HAVE_FSEEKO.
27032
27033 2007-04-25  Bruno Haible  <bruno@clisp.org>
27034
27035         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
27036
27037 2007-04-25  Bruno Haible  <bruno@clisp.org>
27038
27039         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
27040         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
27041         * tests/test-unistd.c: Likewise.
27042         * tests/test-fcntl.c: Likewise.
27043
27044 2007-04-23  Eric Blake  <ebb9@byu.net>
27045
27046         * lib/fflush.c: Fix missing include.
27047         Reported by Bruno Haible.
27048
27049 2007-04-23  Bruno Haible  <bruno@clisp.org>
27050
27051         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
27052         Reported by Eric Blake.
27053
27054 2007-04-23  Bruno Haible  <bruno@clisp.org>
27055
27056         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
27057
27058 2007-04-23  Bruno Haible  <bruno@clisp.org>
27059
27060         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
27061
27062 2007-04-23  Bruno Haible  <bruno@clisp.org>
27063
27064         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
27065         Needed on HP-UX 11.
27066
27067 2007-04-16  Eric Blake  <ebb9@byu.net>
27068
27069         Make fflush rely on fpurge.
27070         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
27071         open coding all variants.
27072         * modules/fflush (Depends-on): Add fpurge and unistd.
27073         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
27074         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
27075
27076         Fix --with-tests compilation on cygwin.
27077         * modules/argmatch-tests (Makefile.am): List gnulib library first
27078         in LDADD.
27079         * modules/argp-tests (Makefile.am): Likewise.
27080         * modules/array-list-tests (Makefile.am): Likewise.
27081         * modules/array-oset-tests (Makefile.am): Likewise.
27082         * modules/avltree-list-tests (Makefile.am): Likewise.
27083         * modules/avltree-oset-tests (Makefile.am): Likewise.
27084         * modules/avltreehash-list-tests (Makefile.am): Likewise.
27085         * modules/carray-list-tests (Makefile.am): Likewise.
27086         * modules/dirname-tests (Makefile.am): Likewise.
27087         * modules/frexp-tests (Makefile.am): Likewise.
27088         * modules/isnanl-tests (Makefile.am): Likewise.
27089         * modules/linked-list-tests (Makefile.am): Likewise.
27090         * modules/linkedhash-list-tests (Makefile.am): Likewise.
27091         * modules/lock-tests (Makefile.am): Likewise.
27092         * modules/rbtree-list-tests (Makefile.am): Likewise.
27093         * modules/rbtree-oset-tests (Makefile.am): Likewise.
27094         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
27095         * modules/tls-tests (Makefile.am): Likewise.
27096         * modules/tsearch-tests (Makefile.am): Likewise.
27097         * modules/xvasprintf-tests (Makefile.am): Likewise.
27098
27099         Fix fpurge for cygwin.
27100         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
27101         value.
27102         * modules/fpurge-tests (Depends-on): Clean up trash.
27103
27104 2007-04-16  Simon Josefsson  <simon@josefsson.org>
27105
27106         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
27107
27108         * m4/autobuild.m4: Re-indent.
27109
27110 2007-04-13  Bruno Haible  <bruno@clisp.org>
27111
27112         * modules/fpurge-tests: New file.
27113         * tests/test-fpurge.c: New file.
27114
27115         * modules/fpurge: New file.
27116         * lib/fpurge.h: New file.
27117         * lib/fpurge.c: New file.
27118         * m4/fpurge.m4: New file.
27119
27120 2007-04-13  Bruno Haible  <bruno@clisp.org>
27121
27122         * modules/fbufmode-tests: New file.
27123         * tests/test-fbufmode.c: New file.
27124
27125         * modules/fbufmode: New file.
27126         * lib/fbufmode.h: New file.
27127         * lib/fbufmode.c: New file.
27128         * m4/fbufmode.m4: New file.
27129
27130 2007-04-13  Bruno Haible  <bruno@clisp.org>
27131
27132         * modules/fwritable-tests: New file.
27133         * tests/test-fwritable.c: New file.
27134
27135         * modules/fwritable: New file.
27136         * lib/fwritable.h: New file.
27137         * lib/fwritable.c: New file.
27138         * m4/fwritable.m4: New file.
27139
27140 2007-04-13  Bruno Haible  <bruno@clisp.org>
27141
27142         * modules/freadable-tests: New file.
27143         * tests/test-freadable.c: New file.
27144
27145         * modules/freadable: New file.
27146         * lib/freadable.h: New file.
27147         * lib/freadable.c: New file.
27148         * m4/freadable.m4: New file.
27149
27150 2007-04-13  Bruno Haible  <bruno@clisp.org>
27151
27152         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
27153         MOSTLYCLEANFILES.
27154
27155 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
27156
27157         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
27158         gzip bootstrap.conf to avoid dragging in i18n machinery.
27159         (gnulib_tool_option): Use it.
27160
27161 2007-04-13  Bruno Haible  <bruno@clisp.org>
27162
27163         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
27164         %F directives.
27165         * tests/test-vasprintf-posix.c (test_function): Likewise.
27166         * tests/test-snprintf-posix.h (test_function): Likewise.
27167         * tests/test-sprintf-posix.h (test_function): Likewise.
27168         * tests/test-fprintf-posix.h (test_function): Likewise.
27169         * tests/test-printf-posix.h (test_function): Likewise.
27170         * tests/test-fprintf-posix.out: Likewise.
27171
27172 2007-04-13  Bruno Haible  <bruno@clisp.org>
27173
27174         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
27175         * modules/tls-tests (configure.ac): Likewise.
27176         Reported by Arto C. Nirkko <anirkko@insel.ch>.
27177
27178 2007-04-13  Bruno Haible  <bruno@clisp.org>
27179
27180         * lib/tls.c (glthread_tls_get): Fix return type.
27181         Patch by Arto C. Nirkko <anirkko@insel.ch>.
27182
27183 2007-04-12  Eric Blake  <ebb9@byu.net>
27184
27185         * modules/gettime (Depends-on): Remove gettime.
27186         Reported by Dmitry V. Levin.
27187
27188 2007-04-12  Bruno Haible  <bruno@clisp.org>
27189
27190         * modules/fflush (Include): Mention <stdio.h>.
27191         * modules/strtoimax (Include): Mention <inttypes.h>.
27192         * modules/strtoumax (Include): Likewise.
27193
27194 2007-04-12  Eric Blake  <ebb9@byu.net>
27195
27196         * .cvsignore: New file.
27197         * .gitignore: Likewise.
27198
27199 2007-04-12  Bruno Haible  <bruno@clisp.org>
27200
27201         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
27202         not before, since $(LDADD) often contains libgnu.a.
27203         * modules/striconv-tests (test_striconv_LDADD): Likewise.
27204         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
27205         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
27206         Needed on Cygwin.
27207
27208 2007-04-12  Eric Blake  <ebb9@byu.net>
27209
27210         Work around glibc's failure to flush stdin on fclose.
27211         * lib/closein.c (close_stdin): Flush stdin before closing.
27212
27213         Work around glibc's failure to reset seekable stdin on exit.
27214         * modules/closein: New module.
27215         * lib/closein.c: New file.
27216         * lib/closein.h: Likewise.
27217         * m4/closein.m4: Likewise.
27218         * MODULES.html.sh (File stream based Input/Output): Document it.
27219
27220 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27221
27222         * gnulib-tool: Rename generated 'autobuild' script to
27223         'do-autobuild' in --create-megatestdir output.
27224
27225         * doc/gnulib.texi (Build robot for gnulib): Fix.
27226
27227 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27228
27229         * modules/sysexits (Depends-on): Add absolute-header.
27230
27231 2007-04-12  Eric Blake  <ebb9@byu.net>
27232
27233         No need to preserve errno on success.
27234         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
27235         Reported by Bruno Haible.
27236
27237 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27238
27239         * MODULES.html.sh (Support for maintaining and releasing
27240         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
27241
27242 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27243
27244         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
27245
27246 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27247
27248         * modules/autobuild: New module.
27249
27250         * m4/autobuild.m4: New file.
27251
27252 2007-04-11  Bruno Haible  <bruno@clisp.org>
27253
27254         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
27255         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
27256         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
27257         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
27258         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27259         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27260         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27261         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
27262         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27263         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27264         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
27265         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27266         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27267         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
27268         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27269         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27270         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
27271         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27272         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27273         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
27274         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27275         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27276         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
27277         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27278         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27279         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
27280         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27281         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27282         Reported by Eric Blake.
27283
27284 2007-04-11  Bruno Haible  <bruno@clisp.org>
27285
27286         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
27287
27288 2007-04-10  Bruno Haible  <bruno@clisp.org>
27289
27290         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
27291         for NaN and Infinity. Needed on FreeBSD 6.1.
27292         * tests/test-vasnprintf-posix.c (test_function): Undo last change
27293         regarding results for "%010a" of Infinity and NaN.
27294         * tests/test-vasprintf-posix.c (test_function): Likewise.
27295         * tests/test-snprintf-posix.h (test_function): Likewise.
27296         * tests/test-sprintf-posix.h (test_function): Likewise.
27297         * tests/test-fprintf-posix.h (test_function): Likewise.
27298         * tests/test-printf-posix.h (test_function): Likewise.
27299         * tests/test-fprintf-posix.out: Likewise.
27300
27301 2007-04-10  Bruno Haible  <bruno@clisp.org>
27302
27303         * modules/locale-tests: New file.
27304         * tests/test-locale.c: New file.
27305
27306         * modules/locale: New file.
27307         * lib/locale_.h: New file.
27308         * m4/locale_h.m4: New file.
27309
27310 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
27311             Bruno Haible  <bruno@clisp.org>
27312
27313         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
27314         be determined, test for availability of the copysignf, copysign,
27315         copysignl functions.
27316         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
27317         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
27318         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
27319
27320 2007-04-09  Eric Blake  <ebb9@byu.net>
27321
27322         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
27323         * modules/stdio (Makefile.am): Support fflush.
27324         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
27325         * modules/fflush: New file.
27326         * lib/fflush.c: Likewise.
27327         * m4/fflush.m4: Likewise.
27328         * modules/fflush-tests: New test.
27329         * tests/test-fflush.c: Likewise.
27330         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
27331
27332 2007-04-06  Bruno Haible  <bruno@clisp.org>
27333
27334         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
27335         (VASNPRINTF): Use signbit for faster determination whether to print a
27336         minus sign.
27337         * modules/vasnprintf (Files): Remove lib/float+.h.
27338         * modules/fprintf-posix (Depends-on): Add signbit.
27339         * modules/snprintf-posix (Depends-on): Likewise.
27340         * modules/sprintf-posix (Depends-on): Likewise.
27341         * modules/vasnprintf-posix (Depends-on): Likewise.
27342         * modules/vasprintf-posix (Depends-on): Likewise.
27343         * modules/vfprintf-posix (Depends-on): Likewise.
27344         * modules/vsnprintf-posix (Depends-on): Likewise.
27345         * modules/vsprintf-posix (Depends-on): Likewise.
27346
27347 2007-04-06  Bruno Haible  <bruno@clisp.org>
27348
27349         * tests/test-frexp.c (main): Test also the sign bit of zero results.
27350         * tests/test-frexpl.c (main): Likewise.
27351         * tests/test-ldexpl.c (main): Likewise.
27352         * modules/frexp-tests (Depends-on): Add signbit.
27353         * modules/frexpl-tests (Depdends-on): Likewise.
27354         * modules/ldexpl-tests (Depdends-on): Likewise.
27355
27356 2007-04-06  Bruno Haible  <bruno@clisp.org>
27357
27358         * modules/signbit-tests: New file.
27359         * tests/test-signbit.c: New file.
27360
27361         * modules/signbit: New file.
27362         * lib/signbitf.c: New file.
27363         * lib/signbitd.c: New file.
27364         * lib/signbitl.c: New file.
27365         * m4/signbit.m4: New file.
27366         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
27367         (signbit): New macro.
27368         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
27369         REPLACE_SIGNBIT.
27370         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
27371         REPLACE_FREXPL into math.h.
27372
27373 2007-04-06  Bruno Haible  <bruno@clisp.org>
27374
27375         * modules/isnanf-nolibm-tests: New file.
27376         * tests/test-isnanf.c: New file.
27377
27378         * modules/isnanf-nolibm: New file.
27379         * lib/isnanf.h: New file.
27380         * lib/isnanf.c: New file.
27381         * lib/isnan.c: Consider the USE_FLOAT macro.
27382         * m4/isnanf.m4: New file.
27383
27384 2007-04-06  Bruno Haible  <bruno@clisp.org>
27385
27386         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
27387         (Link): New section.
27388
27389         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
27390
27391 2007-04-06  Bruno Haible  <bruno@clisp.org>
27392
27393         Assume the 'long double' type.
27394         * m4/longdouble.m4: Remove file.
27395         * config/srclist.txt: Don't mention longdouble.m4.
27396         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
27397         * lib/float+.h: Likewise.
27398         * lib/frexp.c: Likewise.
27399         * lib/printf-args.h: Likewise.
27400         * lib/printf-args.c: Likewise.
27401         * lib/printf-frexp.c: Likewise.
27402         * lib/printf-parse.c: Likewise.
27403         * lib/vasnprintf.c: Likewise.
27404         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
27405         * m4/intl.m4: Likewise.
27406         * m4/isnanl.m4: Likewise.
27407         * m4/printf.m4: Likewise.
27408         * m4/printf-frexpl.m4: Likewise.
27409         * m4/vasnprintf.m4: Likewise.
27410         * modules/allocsa (Files): Remove m4/longdouble.m4.
27411         * modules/gettext (Files): Likewise.
27412         * modules/relocatable-prog-wrapper (Files): Likewise.
27413         * modules/vasnprintf (Files): Likewise.
27414         * modules/isnanl (Files): Likewise.
27415         (Include): Simplify.
27416         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
27417         (Include): Simplify.
27418         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
27419         (Include): Simplify.
27420         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
27421         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
27422         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
27423         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
27424         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
27425         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
27426         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
27427         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
27428         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
27429         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
27430         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
27431         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
27432         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
27433         * tests/test-isnanl.c: Likewise.
27434         * tests/test-snprintf-posix.h: Likewise.
27435         * tests/test-sprintf-posix.h: Likewise.
27436         * tests/test-vasnprintf-posix.c: Likewise.
27437         * tests/test-vasnprintf-posix2.c: Likewise.
27438         * tests/test-vasprintf-posix.c: Likewise.
27439
27440 2007-04-06  Bruno Haible  <bruno@clisp.org>
27441
27442         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
27443         * lib/math_.h [__DECC]: Include the overridden include file through
27444         #include_next, outside the double-inclusion guard.
27445         * lib/stdio_.h [__DECC]: Likewise.
27446         * lib/stdlib_.h [__DECC]: Likewise.
27447         * lib/string_.h [__DECC]: Likewise.
27448         * lib/time_.h [__DECC]: Likewise.
27449         * lib/wchar_.h [__DECC]: Likewise.
27450         * lib/wctype_.h [__DECC]: Likewise.
27451         * lib/inttypes_.h [__DECC]: Likewise.
27452         Reported by Albert Chin <china@thewrittenword.com> in
27453         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
27454
27455 2007-04-04  Eric Blake  <ebb9@byu.net>
27456
27457         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
27458         1.5.x.
27459
27460 2007-04-04  Bruno Haible  <bruno@clisp.org>
27461
27462         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
27463         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
27464
27465 2007-04-04  Bruno Haible  <bruno@clisp.org>
27466
27467         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
27468         results for "%010a" of Infinity and NaN.
27469         * tests/test-vasprintf-posix.c (test_function): Likewise.
27470         * tests/test-snprintf-posix.h (test_function): Likewise.
27471         * tests/test-sprintf-posix.h (test_function): Likewise.
27472         * tests/test-fprintf-posix.h (test_function): Remove these tests.
27473         * tests/test-printf-posix.h (test_function): Likewise.
27474         * tests/test-fprintf-posix.out: Update.
27475         Needed for FreeBSD 6.1.
27476
27477 2007-04-04  Bruno Haible  <bruno@clisp.org>
27478
27479         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
27480         directly used by the gnulib modules nor by gnulib-tool.
27481
27482 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
27483
27484         * DEPENDENCIES: Give overall description of version dependency
27485         desirability.  Use more-typical names for apps.
27486         Add shell, coreutils, diffutils, grep, tar, gzip.
27487
27488 2007-04-04  Simon Josefsson  <simon@josefsson.org>
27489
27490         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
27491
27492 2007-04-04  Karl Berry  <karl@gnu.org>
27493
27494         * MODULES.html.sh (func_module): missing '.
27495
27496 2007-04-03  Bruno Haible  <bruno@clisp.org>
27497
27498         * modules/argmatch-tests (Makefile.am): New variable
27499         test_argmatch_LDADD.
27500         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
27501         * modules/array-list-tests (Makefile.am): New variable
27502         test_array_list_LDADD.
27503         * modules/array-oset-tests (Makefile.am): New variable
27504         test_array_oset_LDADD.
27505         * modules/avltree-list-tests (Makefile.am): New variable
27506         test_avltree_list_LDADD.
27507         * modules/avltree-oset-tests (Makefile.am): New variable
27508         test_avltree_oset_LDADD.
27509         * modules/avltreehash-list-tests (Makefile.am): New variable
27510         test_avltreehash_list_LDADD.
27511         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
27512         test_canonicalize_lgpl_LDADD.
27513         * modules/carray-list-tests (Makefile.am): New variable
27514         test_carray_list_LDADD.
27515         * modules/dirname-tests (Makefile.am): New variable
27516         test_dirname_LDADD.
27517         * modules/linked-list-tests (Makefile.am): New variable
27518         test_linked_list_LDADD.
27519         * modules/linkedhash-list-tests (Makefile.am): New variable
27520         test_linkedhash_list_LDADD.
27521         * modules/rbtree-list-tests (Makefile.am): New variable
27522         test_rbtree_list_LDADD.
27523         * modules/rbtree-oset-tests (Makefile.am): New variable
27524         test_rbtree_oset_LDADD.
27525         * modules/rbtreehash-list-tests (Makefile.am): New variable
27526         test_rbtreehash_list_LDADD.
27527         * modules/xvasprintf-tests (Makefile.am): New variable
27528         test_xvasprintf_LDADD.
27529         Reported by Eric Blake.
27530
27531 2007-04-03  Eric Blake  <ebb9@byu.net>
27532
27533         * DEPENDENCIES: Weaken m4 requirements.
27534
27535 2007-04-03  Bruno Haible  <bruno@clisp.org>
27536
27537         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
27538         * modules/isnanl-tests (configure.ac): Likewise.
27539
27540 2007-04-03  Ben Pfaff  <blp@gnu.org>
27541
27542         * modules/iconv_open: Add $(srcdir)/ to source directory
27543         references in Makefile fragments that call gperf, to fix VPATH
27544         builds.
27545
27546 2007-04-03  Bruno Haible  <bruno@clisp.org>
27547
27548         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
27549         * lib/ldexpl.c: Undo last change.
27550
27551 2007-04-03  Bruno Haible  <bruno@clisp.org>
27552
27553         * modules/printf-frexpl (Depends-on): Undo last change.
27554         (Files): Add m4/ldexpl.m4.
27555
27556 2007-04-03  Bruno Haible  <bruno@clisp.org>
27557
27558         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
27559         * modules/isnanl (Link): New section.
27560
27561         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
27562         * modules/frexp (Link): New section.
27563
27564         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
27565         * modules/frexpl (Link): New section.
27566
27567         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
27568         * modules/ldexpl (Link): New section.
27569
27570 2007-04-03  Bruno Haible  <bruno@clisp.org>
27571
27572         * modules/TEMPLATE-EXTENDED: New file.
27573         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
27574
27575 2007-04-03  Bruno Haible  <bruno@clisp.org>
27576
27577         * DEPENDENCIES: New file.
27578         Suggested by Simon Josefsson.
27579
27580 2007-04-03  Bruno Haible  <bruno@clisp.org>
27581
27582         * doc/gnulib.texi: Escape @.
27583
27584 2007-04-03  James Youngman  <jay@gnu.org>
27585         and Paul Eggert  <eggert@cs.ucla.edu>
27586
27587         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
27588         birthtime on all systems that have birthtime, not just those which
27589         use st_birthtimensec rather than st_birthtim.  Putting zero in
27590         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
27591         that the birth time is not available for files on an NFS mount.
27592
27593 2007-04-03  Simon Josefsson  <simon@josefsson.org>
27594
27595         * modules/memxor: Move back from crypto/, suggested by Bruno.
27596         * modules/crypto/hmac-sha1: Fix memxor dependency.
27597
27598         * modules/crypto/gc: Moved from ../.
27599
27600 2007-04-02  Eric Blake  <ebb9@byu.net>
27601
27602         * lib/ldexpl.c (includes): Avoid libm.
27603
27604         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
27605
27606 2007-04-02  Bruno Haible  <bruno@clisp.org>
27607
27608         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
27609         on IRIX.
27610
27611 2007-04-02  Bruno Haible  <bruno@clisp.org>
27612
27613         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
27614         x86 or x86_64 platforms running MacOS X.
27615         Reported by Ryan Schmidt <@ryandesign.com>.
27616
27617 2007-04-02  Bruno Haible  <bruno@clisp.org>
27618
27619         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
27620         i386.
27621
27622 2007-04-01  Simon Josefsson  <simon@josefsson.org>
27623
27624         * modules/crypto/arcfour: Moved from ../.
27625         * modules/crypto/arcfour-tests: Moved from ../.
27626         * modules/crypto/arctwo: Moved from ../.
27627         * modules/crypto/arctwo-tests: Moved from ../.
27628         * modules/crypto/des: Moved from ../.
27629         * modules/crypto/des-tests: Moved from ../.
27630         * modules/crypto/gc-arcfour: Moved from ../.
27631         * modules/crypto/gc-arcfour-tests: Moved from ../.
27632         * modules/crypto/gc-arctwo: Moved from ../.
27633         * modules/crypto/gc-arctwo-tests: Moved from ../.
27634         * modules/crypto/gc-des: Moved from ../.
27635         * modules/crypto/gc-des-tests: Moved from ../.
27636         * modules/crypto/gc-hmac-md5: Moved from ../.
27637         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
27638         * modules/crypto/gc-hmac-sha1: Moved from ../.
27639         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
27640         * modules/crypto/gc-md2: Moved from ../.
27641         * modules/crypto/gc-md2-tests: Moved from ../.
27642         * modules/crypto/gc-md4: Moved from ../.
27643         * modules/crypto/gc-md4-tests: Moved from ../.
27644         * modules/crypto/gc-md5: Moved from ../.
27645         * modules/crypto/gc-md5-tests: Moved from ../.
27646         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
27647         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
27648         * modules/crypto/gc-random: Moved from ../.
27649         * modules/crypto/gc-rijndael: Moved from ../.
27650         * modules/crypto/gc-rijndael-tests: Moved from ../.
27651         * modules/crypto/gc-sha1: Moved from ../.
27652         * modules/crypto/gc-sha1-tests: Moved from ../.
27653         * modules/crypto/gc-tests: Moved from ../.
27654         * modules/crypto/hmac-md5: Moved from ../.
27655         * modules/crypto/hmac-md5-tests: Moved from ../.
27656         * modules/crypto/hmac-sha1: Moved from ../.
27657         * modules/crypto/hmac-sha1-tests: Moved from ../.
27658         * modules/crypto/md2: Moved from ../.
27659         * modules/crypto/md2-tests: Moved from ../.
27660         * modules/crypto/md4: Moved from ../.
27661         * modules/crypto/md4-tests: Moved from ../.
27662         * modules/crypto/md5: Moved from ../.
27663         * modules/crypto/md5-tests: Moved from ../.
27664         * modules/crypto/memxor: Moved from ../.
27665         * modules/crypto/rijndael: Moved from ../.
27666         * modules/crypto/rijndael-tests: Moved from ../.
27667         * modules/crypto/sha1: Moved from ../.
27668
27669 2007-03-30  James Youngman  <jay@gnu.org>
27670
27671         * tests/test-stat-time.c (prepare_test): use chmod() rather than
27672         rename() to change the ctime of a file (because ctime is unaffected
27673         by rename on jfs2 on AIX 5.1).
27674         (main): Start by doing cleanup, in case a previous run failed leaving
27675         test files behind.
27676
27677 2007-03-31  Bruno Haible  <bruno@clisp.org>
27678
27679         Support old proprietary implementations of iconv.
27680         * modules/iconv_open: New file.
27681         * lib/iconv_.h: New file.
27682         * m4/iconv_h.m4: New file.
27683         * lib/iconv_open.c: New file.
27684         * lib/iconv_open-aix.gperf: New file.
27685         * lib/iconv_open-hpux.gperf: New file.
27686         * lib/iconv_open-irix.gperf: New file.
27687         * lib/iconv_open-osf.gperf: New file.
27688         * m4/iconv_open.m4: New file.
27689         * modules/linebreak (Depends-on): Add iconv_open.
27690         * modules/striconv (Depends-on): Likewise.
27691         * modules/striconveh (Depends-on): Likewise.
27692         * modules/unicodeio (Depends-on): Likewise.
27693         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
27694         (iconv_t)(-1).
27695         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
27696         conversion if cd is (iconv_t)(-1).
27697         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
27698         is not possible.
27699
27700 2007-03-31  Bruno Haible  <bruno@clisp.org>
27701
27702         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
27703         work on Solaris either. Protect also second use of "autodetect_jp".
27704
27705 2007-03-31  Bruno Haible  <bruno@clisp.org>
27706
27707         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
27708         the function is not present.
27709
27710 2007-03-31  Bruno Haible  <bruno@clisp.org>
27711
27712         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
27713         the function is not present.
27714
27715 2007-03-31  Bruno Haible  <bruno@clisp.org>
27716
27717         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
27718         a bug in HP-UX iconv_open().
27719
27720 2007-03-31  Bruno Haible  <bruno@clisp.org>
27721
27722         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
27723         (Mathematics <math.h>): New section, add fpieee.
27724         (Input/output <stdio.h>): Add fseterr.
27725         (Mathematics <math.h>): New section, add printf-frexp.
27726         (Container data structures): Add sublist.
27727         (Core language properties): Add fpucw, inline.
27728         (Functions for greatest-width integer types <inttypes.h>): Add
27729         imaxabs, imaxdiv, inttypes.
27730         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
27731         isnanl-nolibm, ldexp.
27732         (Mathematics <math.h>): New section, add printf-frexpl.
27733         (Support for systems lacking POSIX:2001): Add fprintf-posix,
27734         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
27735         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
27736         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
27737         (Unicode string functions): Add unistr/u*-mbtoucr.
27738         (Java): Add javacomp-script, javaexec-script.
27739         (C#): Add csharpcomp-script, csharpexec-script.
27740         (Support for building libraries and executables): Add havelib,
27741         relocatable-*.
27742         (Support for maintaining and releasing projects): Renamed from
27743         'Support for maintaining and release projects'. Add announce-gen.
27744
27745 2007-03-31  Bruno Haible  <bruno@clisp.org>
27746
27747         * README: Talk primarily about git.
27748         (git and CVS): Renamed from CVS.
27749         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
27750         gnulib is available through git.
27751         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
27752
27753 2007-03-30  Bruno Haible  <bruno@clisp.org>
27754
27755         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
27756         * lib/poll_.h: Likewise.
27757         * lib/stat_.h: Likewise.
27758         * lib/sys_time_.h: Likewise.
27759         * lib/sysexit_.h: Likewise.
27760         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
27761         * lib/stdbool_.h: Likewise.
27762         * lib/byteswap_.h: Add double-inclusion guard.
27763
27764 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
27765
27766         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
27767
27768 2007-03-30  Karl Berry  <karl@gnu.org>
27769
27770         * config/srclist-update: double space after USA in the license
27771         substitution, since that's how it's usually (?) written.
27772
27773 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
27774
27775         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
27776         reported by Bruno Haible.
27777
27778 2007-03-29  Bruno Haible  <bruno@clisp.org>
27779
27780         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
27781         a bug in AIX iconv().
27782
27783 2007-03-29  Bruno Haible  <bruno@clisp.org>
27784
27785         * modules/ldexpl-tests: New file.
27786         * tests/test-ldexpl.c: New file.
27787
27788 2007-03-29  Bruno Haible  <bruno@clisp.org>
27789
27790         * lib/ldexpl.c: Include fpucw.h.
27791         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
27792         multiplication.
27793         * modules/ldexpl (Depends-on): Add fpucw.
27794
27795 2007-03-29  Bruno Haible  <bruno@clisp.org>
27796
27797         * modules/ldexpl: New file.
27798         * m4/ldexpl.m4: New file.
27799         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
27800         set.
27801         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
27802         REPLACE_LDEXPL.
27803         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
27804         REPLACE_LDEXPL.
27805         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
27806         gl_FUNC_LDEXPL_WORKS.
27807         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
27808         * modules/mathl (Files): Remove lib/ldexpl.c.
27809         (Depends-on): Add ldexpl.
27810
27811 2007-03-29  Bruno Haible  <bruno@clisp.org>
27812
27813         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
27814
27815 2007-03-29  Bruno Haible  <bruno@clisp.org>
27816
27817         * tests/test-striconveh.c (main): Don't assume that a direct conversion
27818         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
27819         and possibly also HP-UX.
27820         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
27821         work on AIX, IRIX, HP-UX, OSF/1.
27822         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
27823         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
27824         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
27825         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
27826         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
27827         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
27828
27829 2007-03-29  Bruno Haible  <bruno@clisp.org>
27830
27831         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
27832
27833 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
27834
27835         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
27836         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
27837
27838 2007-03-29  Eric Blake  <ebb9@byu.net>
27839
27840         * lib/acl-internal.h: Remove redundant include.
27841         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
27842         Cygwin when a file is locked.
27843
27844 2007-03-29  Bruno Haible  <bruno@clisp.org>
27845
27846         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
27847         file.
27848         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
27849
27850 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
27851
27852         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
27853         try to remove a parent directory if the child couldn't be removed
27854         (except for the first rmdir, which could fail because the child
27855         doesn't exist).  Problem reported by Jeff Blaine in
27856         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
27857
27858 2007-03-28  Bruno Haible  <bruno@clisp.org>
27859
27860         * lib/striconveh.c (utf8conv_carefully): New function.
27861         (mem_cd_iconveh_internal): Invoke it.
27862
27863 2007-03-28  Bruno Haible  <bruno@clisp.org>
27864
27865         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
27866         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
27867         input.
27868         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
27869         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
27870         unistr/u8-uctomb.
27871
27872 2007-03-28  Bruno Haible  <bruno@clisp.org>
27873
27874         * modules/unistr/u8-mbtoucr: New file.
27875         * lib/unistr/u8-mbtoucr.c: New file.
27876         * modules/unistr/u16-mbtoucr: New file.
27877         * lib/unistr/u16-mbtoucr.c: New file.
27878         * modules/unistr/u16-mbtoucr: New file.
27879         * lib/unistr/u16-mbtoucr.c: New file.
27880         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
27881
27882 2007-03-27  Simon Josefsson  <simon@josefsson.org>
27883             Bruno Haible  <bruno@clisp.org>
27884
27885         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
27886         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
27887         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
27888
27889         * m4/stdio_h.m4: Add stubs for vasprintf too.
27890
27891         * modules/stdio: Support vasprintf in sed command.
27892
27893         * modules/vasprintf: Depend on stdio for prototypes.  Remove
27894         vasprintf.h.  Add stdio module indicator.
27895
27896         * lib/stdio_.h: Declare asprintf and vasprintf, based on
27897         vasprintf.h.
27898
27899         * lib/vasprintf.h: File removed.
27900
27901         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
27902         * lib/vasprintf.c: Ditto.
27903         * lib/xvasprintf.c: Ditto.
27904         * tests/test-vasprintf-posix.c: Ditto.
27905         * tests/test-vasprintf.c: Ditto.
27906
27907 2007-03-27  Bruno Haible  <bruno@clisp.org>
27908
27909         Make vasnprintf multithread-safe.
27910         * lib/vasnprintf.c (decimal_point_char): New function.
27911         (VASNPRINTF): Use it.
27912         Suggested by Simon Josefsson.
27913
27914 2007-03-27  Eric Blake  <ebb9@byu.net>
27915
27916         Support sub-second birthtime on cygwin.
27917         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
27918         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
27919         (get_stat_birthtime): Also work with st_birthtim.
27920
27921 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
27922
27923         * lib/stat-time.h (USE_BIRTHTIME): Remove.
27924         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
27925         (get_stat_birthtime_ns): Do not try to use "spare" fields.
27926         (get_stat_birthtime_ns): Simplify compile-time tests.
27927         (get_stat_birthtime): Change the API to look like
27928         get_stat_mtime etc., except return a negative tv_nsec on error.
27929         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
27930         Don't check for "spare" fields.
27931         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
27932         or for struct stat.st_birthtime, as these tests aren't used.
27933         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
27934
27935 2007-03-27  Bruno Haible  <bruno@clisp.org>
27936
27937         * lib/stat-time.h: Include <sys/stat.h>.
27938
27939 2007-03-27  James Youngman  <jay@gnu.org>
27940
27941         * lib/stat-time.h (get_stat_birthtime): New function for
27942           retrieving st_birthtime as provided by UFS2 (hence *BSD).
27943         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
27944           and its variants.
27945         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
27946         * modules/stat-time-test: New file.
27947         * tests/test-stat-time.c: New test, devised by Bruno Haible.
27948
27949 2007-03-26  Bruno Haible  <bruno@clisp.org>
27950
27951         Better support of signalling NaNs.
27952         * lib/atanl.c: Include isnanl.h.
27953         (atanl): Perform test for NaN at the beginning of the function and
27954         through a call to isnanl.
27955         * lib/cosl.c: Include isnanl.h.
27956         (cosl): Perform test for NaN at the beginning of the function and
27957         through a call to isnanl.
27958         * lib/ldexpl.c: Include isnanl.h.
27959         (ldexpl): Perform test for NaN through a call to isnanl.
27960         * lib/logl.c: Include isnanl.h.
27961         (logl): Perform test for NaN at the beginning of the function and
27962         through a call to isnanl.
27963         * lib/sinl.c: Include isnanl.h.
27964         (sinl): Perform test for NaN at the beginning of the function and
27965         through a call to isnanl.
27966         * lib/sqrtl.c: Include isnanl.h.
27967         (sqrtl): Perform test for NaN at the beginning of the function and
27968         through a call to isnanl.
27969         * lib/tanl.c: Include isnanl.h.
27970         (tanl): Perform test for NaN at the beginning of the function and
27971         through a call to isnanl.
27972         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
27973         * modules/mathl (Depends-on): Add isnanl.
27974
27975 2007-03-26  Eric Blake  <ebb9@byu.net>
27976
27977         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
27978         regression in logic sense of previous patch.
27979
27980 2007-03-26  Bruno Haible  <bruno@clisp.org>
27981
27982         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
27983         unportable shell command "if ! ...".
27984         Reported by Ralf Wildenhues.
27985
27986 2007-03-25  Bruno Haible  <bruno@clisp.org>
27987
27988         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
27989         <sysexits.h> file, and only add EX_CONFIG.
27990         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
27991         absolute file name and whether it is sufficient. Substitute also
27992         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
27993         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
27994         ABSOLUTE_SYSEXITS_H into sysexits.h.
27995
27996 2007-03-25  Bruno Haible  <bruno@clisp.org>
27997
27998         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
27999         hints is NULL.
28000
28001 2007-03-25  Bruno Haible  <bruno@clisp.org>
28002
28003         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
28004         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
28005
28006 2007-03-25  Bruno Haible  <bruno@clisp.org>
28007
28008         * lib/vasnprintf.c: Include langinfo.h.
28009         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
28010         multithread-safe.
28011         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
28012         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
28013         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
28014         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
28015         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
28016         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
28017         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
28018         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
28019         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
28020         Reported by Simon Josefsson.
28021
28022 2007-03-25  Bruno Haible  <bruno@clisp.org>
28023
28024         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
28025         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
28026         * modules/vasnprintf (Depends-on): Add stdint.
28027
28028 2007-03-25  Bruno Haible  <bruno@clisp.org>
28029
28030         * modules/fpieee: New file.
28031         * m4/fpieee.m4: New file.
28032         * modules/isnan-nolibm (Depends-on): Add fpieee.
28033         * modules/isnanl-nolibm (Depends-on): Add fpieee.
28034         * modules/isnanl (Depends-on): Add fpieee.
28035
28036 2007-03-25  Bruno Haible  <bruno@clisp.org>
28037
28038         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
28039
28040 2007-03-25  Bruno Haible  <bruno@clisp.org>
28041
28042         Avoid test failures on IRIX 6.5.
28043         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
28044         (main): Use it.
28045         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
28046         macros.
28047         (main): Use them.
28048
28049 2007-03-25  Bruno Haible  <bruno@clisp.org>
28050
28051         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
28052         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
28053         exists but doesn't work.
28054         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
28055         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
28056         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
28057         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
28058
28059 2007-03-25  Bruno Haible  <bruno@clisp.org>
28060
28061         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
28062         returns inf. Needed on IRIX 6.5.
28063
28064 2007-03-25  Bruno Haible  <bruno@clisp.org>
28065
28066         * tests/test-frexpl.c: Include isnanl-nolibm.h.
28067         (main): Use isnanl instead of x != x idiom.
28068         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
28069
28070         * tests/test-frexp.c: Include isnan.h.
28071         (main): Use isnan instead of x != x idiom.
28072         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
28073
28074 2007-03-25  Bruno Haible  <bruno@clisp.org>
28075
28076         * tests/test-frexp.c (NaN): New function/macro.
28077         (main): Use it instead of 0.0 / 0.0.
28078         * tests/test-isnan.c (NaN): New function/macro.
28079         (main): Use it instead of 0.0 / 0.0.
28080         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
28081         (test_function): Use it instead of 0.0 / 0.0.
28082         * tests/test-vasprintf-posix.c (NaN): New function/macro.
28083         (test_function): Use it instead of 0.0 / 0.0.
28084         * tests/test-snprintf-posix.h (NaN): New function/macro.
28085         (test_function): Use it instead of 0.0 / 0.0.
28086         * tests/test-sprintf-posix.h (NaN): New function/macro.
28087         (test_function): Use it instead of 0.0 / 0.0.
28088         * tests/test-fprintf-posix.h (NaN): New function/macro.
28089         (test_function): Use it instead of 0.0 / 0.0.
28090         * tests/test-printf-posix.h (NaN): New function/macro.
28091         (test_function): Use it instead of 0.0 / 0.0.
28092
28093         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
28094
28095 2007-03-25  Bruno Haible  <bruno@clisp.org>
28096
28097         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
28098
28099 2007-03-25  Bruno Haible  <bruno@clisp.org>
28100
28101         * lib/regexec.c (merge_state_with_log): Make static.
28102
28103 2007-03-25  Bruno Haible  <bruno@clisp.org>
28104
28105         * lib/trigl.c (kernel_rem_pio2): Make static.
28106
28107 2007-03-25  Bruno Haible  <bruno@clisp.org>
28108
28109         * lib/sincosl.c (sincosl_table): Make static.
28110
28111 2007-03-25  Bruno Haible  <bruno@clisp.org>
28112
28113         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
28114         if the compiler does not support C99.
28115
28116 2007-03-25  Bruno Haible  <bruno@clisp.org>
28117
28118         * modules/time (Makefile.am): Ensure all rule action lines start with a
28119         tab.
28120
28121 2007-03-24  Bruno Haible  <bruno@clisp.org>
28122
28123         * modules/tsearch-tests: New file.
28124         * tests/test-tsearch.sh: New file.
28125         * tests/test-tsearch.c: New file, mostly copied from glibc.
28126
28127         * modules/search-tests: New file.
28128         * tests/test-search.c: New file.
28129
28130         * modules/search: New file.
28131         * lib/search_.h: New file, incorporating lib/tsearch.h.
28132         * m4/search_h.m4: New file.
28133         * lib/tsearch.h: Remove file.
28134         * lib/tsearch.c: Include search.h instead of tsearch.h.
28135         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
28136         HAVE_TSEARCH.
28137         * modules/tsearch (Files): Remove lib/tsearch.h.
28138         (Depends-on): Add search.
28139         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
28140         (Include): Change tsearch.h into search.h.
28141
28142 2007-03-24  Bruno Haible  <bruno@clisp.org>
28143
28144         * modules/fpucw: New file.
28145         * lib/fpucw.h: New file.
28146         * lib/frexp.c: Include fpucw.h.
28147         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
28148         (FUNC): Use them.
28149         * lib/printf-frexp.c: Include fpucw.h.
28150         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
28151         (FUNC): Use them.
28152         * lib/vasnprintf.c: Include fpucw.h.
28153         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
28154         'long double' calculations.
28155         * tests/test-frexpl.c: Include fpucw.h.
28156         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
28157         * tests/test-printf-frexpl.c: Include fpucw.h.
28158         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
28159         * modules/frexpl (Depends-on): Add fpucw.
28160         * modules/printf-frexpl (Depends-on): Likewise.
28161         * modules/fprintf-posix (Depends-on): Likewise.
28162         * modules/snprintf-posix (Depends-on): Likewise.
28163         * modules/sprintf-posix (Depends-on): Likewise.
28164         * modules/vasnprintf-posix (Depends-on): Likewise.
28165         * modules/vasprintf-posix (Depends-on): Likewise.
28166         * modules/vfprintf-posix (Depends-on): Likewise.
28167         * modules/vsnprintf-posix (Depends-on): Likewise.
28168         * modules/vsprintf-posix (Depends-on): Likewise.
28169         * modules/frexpl-tests (Depends-on): Likewise.
28170         * modules/printf-frexpl-tests (Depends-on): Likewise.
28171
28172 2007-03-24  Bruno Haible  <bruno@clisp.org>
28173
28174         * lib/float+.h: New file.
28175         * lib/isnan.c: Include float+.h.
28176         (SIZE): New macro.
28177         (FUNC): Compare only SIZE bytes of the value.
28178         * lib/vasnprintf.c: Include float+.h.
28179         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
28180         SIZEOF_LDBL or SIZEOF_DBL bytes.
28181         * modules/isnan-nolibm (Files): Add lib/float+.h.
28182         * modules/isnanl-nolibm (Files): Add lib/float+.h.
28183         * modules/isnanl (Files): Add lib/float+.h.
28184         * modules/vasnprintf (Files): Add lib/float+.h.
28185
28186 2007-03-24  Bruno Haible  <bruno@clisp.org>
28187
28188         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
28189         include isnanl-nolibm.h.
28190
28191 2007-03-24  Bruno Haible  <bruno@clisp.org>
28192
28193         * tests/test-read-file.c (main): Don't produce spurious output for
28194         expected situations. Make the test fail if it encountered unexpected
28195         results.
28196
28197 2007-03-24  Bruno Haible  <bruno@clisp.org>
28198
28199         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
28200         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
28201
28202 2007-03-24  Bruno Haible  <bruno@clisp.org>
28203
28204         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
28205
28206 2007-03-24  Bruno Haible  <bruno@clisp.org>
28207
28208         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
28209         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
28210
28211         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
28212         * modules/utf8-ucs4: Turn into a symbolic link to module
28213         unistr/u8-mbtouc.
28214
28215         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
28216         utf8-ucs4-unsafe.
28217         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
28218         unistr/u8-mbtouc-unsafe.
28219
28220         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
28221         * modules/utf16-ucs4: Turn into a symbolic link to module
28222         unistr/u16-mbtouc.
28223
28224         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
28225         utf16-ucs4-unsafe.
28226         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
28227         unistr/u16-mbtouc-unsafe.
28228
28229         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
28230         * modules/ucs4-utf8: Turn into a symbolic link to module
28231         unistr/u8-ubtomb.
28232
28233         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
28234         * modules/ucs4-utf16: Turn into a symbolic link to module
28235         unistr/u16-ubtomb.
28236
28237 2007-03-24  Bruno Haible  <bruno@clisp.org>
28238
28239         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
28240         Enable the function only if HAVE_INLINE.
28241         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
28242         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
28243         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
28244         Enable the function only if HAVE_INLINE.
28245         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
28246         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
28247         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
28248         Enable the function only if HAVE_INLINE.
28249         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
28250         Enable the function only if HAVE_INLINE.
28251         * modules/utf8-ucs4: Update.
28252         * modules/utf8-ucs4-unsafe: Update.
28253         * modules/utf16-ucs4: Update.
28254         * modules/utf16-ucs4-unsafe: Update.
28255         * modules/ucs4-utf8: Update.
28256         * modules/ucs4-utf16: Update.
28257
28258 2007-03-24  Bruno Haible  <bruno@clisp.org>
28259
28260         * lib/utf8-ucs4.h: Remove file.
28261         * lib/utf8-ucs4-unsafe.h: Remove file.
28262         * lib/utf16-ucs4.h: Remove file.
28263         * lib/utf16-ucs4-unsafe.h: Remove file.
28264         * lib/ucs4-utf8.h: Remove file.
28265         * lib/ucs4-utf16.h: Remove file.
28266         * lib/unistr.h: Include their previous contents.
28267         * m4/utf-ucs4.m4: Remove file.
28268         * m4/ucs4-utf.m4: Remove file.
28269         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
28270         (Depends-on): Add unistr/base.
28271         (configure.ac): Remove gl_UTF_UCS4.
28272         (Makefile.am): Update.
28273         (Include): Change to unistr.h.
28274         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
28275         (Depends-on): Add unistr/base.
28276         (configure.ac): Remove gl_UTF_UCS4.
28277         (Makefile.am): Update.
28278         (Include): Change to unistr.h.
28279         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
28280         (Depends-on): Add unistr/base.
28281         (configure.ac): Remove gl_UTF_UCS4.
28282         (Makefile.am): Update.
28283         (Include): Change to unistr.h.
28284         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
28285         (Depends-on): Add unistr/base.
28286         (configure.ac): Remove gl_UTF_UCS4.
28287         (Makefile.am): Update.
28288         (Include): Change to unistr.h.
28289         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
28290         (Depends-on): Add unistr/base.
28291         (configure.ac): Remove gl_UCS4_UTF.
28292         (Makefile.am): Update.
28293         (Include): Change to unistr.h.
28294         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
28295         (Depends-on): Add unistr/base.
28296         (configure.ac): Remove gl_UCS4_UTF.
28297         (Makefile.am): Update.
28298         (Include): Change to unistr.h.
28299         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
28300         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
28301         utf8-ucs4-unsafe.h.
28302         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
28303         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
28304         utf16-ucs4-unsafe.h.
28305         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
28306         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
28307         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
28308         * lib/unistr/u8-strchr.c: Likewise.
28309         * lib/unistr/u8-strrchr.c: Likewise.
28310         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
28311         * lib/unistr/u16-strchr.c: Likewise.
28312         * lib/unistr/u16-strrchr.c: Likewise.
28313         * lib/striconveh.c: Update.
28314         * lib/linebreak.c: Update.
28315
28316 2007-03-24  Bruno Haible  <bruno@clisp.org>
28317
28318         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
28319         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
28320
28321 2007-03-22  Bruno Haible  <bruno@clisp.org>
28322
28323         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
28324
28325 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
28326
28327         * MODULES.html.sh (File system functions): New module write-any-file.
28328         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
28329         * m4/write-any-file.m4: New files.
28330
28331 2007-03-23  Eric Blake  <ebb9@byu.net>
28332
28333         * gnulib-tool: Rearrange space-tab sequences, since some editors
28334         like to eat them.
28335
28336 2007-03-23  Eric Blake  <ebb9@byu.net>
28337
28338         * lib/version-etc.c (version_etc_va): Update license wording to
28339         be more concise.  Recommended by Richard Stallman.
28340
28341 2007-03-22  Bruno Haible  <bruno@clisp.org>
28342
28343         * lib/poll.c (MSG_PEEK): New fallback definition.
28344
28345 2007-03-22  Bruno Haible  <bruno@clisp.org>
28346
28347         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
28348         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
28349         (main): Update.
28350         Fixes a compilation error on BeOS.
28351
28352 2007-03-22  Bruno Haible  <bruno@clisp.org>
28353
28354         * modules/frexpl-tests: New file.
28355         * tests/test-frexpl.c: New file.
28356
28357         * modules/frexpl: New file.
28358         * m4/frexpl.m4: New file.
28359         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
28360         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
28361         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
28362         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
28363         (Depends-on): Add frexpl. Remove isnanl-nolibm.
28364         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
28365
28366 2007-03-22  Bruno Haible  <bruno@clisp.org>
28367
28368         * lib/frexpl.c: Share code with lib/frexp.c.
28369         * modules/mathl (Files): Add lib/frexp.c.
28370         (Depends-on): Add isnanl-nolibm.
28371
28372 2007-03-22  Bruno Haible  <bruno@clisp.org>
28373
28374         * modules/printf-frexp (Files): Add m4/frexp.m4.
28375         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
28376         only if the found frexp function actually works.
28377
28378 2007-03-22  Bruno Haible  <bruno@clisp.org>
28379
28380         * lib/frexp.c: Remove older implementation that uses divisions.
28381
28382 2007-03-21  Bruno Haible  <bruno@clisp.org>
28383
28384         * modules/frexp-tests: New file.
28385         * tests/test-frexp.c: New file.
28386
28387         * modules/frexp: New file.
28388         * lib/frexp.c: New file.
28389         * m4/frexp.m4: New file.
28390         * lib/math_.h (frexp): New declaration.
28391         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
28392         REPLACE_FREXP.
28393         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
28394
28395 2007-03-21  Bruno Haible  <bruno@clisp.org>
28396
28397         * modules/isnanl-tests: New file.
28398         * tests/test-isnanl.c: New file.
28399
28400         * modules/isnanl: New file.
28401         * lib/isnanl.h: New file.
28402         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
28403         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
28404         gl_FUNC_ISNANL_WORKS.
28405         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
28406         New macros.
28407
28408 2007-03-21  Bruno Haible  <bruno@clisp.org>
28409
28410         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
28411         lib/isnanl.h.
28412         (Include): Update.
28413         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
28414         * lib/vasnprintf.c: Update.
28415         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
28416         tests/test-isnanl.h, remove tests/test-isnanl.c.
28417         (Makefile.am): Update.
28418         * tests/test-isnanl-nolibm.c: New file.
28419         * tests/test-isnanl.h: New file.
28420         * tests/test-isnanl.c: Remove file.
28421
28422 2007-03-21  Jim Meyering  <jim@meyering.net>
28423
28424         When trying to open ".", treat ESTALE like EACCES.
28425         * lib/savewd.c (savewd_save): Resort to forking not just upon
28426         failure with EACCES, but also when errno is ESTALE.
28427
28428 2007-03-20  Bruno Haible  <bruno@clisp.org>
28429
28430         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
28431         Needed on AIX 5.1. Reported by Matthew Woehlke.
28432
28433 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
28434
28435         Suggestions by Bruno Haible:
28436         * lib/acl-internal.h: Include "gettext.h" rather than rolling
28437         our own.
28438         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
28439         * modules/acl (Depends-on): Add gettext.
28440
28441 2007-03-19  Bruno Haible  <bruno@clisp.org>
28442
28443         * modules/iconvme: Remove file.
28444         * lib/iconvme.h: Remove file.
28445         * lib/iconvme.c: Remove file.
28446         * m4/iconvme.m4: Remove file.
28447
28448 2007-03-19  Bruno Haible  <bruno@clisp.org>
28449
28450         * doc/relocatable-maint.texi: Break long shell script line.
28451         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
28452
28453 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
28454
28455         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
28456         handle file_has_acl.
28457         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
28458         * lib/acl.c: Move header inclusions and related macro defns into
28459         lib/acl-internal.h.
28460         (S_ISLNK): Remove defn, since that's now done for us.
28461         (file_has_acl): Move to lib/file-has-acl.c.
28462         Call acl_trivial if available.  This is the crucial part of the fix.
28463         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
28464         shared within the library.  Rewrite a bit, partly to make it compatible
28465         with the GNU coding style.
28466         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
28467         Remove unnecessary double-quotes.
28468         Don't test for acl_to_text; the build will catch that.
28469         Replace acl_entries if it doesn't exist and it is needed.
28470         Check for -lsec and acl_trivial (as used on Solaris 10).
28471         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
28472         lib/file-has-acl.c.
28473         (Depends-on): Add sys_stat, for S_ISLNK.
28474
28475 2007-03-19  Ben Pfaff  <blp@gnu.org>
28476
28477         * doc/gnulib.texi: Fix typos.
28478         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
28479
28480 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
28481
28482         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
28483         If size is zero here, buf must be zero.
28484
28485 2007-03-19  Simon Josefsson  <simon@josefsson.org>
28486
28487         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
28488         <bruno@clisp.org>.
28489
28490 2007-03-18  Bruno Haible  <bruno@clisp.org>
28491
28492         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
28493         Suggested by Eric Blake.
28494
28495 2007-03-18  Ben Pfaff  <blp@gnu.org>
28496
28497         * doc/relocatable.texi: Recommend using as prefix a directory
28498         that does not exist and will never be created.  Based on
28499         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
28500         and others.
28501
28502 2007-03-17  Bruno Haible  <bruno@clisp.org>
28503
28504         * lib/fchownat.c: Include lchown.h.
28505
28506 2007-03-17  Bruno Haible  <bruno@clisp.org>
28507
28508         Fix endless loop when the given allocated size was > INT_MAX.
28509         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
28510         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
28511         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
28512         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
28513         * lib/sprintf.c (sprintf): Likewise.
28514
28515 2007-03-17  Bruno Haible  <bruno@clisp.org>
28516
28517         * tests/test-argp-2.sh (func_compare): Output a context diff.
28518
28519 2007-03-17  Bruno Haible  <bruno@clisp.org>
28520
28521         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
28522         locale's decimal-point character.
28523
28524 2007-03-17  Bruno Haible  <bruno@clisp.org>
28525
28526         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
28527         before comparing it. Needed because on some platforms (e.g. x86) a
28528         'long double' occupies less bytes than sizeof (long double).
28529
28530 2007-03-17  Bruno Haible  <bruno@clisp.org>
28531
28532         * tests/test-crc.c (main): Make printf statements 64-bit clean.
28533         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
28534         * tests/test-getaddrinfo.c (simple): Likewise.
28535         * tests/test-read-file.c (main): Likewise.
28536
28537 2007-03-17  Bruno Haible  <bruno@clisp.org>
28538
28539         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
28540
28541 2007-03-17  Bruno Haible  <bruno@clisp.org>
28542
28543         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
28544         unused variable.
28545
28546 2007-03-17  Bruno Haible  <bruno@clisp.org>
28547
28548         * tests/test-c-strcasecmp.c: Include c-strcase.h.
28549         * tests/test-c-strncasecmp.c: Likewise.
28550
28551 2007-03-17  Bruno Haible  <bruno@clisp.org>
28552
28553         * modules/stdlib (Depends-on): Add unistd.
28554         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
28555         Needed for MacOS X 10.3.
28556
28557 2007-03-17  Bruno Haible  <bruno@clisp.org>
28558
28559         * lib/unistr/u-strdup.h: Include <stdlib.h>.
28560
28561 2007-03-17  Bruno Haible  <bruno@clisp.org>
28562
28563         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
28564
28565 2007-03-17  Bruno Haible  <bruno@clisp.org>
28566
28567         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
28568         to reflect files copied from gnulib (with or without modifications).
28569         Suggested by Jim Meyering.
28570
28571 2007-03-17  Eric Blake  <ebb9@byu.net>
28572
28573         * NEWS: Document stdlib change from 2007-02-18.
28574
28575 2007-03-17  Jim Meyering  <jim@meyering.net>
28576
28577         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
28578         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
28579         someone uses a name containing shell meta-characters.
28580         Reported by Alfred M. Szmidt.
28581
28582         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
28583
28584 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
28585
28586         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
28587         and copy gettext configuration files only if configure.ac contains
28588         a use of AM_GNU_GETTEXT_VERSION.
28589
28590 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
28591
28592         * build-aux/bootstrap (gnulib_name): New variable.
28593         (gnulib_tool_options): Use it.
28594
28595 2007-03-13  Simon Josefsson  <simon@josefsson.org>
28596
28597         * tests/test-des.c: Use new namespace.
28598
28599 2007-03-15  Bruno Haible  <bruno@clisp.org>
28600
28601         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
28602         Reported by James Youngman <jay@gnu.org>.
28603
28604 2007-03-15  Bruno Haible  <bruno@clisp.org>
28605
28606         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
28607         declared prototype. Needed with cc on OSF/1 5.1.
28608
28609 2007-03-15  Bruno Haible  <bruno@clisp.org>
28610
28611         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
28612         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
28613         (struct gl_list_implementation): Add dispose_fn argument to the
28614         'create_empty', 'create' methods.
28615         (struct gl_list_impl_base): Add field 'dispose_fn'.
28616         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
28617         argument.
28618         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
28619         dispose_fn argument.
28620         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
28621         dispose_fn on the dropped values.
28622         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
28623         dispose_fn argument.
28624         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
28625         dropped values.
28626         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
28627         (gl_tree_remove_node): Call dispose_fn on the dropped value.
28628         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
28629         (gl_tree_remove_node): Call dispose_fn on the dropped value.
28630         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
28631         argument.
28632         (gl_tree_list_free): Call dispose_fn on the dropped values.
28633         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
28634         the dropped values.
28635         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
28636         Add dispose_fn argument.
28637         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
28638         Call dispose_fn on the dropped values.
28639         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
28640         Add dispose_fn argument.
28641         (gl_sublist_create): Initialize the 'dispose_fn' field.
28642         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
28643         * tests/test-array_list.c (main): Update.
28644         * tests/test-carray_list.c (main): Update.
28645         * tests/test-avltree_list.c (main): Update.
28646         * tests/test-rbtree_list.c (main): Update.
28647         * tests/test-avltreehash_list.c (main): Update.
28648         * tests/test-rbtreehash_list.c (main): Update.
28649         * tests/test-linked_list.c (main): Update.
28650         * tests/test-linkedhash_list.c (main): Update.
28651         * tests/test-array_oset.c (main): Update.
28652
28653 2007-03-15  Bruno Haible  <bruno@clisp.org>
28654
28655         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
28656         (gl_oset_create_empty): Add dispose_fn argument.
28657         (struct gl_oset_implementation): Add dispose_fn argument to
28658         'create_empty' method.
28659         (struct gl_oset_impl_base): Add dispose_fn field.
28660         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
28661         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
28662         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
28663         values.
28664         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
28665         (gl_tree_oset_free): Call dispose_fn on the dropped values.
28666         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
28667         dropped value.
28668         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
28669         dropped value.
28670         * tests/test-array_oset.c (main): Update.
28671         * tests/test-avltree_oset.c (main): Update.
28672         * tests/test-rbtree_oset.c (main): Update.
28673         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
28674
28675 2007-03-13  Bruno Haible  <bruno@clisp.org>
28676
28677         * tests/test-stdbool.c (i): Update after last patch.
28678
28679 2007-03-12  Bruno Haible  <bruno@clisp.org>
28680
28681         * lib/quotearg.c: Include <wctype.h> early, before the definition of
28682         the iswprint macro. Needed on Solaris 2.5.1.
28683
28684 2007-03-12  Bruno Haible  <bruno@clisp.org>
28685
28686         * tests/test-printf-frexp.c (main): Declare x as volatile.
28687
28688 2007-03-12  Simon Josefsson  <simon@josefsson.org>
28689
28690         * doc/gnulib.texi (Build robot for gnulib): New section.
28691
28692 2007-03-12  Jim Meyering  <jim@meyering.net>
28693
28694         * build-aux/bootstrap: New file.
28695         * build-aux/bootstrap.conf: New file, from coreutils.
28696
28697 2007-03-11  Bruno Haible  <bruno@clisp.org>
28698
28699         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
28700
28701 2007-03-12  Simon Josefsson  <simon@josefsson.org>
28702
28703         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
28704         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
28705         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
28706
28707 2007-03-11  Bruno Haible  <bruno@clisp.org>
28708
28709         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
28710         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
28711
28712 2007-03-11  Bruno Haible  <bruno@clisp.org>
28713
28714         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
28715         formula. Needed for SunPRO C 5.0.
28716
28717 2007-03-11  Bruno Haible  <bruno@clisp.org>
28718
28719         * modules/long-options (Depends-on): Add getopt.
28720
28721 2007-03-11  Bruno Haible  <bruno@clisp.org>
28722
28723         * modules/modechange (Depends-on): Add stdbool.
28724
28725 2007-03-11  Bruno Haible  <bruno@clisp.org>
28726
28727         * modules/i-ring (Depends-on): Add stdbool.
28728
28729 2007-03-11  Bruno Haible  <bruno@clisp.org>
28730
28731         * modules/gc-des (Depends-on): Add stdbool.
28732
28733 2007-03-11  Bruno Haible  <bruno@clisp.org>
28734
28735         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
28736
28737 2007-03-11  Bruno Haible  <bruno@clisp.org>
28738
28739         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
28740
28741 2007-03-11  Bruno Haible  <bruno@clisp.org>
28742
28743         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
28744
28745 2007-03-11  Bruno Haible  <bruno@clisp.org>
28746
28747         * lib/vasnprintf.c (sprintf): Undefine.
28748
28749 2007-03-11  Bruno Haible  <bruno@clisp.org>
28750
28751         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
28752         initializers in SunPRO C and Compaq C compilers.
28753
28754 2007-03-11  Bruno Haible  <bruno@clisp.org>
28755
28756         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
28757         decrementing code ANSI C compliant.
28758
28759 2007-03-11  Bruno Haible  <bruno@clisp.org>
28760
28761         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
28762         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
28763
28764 2007-03-11  Bruno Haible  <bruno@clisp.org>
28765
28766         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
28767         <stdbool.h> substitute doesn't pass.
28768
28769 2007-03-11  Bruno Haible  <bruno@clisp.org>
28770
28771         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
28772
28773 2007-03-11  Bruno Haible  <bruno@clisp.org>
28774
28775         * gnulib-tool (func_create_megatestdir): Create also an autobuild
28776         script, for submission to autobuild.josefsson.org.
28777
28778 2007-03-10  Bruno Haible  <bruno@clisp.org>
28779
28780         * modules/canonicalize-lgpl-tests: New file.
28781         * tests/test-canonicalize-lgpl.sh: New file.
28782         * tests/test-canonicalize-lgpl.c: New file.
28783
28784         * modules/c-strcase-tests: New file.
28785         * tests/test-c-strcase.sh: New file.
28786         * tests/test-c-strcasecmp.c: New file.
28787         * tests/test-c-strncasecmp.c: New file.
28788
28789         * modules/atexit-tests: New file.
28790         * tests/test-atexit.sh: New file.
28791         * tests/test-atexit.c: New file.
28792
28793 2007-03-10  Bruno Haible  <bruno@clisp.org>
28794
28795         * tests/test-binary-io.sh: Use temporary filenames that are not so
28796         likely to clash with those of other tests (in a parallel make).
28797         * tests/test-binary-io.c: Likewise.
28798
28799 2007-03-10  Bruno Haible  <bruno@clisp.org>
28800
28801         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
28802         fallback; use #error instead.
28803         Suggested by Simon Josefsson.
28804
28805 2007-03-10  Bruno Haible  <bruno@clisp.org>
28806
28807         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
28808         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
28809         first and the last.
28810
28811 2007-03-10  Bruno Haible  <bruno@clisp.org>
28812
28813         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
28814
28815 2007-03-10  Bruno Haible  <bruno@clisp.org>
28816
28817         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
28818         "make distcheck".
28819         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
28820         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
28821         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
28822
28823 2007-03-10  Bruno Haible  <bruno@clisp.org>
28824
28825         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
28826         variable.
28827         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
28828         variable.
28829
28830 2007-03-09  Eric Blake  <ebb9@byu.net>
28831         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
28832
28833         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
28834         types are not being provided by gnulib.
28835         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
28836         types are supported.
28837
28838 2007-03-10  Bruno Haible  <bruno@clisp.org>
28839
28840         * lib/stdio_.h (__attribute__): New macro.
28841         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
28842         vsprintf): Specify __attribute__ __format__ for GCC.
28843         Suggested by Eric Blake.
28844
28845 2007-03-09  Bruno Haible  <bruno@clisp.org>
28846
28847         * modules/printf-posix-tests: New file.
28848         * tests/test-printf-posix.sh: New file.
28849         * tests/test-printf-posix.c: New file.
28850
28851         * modules/printf-posix: New file.
28852         * lib/printf.c: New file.
28853         * m4/printf-posix-rpl.m4: New file.
28854         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
28855         REPLACE_PRINTF.
28856         * lib/stdio_.h (printf): New declaration.
28857         (format, __format__, ____printf____, ____scanf____, ____strftime____,
28858         ____strfmon____): New macros.
28859         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
28860         REPLACE_PRINTF.
28861
28862 2007-03-09  Bruno Haible  <bruno@clisp.org>
28863
28864         * tests/test-vasnprintf-posix2.sh: New file.
28865         * tests/test-vasnprintf-posix2.c: New file.
28866         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
28867         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
28868         (Makefile.am): Activate test-vasnprintf-posix2.sh.
28869
28870         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
28871         a locale dependent decimal point, rather than always '.'.
28872
28873 2007-03-09  Eric Blake  <ebb9@byu.net>
28874
28875         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
28876         spite of platforms like Tandem/NSK that define it to -1.
28877
28878 2007-03-08  Bruno Haible  <bruno@clisp.org>
28879
28880         * modules/vprintf-posix-tests: New file.
28881         * tests/test-vprintf-posix.sh: New file.
28882         * tests/test-vprintf-posix.c: New file.
28883         * tests/test-printf-posix.h: New file.
28884
28885         * modules/vprintf-posix: New file.
28886         * lib/vprintf.c: New file.
28887         * m4/vprintf-posix.m4: New file.
28888         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
28889         REPLACE_VPRINTF.
28890         * lib/stdio_.h (vprintf): New declaration.
28891         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
28892         REPLACE_VPRINTF.
28893
28894 2007-03-08  Bruno Haible  <bruno@clisp.org>
28895
28896         * modules/fprintf-posix-tests: New file.
28897         * tests/test-fprintf-posix.sh: New file.
28898         * tests/test-fprintf-posix.c: New file.
28899
28900         * modules/fprintf-posix: New file.
28901         * lib/fprintf.c: New file.
28902         * m4/fprintf-posix.m4: New file.
28903         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
28904         REPLACE_FPRINTF.
28905         * lib/stdio_.h (fprintf): New declaration.
28906         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
28907         REPLACE_FPRINTF.
28908
28909 2007-03-08  Bruno Haible  <bruno@clisp.org>
28910
28911         * modules/vfprintf-posix-tests: New file.
28912         * tests/test-vfprintf-posix.sh: New file.
28913         * tests/test-vfprintf-posix.c: New file.
28914         * tests/test-fprintf-posix.h: New file.
28915         * tests/test-fprintf-posix.out: New file.
28916
28917         * modules/vfprintf-posix: New file.
28918         * lib/vfprintf.c: New file.
28919         * m4/vfprintf-posix.m4: New file.
28920         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
28921         REPLACE_VFPRINTF.
28922         * lib/stdio_.h (vfprintf): New declaration.
28923         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
28924         REPLACE_VFPRINTF.
28925
28926 2007-03-08  Bruno Haible  <bruno@clisp.org>
28927
28928         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
28929
28930 2007-03-08  Bruno Haible  <bruno@clisp.org>
28931
28932         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
28933         instead of 'expr' invocations.
28934         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
28935         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
28936         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
28937         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
28938         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
28939         Suggested by Paul Eggert.
28940
28941 2007-03-08  Bruno Haible  <bruno@clisp.org>
28942
28943         * modules/fseterr-tests: New file.
28944         * tests/test-fseterr.c: New file.
28945
28946         * modules/fseterr: New file.
28947         * lib/fseterr.h: New file.
28948         * lib/fseterr.c: New file.
28949
28950 2007-03-08  Bruno Haible  <bruno@clisp.org>
28951
28952         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
28953         * lib/getopt_.h: Likewise.
28954         * lib/mbswidth.h: Likewise.
28955         * lib/setenv.h: Likewise.
28956         * lib/vasnprintf.h: Likewise.
28957         * lib/vasprintf.h: Likewise.
28958         * lib/verror.h: Likewise.
28959         * lib/xsetenv.h: Likewise.
28960         * lib/xvasprintf.h: Likewise.
28961
28962 2007-03-08  Jim Meyering  <jim@meyering.net>
28963
28964         * users.txt: Add parted.
28965
28966         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
28967
28968 2007-03-07  Bruno Haible  <bruno@clisp.org>
28969
28970         * m4/printf.m4: Make the shell script snippets copy&pastable.
28971
28972 2007-03-02  Bruno Haible  <bruno@clisp.org>
28973
28974         * lib/netinet_in_.h: New file.
28975         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
28976         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
28977         * modules/netinet_in (Files): Add lib/netinet_in_.h.
28978         (Depends-on): Add absolute-header.
28979         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
28980         into netinet/in.h.
28981
28982 2007-03-03  Bruno Haible  <bruno@clisp.org>
28983
28984         * lib/sys_select_.h: New file.
28985         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
28986         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
28987         * modules/sys_select (Files): Add lib/sys_select_.h.
28988         (Depends-on): Add absolute-header.
28989         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
28990         into sys/select.h.
28991
28992 2007-03-02  Bruno Haible  <bruno@clisp.org>
28993
28994         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
28995         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
28996         values.
28997         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
28998         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
28999         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
29000         * modules/sys_socket (Depends-on): Add absolute-header.
29001         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
29002         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
29003         (Include): Remove requirement of inclusion of <sys/types.h>.
29004
29005 2007-03-02  Bruno Haible  <bruno@clisp.org>
29006
29007         * lib/byteswap_.h (bswap_32): Fix formula.
29008
29009 2007-03-06  Bruno Haible  <bruno@clisp.org>
29010
29011         * modules/sprintf-posix-tests: New file.
29012         * tests/test-sprintf-posix.c: New file.
29013
29014         * modules/sprintf-posix: New file.
29015         * lib/sprintf.c: New file.
29016         * m4/sprintf-posix.m4: New file.
29017         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
29018         REPLACE_SPRINTF.
29019         * lib/stdio_.h (sprintf): New declaration.
29020         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
29021         REPLACE_SPRINTF.
29022
29023 2007-03-06  Bruno Haible  <bruno@clisp.org>
29024
29025         * modules/vsprintf-posix-tests: New file.
29026         * tests/test-vsprintf-posix.c: New file.
29027         * tests/test-sprintf-posix.h: New file.
29028
29029         * modules/vsprintf-posix: New file.
29030         * lib/vsprintf.c: New file.
29031         * m4/vsprintf-posix.m4: New file.
29032         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
29033         REPLACE_VSPRINTF.
29034         * lib/stdio_.h (vsprintf): New declaration.
29035         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
29036         REPLACE_VSPRINTF.
29037
29038 2007-03-06  Bruno Haible  <bruno@clisp.org>
29039
29040         * modules/vsnprintf (Depend-on): Remove minmax.
29041
29042 2007-03-06  Bruno Haible  <bruno@clisp.org>
29043
29044         * modules/snprintf-posix-tests: New file.
29045         * tests/test-snprintf-posix.c: New file.
29046
29047         * modules/snprintf-posix: New file.
29048         * m4/snprintf-posix.m4: New file.
29049         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
29050         gl_FUNC_SNPRINTF.
29051         (gl_FUNC_SNPRINTF): Invoke it.
29052         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
29053         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
29054         is set.
29055         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
29056
29057 2007-03-06  Bruno Haible  <bruno@clisp.org>
29058
29059         * modules/vsnprintf-posix-tests: New file.
29060         * tests/test-vsnprintf-posix.c: New file.
29061         * tests/test-snprintf-posix.h: New file.
29062
29063         * modules/vsnprintf-posix: New file.
29064         * m4/vsnprintf-posix.m4: New file.
29065         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
29066         gl_FUNC_VSNPRINTF.
29067         (gl_FUNC_VSNPRINTF): Invoke it.
29068         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
29069         * lib/stdio_.h (vsnprintf): Define as a replacement if
29070         REPLACE_VSNPRINTF is set.
29071         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
29072
29073 2007-03-06  Bruno Haible  <bruno@clisp.org>
29074
29075         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
29076         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
29077
29078 2007-03-06  Bruno Haible  <bruno@clisp.org>
29079
29080         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
29081         (asinl): Declare also if HAVE_DECL_ASINL is set.
29082         (atanl): Declare also if HAVE_DECL_ATANL is set.
29083         (ceill): Declare also if HAVE_DECL_CEILL is set.
29084         (cosl): Declare also if HAVE_DECL_COSL is set.
29085         (expl): Declare also if HAVE_DECL_EXPL is set.
29086         (floorl): Declare also if HAVE_DECL_FLOORL is set.
29087         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
29088         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
29089         (logl): Declare also if HAVE_DECL_LOGL is set.
29090         (sinl): Declare also if HAVE_DECL_SINL is set.
29091         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
29092         (tanl): Declare also if HAVE_DECL_TANL is set.
29093         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
29094         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
29095         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
29096         declaration of frexpl, ldexpl.
29097         * modules/printf-frexpl (Depends-on): Add math.
29098         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
29099
29100 2007-03-05  Bruno Haible  <bruno@clisp.org>
29101
29102         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
29103         frexpl and ldexpl are declared.
29104         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
29105
29106 2007-03-05  Bruno Haible  <bruno@clisp.org>
29107
29108         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
29109         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
29110
29111 2007-03-05  Bruno Haible  <bruno@clisp.org>
29112
29113         * lib/stdio_.h: Include <stddef.h>.
29114
29115 2007-03-05  Bruno Haible  <bruno@clisp.org>
29116
29117         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
29118
29119 2007-03-05  Bruno Haible  <bruno@clisp.org>
29120
29121         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
29122         NetBSD 4, from Ralf Wildenhues.
29123
29124 2007-03-04  Bruno Haible  <bruno@clisp.org>
29125
29126         * lib/vasprintf.h: Update #if logic for the case when the functions
29127         exist but are overridden.
29128
29129 2007-03-04  Bruno Haible  <bruno@clisp.org>
29130
29131         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
29132         implementations: glibc-2.4 and MacOS X 10.3.
29133         * tests/test-vasnprintf-posix.c (test_function): Test also the case
29134         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
29135         * tests/test-vasprintf-posix.c (test_function): Likewise.
29136
29137 2007-03-04  Bruno Haible  <bruno@clisp.org>
29138
29139         * modules/vasprintf-posix-tests: New file.
29140         * tests/test-vasprintf-posix.c: New file.
29141
29142         * modules/vasprintf-posix: New file.
29143         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
29144         defined.
29145         * m4/vasprintf-posix.m4: New file.
29146         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
29147         gl_FUNC_VASPRINTF.
29148         (gl_FUNC_VASPRINTF): Invoke it.
29149         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
29150         here.
29151         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
29152
29153 2007-03-04  Bruno Haible  <bruno@clisp.org>
29154
29155         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
29156         REPLACE_GETTIMEOFDAY.
29157         * modules/sys_time (Makefile.am): Likewise.
29158         * m4/sys_time_h.m4: Likewise.
29159         * m4/gettimeofday.m4: Likewise.
29160
29161 2007-03-04  Bruno Haible  <bruno@clisp.org>
29162
29163         * modules/vasnprintf-posix-tests: New file.
29164         * tests/test-vasnprintf-posix.c: New file.
29165
29166         * modules/vasnprintf-posix: New file.
29167         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
29168         printf-frexpl.h.
29169         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
29170         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
29171         REPLACE_VASNPRINTF is defined.
29172         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
29173         gl_FUNC_VASNPRINTF.
29174         (gl_FUNC_VASNPRINTF): Invoke it.
29175         * m4/vasnprintf-posix.m4: New file.
29176         * m4/printf.m4: New file.
29177
29178 2007-03-04  Bruno Haible  <bruno@clisp.org>
29179
29180         Compile progreloc.c only if --enable-relocatable is specified.
29181         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
29182         if --enable-relocatable was specified.
29183         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
29184         lib_SOURCES.
29185
29186 2007-03-04  Jim Meyering  <jim@meyering.net>
29187
29188         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
29189         Use it consistently, rather than enumerating errno constants.
29190
29191 2007-03-04  Bruno Haible  <bruno@clisp.org>
29192
29193         * modules/xvasprintf-tests: New file.
29194         * tests/test-xvasprintf.c: New file.
29195
29196         * modules/vasprintf-tests: New file.
29197         * tests/test-vasprintf.c: New file.
29198
29199         * modules/vasnprintf-tests: New file.
29200         * tests/test-vasnprintf.c: New file.
29201
29202         * modules/vsnprintf-tests: New file.
29203         * tests/test-vsnprintf.c: New file.
29204
29205         * modules/snprintf-tests: New file.
29206         * tests/test-snprintf.c: New file.
29207
29208 2007-03-04  Bruno Haible  <bruno@clisp.org>
29209
29210         Compile relocatable.c only if --enable-relocatable is specified.
29211         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
29212         gl_RELOCATABLE_LIBRARY.
29213         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
29214         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
29215         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
29216         gl_RELOCATABLE_LIBRARY.
29217         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
29218         (Makefile.am): Remove lib_SOURCES.
29219         * modules/relocatable-lib-lgpl (configure.ac): Invoke
29220         gl_RELOCATABLE_LIBRARY.
29221         (Makefile.am): Remove lib_SOURCES.
29222         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
29223         always.
29224         * modules/relocatable-prog-wrapper (configure.ac): Invoke
29225         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
29226
29227 2007-03-04  Bruno Haible  <bruno@clisp.org>
29228
29229         * modules/argmatch-tests: New file.
29230         * tests/test-argmatch.c: New file.
29231
29232         * tests/test-allocsa.c (main): Halve the number of loop runs.
29233
29234         * modules/alloca-opt-tests: New file.
29235         * tests/test-alloca-opt.c: New file.
29236
29237 2007-03-04  Jim Meyering  <jim@meyering.net>
29238
29239         Work around difference between Linux ACLs and Solaris 10 ZFS.
29240         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
29241         for EINVAL.
29242
29243 2007-03-03  Bruno Haible  <bruno@clisp.org>
29244
29245         * modules/relocatable-prog (Depends-on): Add back progreloc's
29246         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
29247
29248 2007-03-03  Bruno Haible  <bruno@clisp.org>
29249
29250         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
29251         * modules/relocatable-lib: New file.
29252
29253 2007-03-03  Bruno Haible  <bruno@clisp.org>
29254
29255         * modules/relocatable-prog: Renamed from modules/relocatable.
29256         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
29257
29258 2007-03-03  Bruno Haible  <bruno@clisp.org>
29259
29260         * modules/relocatable-script (Files): Add doc/relocatable.texi,
29261         m4/relocatable-lib.m4.
29262         (Depends-on): Remove 'relocatable'.
29263         (configure.ac): Add gl_RELOCATABLE_NOP.
29264
29265 2007-03-03  Bruno Haible  <bruno@clisp.org>
29266
29267         * modules/relocatable-prog-wrapper: New file.
29268         * modules/relocatable (Depends-on): Add it. Remove all other
29269         dependencies except progname.
29270         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
29271
29272         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
29273         (gl_FUNC_STRERROR): Nop.
29274         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
29275
29276         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
29277         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
29278
29279         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
29280         (gl_FUNC_READLINK): Update.
29281
29282         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
29283
29284 2007-03-03  Bruno Haible  <bruno@clisp.org>
29285
29286         * lib/xreadlink.c: Include <unistd.h> unconditionally.
29287         * modules/xreadlink (Depends-on): Add unistd.
29288         * modules/xreadlink-with-size (Depends-on): Likewise.
29289
29290 2007-03-03  Bruno Haible  <bruno@clisp.org>
29291
29292         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
29293         extracted from gt_FUNC_SETENV.
29294         (gt_FUNC_SETENV): Remove macro.
29295         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
29296         remove gt_FUNC_SETENV.
29297
29298 2007-03-03  Bruno Haible  <bruno@clisp.org>
29299
29300         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
29301         ENABLE_RELOCATABLE here.
29302         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
29303
29304 2007-03-03  Bruno Haible  <bruno@clisp.org>
29305
29306         * modules/rbtreehash-list-tests (Depends-on): Add progname.
29307         * tests/test-rbtreehash_list.c: Include progname.h.
29308         (main): Call set_program_name.
29309
29310         * modules/rbtree-oset-tests (Depends-on): Add progname.
29311         * tests/test-rbtree_oset.c: Include progname.h.
29312         (main): Call set_program_name.
29313
29314         * modules/rbtree-list-tests (Depends-on): Add progname.
29315         * tests/test-rbtree_list.c: Include progname.h.
29316         (main): Call set_program_name.
29317
29318         * modules/linked-list-tests (Depends-on): Add progname.
29319         * tests/test-linked_list.c: Include progname.h.
29320         (main): Call set_program_name.
29321
29322 2007-03-03  Bruno Haible  <bruno@clisp.org>
29323
29324         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
29325         All uses of __restrict changed to _Restrict_.
29326         * lib/glob_.h (__restrict): Remove macro.
29327
29328 2007-03-02  Bruno Haible  <bruno@clisp.org>
29329
29330         * modules/gettext (configure.ac): Require gettext infrastructure
29331         from version 0.16.1.
29332
29333 2007-03-02  Bruno Haible  <bruno@clisp.org>
29334
29335         * modules/linkedhash-list-tests (Depends-on): Add progname.
29336         * tests/test-linkedhash_list.c: Include progname.h.
29337         (main): Call set_program_name.
29338
29339         * modules/carray-list-tests (Depends-on): Add progname.
29340         * tests/test-carray_list.c: Include progname.h.
29341         (main): Call set_program_name.
29342
29343         * modules/avltreehash-list-tests (Depends-on): Add progname.
29344         * tests/test-avltreehash_list.c: Include progname.h.
29345         (main): Call set_program_name.
29346
29347         * modules/avltree-oset-tests (Depends-on): Add progname.
29348         * tests/test-avltree_oset.c: Include progname.h.
29349         (main): Call set_program_name.
29350
29351         * modules/avltree-list-tests (Depends-on): Add progname.
29352         * tests/test-avltree_list.c: Include progname.h.
29353         (main): Call set_program_name.
29354
29355         * modules/array-oset-tests (Depends-on): Add progname.
29356         * tests/test-array_oset.c: Include progname.h.
29357         (main): Call set_program_name.
29358
29359         * modules/array-list-tests (Depends-on): Add progname.
29360         * tests/test-array_list.c: Include progname.h.
29361         (main): Call set_program_name.
29362
29363         * modules/argp-tests (Depends-on): Add progname.
29364         * tests/test-argp.c: Include argp.h first. Include progname.h.
29365         (main): Call set_program_name.
29366
29367 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
29368
29369         * doc/gnulib-tool.texi (Initial import): Reword description of
29370         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
29371         limited effect even if defined after the first system include.
29372
29373 2007-03-01  Bruno Haible  <bruno@clisp.org>
29374
29375         * build-aux/config.libpath: Update to libtool-1.5.22.
29376         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
29377
29378 2007-03-01  Bruno Haible  <bruno@clisp.org>
29379
29380         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
29381         foo_CFLAGS.
29382         Reported by Ralf Wildenhues.
29383
29384 2007-03-01  Bruno Haible  <bruno@clisp.org>
29385
29386         * build-aux/install-reloc: Remove object files left over by some
29387         compilers.
29388         Reported by Ralf Wildenhues.
29389
29390 2007-03-01  Bruno Haible  <bruno@clisp.org>
29391
29392         * build-aux/install-reloc: Break long lines.
29393
29394 2007-03-01  Bruno Haible  <bruno@clisp.org>
29395
29396         * doc/relocatable.texi: Document that it may not work on OpenBSD.
29397         Reported by Ralf Wildenhues.
29398
29399 2007-03-01  Bruno Haible  <bruno@clisp.org>
29400
29401         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
29402         include ordering constraints.
29403
29404 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
29405
29406         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
29407         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
29408         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
29409         as another example.
29410         * lib/time_.h: Fix misspelling.
29411         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
29412         Require gl_HEADER_TIME_H_DEFAULTS.
29413         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
29414         * m4/time_r.m4 (gl_TIME_R): Likewise.
29415         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
29416
29417 2007-03-01  Bruno Haible  <bruno@clisp.org>
29418
29419         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
29420         * m4/utimens.m4 (gl_UTIMENS): Likewise.
29421
29422 2007-03-01  Jim Meyering  <jim@meyering.net>
29423
29424         * modules/xreadlink (Maintainer): Add my name.
29425         * modules/xreadlink-with-size (Depends-on): Alphabetize.
29426
29427 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
29428             Bruno Haible  <bruno@clisp.org>
29429
29430         * build-aux/install-reloc: Compile also c-ctype.c.
29431         * build-aux/relocatable.sh.in: New file.
29432         * doc/relocatable.texi: New file.
29433         * doc/relocatable-maint.texi: New file.
29434         * doc/gnulib.texi: Include relocatable-maint.texi.
29435         * lib/progreloc.c: Include unistd.h unconditionally.
29436         * lib/relocwrapper.c: Include unistd.h unconditionally.
29437         Include c-ctype.h.
29438         (add_dotbin): Use c_tolower.
29439         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
29440         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
29441         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
29442         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
29443         to m4/relocatable-lib.m4.
29444         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
29445         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
29446         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
29447         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
29448         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
29449         * modules/relocatable: New file.
29450         * modules/relocatable-lib: New file.
29451         * modules/relocatable-script: New file.
29452
29453 2007-02-28  Bruno Haible  <bruno@clisp.org>
29454
29455         Import --enable-relocatable infrastructure.
29456         * build-aux/config.libpath: New file, from GNU gettext.
29457         * build-aux/install-reloc: New file, from GNU gettext.
29458         * build-aux/reloc-ldflags: New file, from GNU gettext.
29459         * lib/relocatable.h: New file, from GNU gettext.
29460         * lib/relocatable.c: New file, from GNU gettext.
29461         * lib/relocwrapper.c: New file, from GNU gettext.
29462         * m4/relocatable.m4: New file, from GNU gettext.
29463
29464 2007-02-28  Bruno Haible  <bruno@clisp.org>
29465
29466         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
29467
29468         * modules/xreadlink: New file, from GNU gettext with modifications.
29469         * lib/xreadlink.c: New file, from GNU gettext.
29470         * lib/xreadlink.h: Add comments.
29471         (xreadlink): New declaration.
29472
29473         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
29474         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
29475         lib/xreadlink-with-size.c.
29476         (configure.ac): Remove gl_XREADLINK invocation.
29477         (Makefile.am): Augment lib_SOURCES.
29478         * m4/xreadlink.m4: Remove file.
29479         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
29480         (xreadlink_with_size): Renamed from xreadink.
29481         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
29482         * modules/canonicalize (Depends-on): Replace xreadlink with
29483         xreadlink-with-size.
29484         * lib/canonicalize.c (canonicalize_filename_mode): Update.
29485
29486 2007-02-25  Jim Meyering  <jim@meyering.net>
29487
29488         * build-aux/announce-gen: When complaining about excess arguments,
29489         list them.
29490
29491 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
29492
29493         * README: Document signed integer overflow situation more
29494         accurately.
29495
29496 2007-02-25  Bruno Haible  <bruno@clisp.org>
29497
29498         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
29499         'a' or 'A' conversion.
29500
29501 2007-02-25  Bruno Haible  <bruno@clisp.org>
29502
29503         * modules/filename: Renamed from modules/pathname.
29504         (Files): Replace lib/pathname.h with lib/filename.h. Replace
29505         lib/concatpath.c with lib/concat-filename.c.
29506         (Makefile.am): Update.
29507         (Include): Replace pathname.h with filename.h.
29508         * lib/filename.h: Renamed from lib/pathname.h.
29509         (concatenated_filename): Renamed from concatenated_pathname.
29510         * lib/concat-filename.c: Renamed from lib/concatpath.c.
29511         (concatenated_filename): Renamed from concatenated_pathname.
29512         * lib/findprog.c: Include filename.h instead of pathname.h.
29513         (find_in_path): Update.
29514         * lib/javacomp.c: Include filename.h instead of pathname.h.
29515         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
29516         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
29517         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
29518         is_oldgcj_14_13_usable, is_javac_usable): Update.
29519         * lib/javaexec.c: Include filename.h instead of pathname.h.
29520         (execute_java_class): Update.
29521         * modules/findprog: Update.
29522         * modules/javacomp: Update.
29523         * modules/javaexec: Update.
29524         * MODULES.html.sh (File system functions): Add 'filename', remove
29525         'pathname'.
29526
29527 2007-02-25  Bruno Haible  <bruno@clisp.org>
29528
29529         * modules/printf-frexpl-tests: New file.
29530         * tests/test-printf-frexpl.c: New file.
29531
29532         * modules/printf-frexpl: New file.
29533         * lib/printf-frexpl.h: New file.
29534         * lib/printf-frexpl.c: New file.
29535         * m4/printf-frexpl.m4: New file.
29536
29537 2007-02-25  Bruno Haible  <bruno@clisp.org>
29538
29539         * modules/printf-frexp-tests: New file.
29540         * tests/test-printf-frexp.c: New file.
29541
29542         * modules/printf-frexp: New file.
29543         * lib/printf-frexp.h: New file.
29544         * lib/printf-frexp.c: New file.
29545         * m4/printf-frexp.m4: New file.
29546
29547 2007-02-25  Bruno Haible  <bruno@clisp.org>
29548
29549         Assume automake >= 1.10 for the tests.
29550         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
29551         * modules/arctwo-tests: Likewise.
29552         * modules/argp-tests: Likewise.
29553         * modules/avltree-list-tests: Likewise.
29554         * modules/avltree-oset-tests: Likewise.
29555         * modules/avltreehash-list-tests: Likewise.
29556         * modules/carray-list-tests: Likewise.
29557         * modules/crc-tests: Likewise.
29558         * modules/des-tests: Likewise.
29559         * modules/gc-arcfour-tests: Likewise.
29560         * modules/gc-arctwo-tests: Likewise.
29561         * modules/gc-des-tests: Likewise.
29562         * modules/gc-hmac-md5-tests: Likewise.
29563         * modules/gc-hmac-sha1-tests: Likewise.
29564         * modules/gc-md2-tests: Likewise.
29565         * modules/gc-md4-tests: Likewise.
29566         * modules/gc-md5-tests: Likewise.
29567         * modules/gc-pbkdf2-sha1-tests: Likewise.
29568         * modules/gc-rijndael-tests: Likewise.
29569         * modules/gc-sha1-tests: Likewise.
29570         * modules/gc-tests: Likewise.
29571         * modules/getaddrinfo-tests: Likewise.
29572         * modules/hmac-md5-tests: Likewise.
29573         * modules/hmac-sha1-tests: Likewise.
29574         * modules/linked-list-tests: Likewise.
29575         * modules/linkedhash-list-tests: Likewise.
29576         * modules/lock-tests: Likewise.
29577         * modules/md2-tests: Likewise.
29578         * modules/md4-tests: Likewise.
29579         * modules/md5-tests: Likewise.
29580         * modules/rbtree-list-tests: Likewise.
29581         * modules/rbtree-oset-tests: Likewise.
29582         * modules/rbtreehash-list-tests: Likewise.
29583         * modules/read-file-tests: Likewise.
29584         * modules/rijndael-tests: Likewise.
29585         * modules/stdint-tests: Likewise.
29586         * modules/tls-tests: Likewise.
29587
29588 2007-02-24  Bruno Haible  <bruno@clisp.org>
29589
29590         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
29591         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
29592         function; instead check whether isnan with a double argument links.
29593         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
29594         function; instead check whether isnan with a 'long double' argument
29595         links.
29596         Reported by Eric Blake <ebb9@byu.net>.
29597
29598 2007-02-24  Bruno Haible  <bruno@clisp.org>
29599
29600         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
29601         defined.
29602         * lib/isnanl.c: Remove all code. Just include isnan.c.
29603         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
29604
29605 2007-02-25  Jim Meyering  <jim@meyering.net>
29606
29607         Avoid conflicting types for 'unsetenv' on FreeBSD.
29608         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
29609         conflicting with FreeBSD's (5.0 and 6.1) function declaration
29610         in stdlib.h.
29611
29612 2007-02-24  Bruno Haible  <bruno@clisp.org>
29613
29614         * modules/isnanl-nolibm-tests: New file.
29615         * tests/test-isnanl.c: New file.
29616
29617         * modules/isnanl-nolibm: New file.
29618         * lib/isnanl.h: New file.
29619         * lib/isnanl.c: New file.
29620         * m4/isnanl.m4: New file.
29621
29622 2007-02-24  Bruno Haible  <bruno@clisp.org>
29623
29624         * modules/isnan-nolibm-tests: New file.
29625         * tests/test-isnan.c: New file.
29626
29627         * modules/isnan-nolibm: New file.
29628         * lib/isnan.h: New file.
29629         * lib/isnan.c: New file.
29630         * m4/isnan.m4: New file.
29631
29632 2007-02-24  Bruno Haible  <bruno@clisp.org>
29633
29634         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
29635         assume that an exponent fits in 20 bits.
29636
29637 2007-02-24  Jim Meyering  <jim@meyering.net>
29638
29639         * m4/regex.m4: Update the description of the configure-time option,
29640         --without-included-regex, to state accurately what the defaults are,
29641         and perhaps to give people an idea why using this option is risky.
29642
29643 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
29644
29645         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
29646         loops on small arguments.  This attempts to avoid the problem
29647         Bruno Haible reported for AIX 4.3.2 in
29648         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
29649
29650 2007-02-23  Bruno Haible  <bruno@clisp.org>
29651
29652         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
29653         Needed for help2man.
29654
29655 2007-02-23  Karl Berry  <karl@gnu.org>
29656
29657         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
29658         exists, foo.h should be cvs-ignored, not committed.
29659
29660 2007-02-23  Eric Blake  <ebb9@byu.net>
29661
29662         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
29663         * lib/stat-time.h (includes): Likewise.
29664         * lib/utimecmp.c (includes): Likewise.
29665         * lib/utimens.h (includes): Likewise.
29666         * lib/getdate.y (includes): Also include "timespec.h" for use
29667         internal to the module.
29668         * modules/utimens (Depends-on): Revert yesterday's patch.
29669         * modules/nanosleep (Depends-on): Add missing dependency.
29670
29671 2007-02-22  Bruno Haible  <bruno@clisp.org>
29672
29673         * lib/glob.c: Don't include getlogin_r.h.
29674
29675 2007-02-22  Jim Meyering  <jim@meyering.net>
29676
29677         * modules/utimens (Depends-on): Add timespec, required for
29678         utimens.h's inclusion of timespec.h.
29679
29680 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
29681
29682         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
29683         long unreadable paths in GNU/Linux.  Problem reported by Andreas
29684         Schwab in
29685         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
29686         I'll try to think of a better way to fix the Solaris problem.
29687
29688         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
29689         like glibc; on Solaris 10, it fails with errno == EINVAL.
29690         POSIX says the behavior is unspecified if the first argument is NULL,
29691         so play it safe and never pass NULL to the system getcwd.
29692
29693 2007-02-21  Jim Meyering  <jim@meyering.net>
29694
29695         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
29696         of gettimeofday.  It would conflict with the one now always
29697         provided via sys_time_.h.  Reported by Matthew Woehlke, as
29698         an IRIX 6.5 build failure.
29699
29700 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
29701
29702         Minor fixups to port to Solaris 10 with Sun C 5.8.
29703         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
29704         * modules/getcwd (Depends-on): Add dirfd.
29705         * lib/putenv.c (putenv): #undef it.
29706         (rpl_putenv): New decl.
29707         (malloc, free): Include <stdlib.h> rather than prototyping separately.
29708
29709 2007-02-20  Bruno Haible  <bruno@clisp.org>
29710
29711         * modules/stdio-tests: New file.
29712         * tests/test-stdio.c: New file.
29713
29714         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
29715         (Depends-on): Add stdio.
29716         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
29717         (Include): Use <stdio.h> instead of vsnprintf.h.
29718         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
29719         HAVE_DECL_VSNPRINTF.
29720         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
29721
29722         * modules/snprintf (Files): Remove lib/snprintf.h.
29723         (Depends-on): Add stdio.
29724         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
29725         (Include): Use <stdio.h> instead of snprintf.h.
29726         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
29727         HAVE_DECL_SNPRINTF.
29728         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
29729         * lib/getaddrinfo.c: Likewise.
29730
29731         * modules/stdio: New file.
29732         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
29733         * lib/snprintf.h: Remove file.
29734         * lib/vsnprintf.h: Remove file.
29735         * lib/.cppi-disable: Remove snprintf.h.
29736         * m4/stdio_h.m4: New file.
29737         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
29738
29739 2007-02-20  Jim Meyering  <jim@meyering.net>
29740
29741         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
29742         used by e.g., mingw.  From Bruno Haible.
29743
29744 2007-02-19  Bruno Haible  <bruno@clisp.org>
29745
29746         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
29747         warnings.
29748         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29749
29750 2007-02-19  Bruno Haible  <bruno@clisp.org>
29751
29752         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
29753         from mingw users.
29754
29755 2007-02-19  Bruno Haible  <bruno@clisp.org>
29756
29757         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
29758         warnings.
29759         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
29760
29761 2007-02-19  Jim Meyering  <jim@meyering.net>
29762
29763         Don't use FD after a successful "fdopendir (fd)".
29764         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
29765         Reset it by calling dirfd on the just-obtained DIR*.
29766
29767         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
29768         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
29769
29770 2007-02-18  Bruno Haible  <bruno@clisp.org>
29771
29772         * lib/readlink.c: Include <unistd.h>.
29773         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
29774         HAVE_READLINK.
29775         * modules/readlink (Depends-on): Add unistd.
29776         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29777         (Include): Add <unistd.h>.
29778
29779         * lib/getlogin_r.h: Remove file.
29780         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
29781         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
29782         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
29783         HAVE_DECL_GETLOGIN_R.
29784         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
29785         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29786         (Include): Use <unistd.h> instead of getlogin_r.h.
29787
29788         * lib/getcwd.h: Remove file.
29789         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
29790         * lib/xgetcwd.c: Likewise.
29791         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
29792         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
29793         * modules/getcwd (Files): Remove lib/getcwd.h.
29794         (Depends-on): Add unistd.
29795         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29796         (Include): Use <unistd.h> instad of getcwd.h.
29797
29798         * lib/ftruncate.c: Include <unistd.h> first.
29799         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
29800         Set HAVE_FTRUNCATE.
29801         * modules/ftruncate (Depends-on): Add unistd.
29802         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29803
29804         * lib/fchdir.c: Include <unistd.h> first.
29805         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
29806         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
29807         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
29808         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29809         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
29810
29811         * lib/dup2.c: Include <unistd.h> first.
29812         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
29813         HAVE_DUP2.
29814         * modules/dup2 (Depends-on): Add unistd.
29815         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29816
29817         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
29818         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
29819         REPLACE_CHOWN. Don't define chown as a macro here.
29820         * modules/chown (Depends-on): Add unistd.
29821         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29822
29823         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
29824         Add definition for GL_LINK_WARNING.
29825         (chown, dup2): New declarations.
29826         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
29827         link warning.
29828         (ftruncate): New declaration.
29829         (getcwd): New declaration, taken from old getcwd.h.
29830         (getlogin_r): New declaration, taken from old getlogin_r.h.
29831         (readlink): New declaration.
29832         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
29833         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
29834         (gl_PREREQ_UNISTD): Remove macro.
29835         (gl_UNISTD_MODULE_INDICATOR): New macro.
29836         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
29837         many new variables. Don't set UNISTD_H.
29838         * modules/unistd (Description): Change.
29839         (Depends-on): Add link-warning.
29840         (configure.ac): Update.
29841         (Makefile.am): Create unistd.h always. Substitute many new variables
29842         into it.
29843
29844 2007-02-18  Bruno Haible  <bruno@clisp.org>
29845
29846         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
29847         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
29848         HAVE_GETSUBOPT.
29849         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
29850         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
29851         * lib/getsubopt.h: Remove file.
29852         * modules/getsubopt (Files): Remove lib/getsubopt.h.
29853         (Depends-on): Add stdlib.
29854         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
29855         (Includes): Use <stdlib.h> instead of getsubopt.h.
29856         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
29857         Set HAVE_GETSUBOPT.
29858         * lib/getsubopt.c: Don't include getsubopt.h.
29859
29860 2007-02-18  Bruno Haible  <bruno@clisp.org>
29861
29862         * modules/fchdir (Depends-on): Add dup2.
29863
29864 2007-02-18  Bruno Haible  <bruno@clisp.org>
29865
29866         * lib/stdlib_.h: Handle glibc's special invocation convention
29867         specially.
29868
29869 2007-02-18  Bruno Haible  <bruno@clisp.org>
29870
29871         * modules/stdlib-tests: New file.
29872         * tests/test-stdlib.c: New file.
29873
29874         * modules/mkstemp (Files): Remove lib/mkstemp.h.
29875         (Depends-on): Add stdlib.
29876         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
29877         (Includes): Use <stdlib.h> instead of mkstemp.h.
29878         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
29879         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
29880         * lib/mkstemp.c: Don't include mkstemp.h.
29881         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
29882         * lib/stdlib--.h: Don't include mkstemp.h.
29883
29884         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
29885         (Depends-on): Add stdlib.
29886         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
29887         (Includes): Use <stdlib.h> instead of mkdtemp.h.
29888         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
29889         HAVE_MKDTEMP.
29890         * lib/mkdtemp.c: Don't include mkdtemp.h.
29891         * lib/clean-temp.c: Don't include mkdtemp.h.
29892
29893         * modules/exit (Files): Remove lib/exit.h.
29894         (Depends-on): Add stdlib.
29895         (Makefile.am): Remove lib_SOURCES.
29896         (Include): Use <stdlib.h> instead of exit.h.
29897         * lib/argmatch.c: Don't include exit.h.
29898         * lib/execute.c: Likewise.
29899         * lib/pagealign_alloc.c: Likewise.
29900         * lib/pipe.c: Likewise.
29901         * lib/wait-process.c: Likewise.
29902         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
29903         * lib/exitfail.c: Likewise.
29904         * lib/savewd.c: Likewise.
29905         * lib/xsetenv.c: Likewise.
29906
29907         * modules/stdlib: New file.
29908         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
29909         and extra comments about mkstemp().
29910         * lib/exit.h: Remove file.
29911         * lib/mkdtemp.h: Remove file.
29912         * lib/mkstemp.h: Remove file.
29913         * m4/stdlib_h.m4: New file.
29914         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
29915
29916 2007-02-18  Bruno Haible  <bruno@clisp.org>
29917
29918         * modules/math-tests: New file.
29919         * tests/test-math.c: New file.
29920
29921         * modules/math: New file.
29922         * modules/mathl (Files): Remove lib/mathl.h.
29923         (Depends-on): Add math.
29924         (Makefile.am): Don't mention mathl.h.
29925         (Include): Use <math.h> instead of mathl.h.
29926         * lib/math_.h: New file.
29927         * lib/mathl.h: Remove file.
29928         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
29929         mathl.h.
29930         * lib/asinl.c: Likewise.
29931         * lib/atanl.c: Likewise.
29932         * lib/ceill.c: Likewise.
29933         * lib/cosl.c: Likewise.
29934         * lib/expl.c: Likewise.
29935         * lib/floorl.c: Likewise.
29936         * lib/frexpl.c: Likewise.
29937         * lib/ldexpl.c: Likewise.
29938         * lib/logl.c: Likewise.
29939         * lib/sincosl.c: Likewise.
29940         * lib/sinl.c: Likewise.
29941         * lib/sqrtl.c: Likewise.
29942         * lib/tanl.c: Likewise.
29943         * lib/trigl.c: Likewise.
29944         * m4/math_h.m4: New file.
29945         * MODULES.html.sh (Mathematics): Add math.
29946
29947 2007-02-17  Bruno Haible  <bruno@clisp.org>
29948
29949         * modules/wctype-tests: New file.
29950         * tests/test-wctype.c: New file.
29951
29952         * modules/wchar-tests: New file.
29953         * tests/test-wchar.c: New file.
29954
29955         * modules/unistd-tests: New file.
29956         * tests/test-unistd.c: New file.
29957
29958         * modules/time-tests: New file.
29959         * tests/test-time.c: New file.
29960
29961         * modules/sysexits-tests: New file.
29962         * tests/test-sysexits.c: New file.
29963
29964         * modules/sys_time-tests: New file.
29965         * tests/test-sys_time.c: New file.
29966
29967         * modules/sys_stat-tests: New file.
29968         * tests/test-sys_stat.c: New file.
29969
29970         * modules/sys_socket-tests: New file.
29971         * tests/test-sys_socket.c: New file.
29972
29973         * modules/sys_select-tests: New file.
29974         * tests/test-sys_select.c: New file.
29975
29976         * modules/string-tests: New file.
29977         * tests/test-string.c: New file.
29978
29979         * modules/stdbool-tests: New file.
29980         * tests/test-stdbool.c: New file.
29981
29982         * modules/netinet_in-tests: New file.
29983         * tests/test-netinet_in.c: New file.
29984
29985         * modules/inttypes-tests: New file.
29986         * tests/test-inttypes.c: New file.
29987
29988         * modules/fcntl-tests: New file.
29989         * tests/test-fcntl.c: New file.
29990
29991         * modules/byteswap-tests: New file.
29992         * tests/test-byteswap.c: New file.
29993
29994         * modules/arpa_inet-tests: New file.
29995         * tests/test-arpa_inet.c: New file.
29996
29997 2007-02-17  Bruno Haible  <bruno@clisp.org>
29998
29999         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
30000         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
30001         if the corresponding module is not enabled. Emit link warnings if
30002         the function is used nevertheless.
30003         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
30004         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
30005         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
30006         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
30007         * modules/inttypes (Depends-on): Add link-warning.
30008         (Makefile.am): Copy the contents of build-aux/link-warning.h into
30009         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
30010         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
30011         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
30012         * modules/imaxdiv (configure.ac): Likewise.
30013         * modules/strtoimax (configure.ac): Likewise.
30014         * modules/strtoumax (configure.ac): Likewise.
30015
30016 2007-02-17  Bruno Haible  <bruno@clisp.org>
30017
30018         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
30019         gl_STRING_MODULE_INDICATOR_DEFAULTS.
30020         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
30021         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
30022
30023 2007-02-17  Bruno Haible  <bruno@clisp.org>
30024
30025         * modules/link-warning: New file.
30026         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
30027         * lib/string_.h (GL_LINK_WARNING): Remove definition.
30028         * modules/string (Depends-on): Add link-warning.
30029         (Makefile.am): Copy the contents of build-aux/link-warning.h into
30030         string.h.
30031         * MODULES.html.sh (Support for building libraries and executables): Add
30032         link-warning.
30033
30034 2007-02-17  Bruno Haible  <bruno@clisp.org>
30035
30036         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
30037         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
30038         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
30039         long lines.
30040
30041 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
30042             Bruno Haible  <bruno@clisp.org>
30043
30044         * modules/tmpfile: New file.
30045         * lib/tmpfile.c: New file.
30046         * m4/tmpfile.m4: New file.
30047         * MODULES.html.sh (func_all_modules): New section "Input/output".
30048
30049 2007-02-15  Bruno Haible  <bruno@clisp.org>
30050
30051         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
30052         (supports_delete_on_close): New function.
30053         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
30054
30055 2007-02-14  Bruno Haible  <bruno@clisp.org>
30056
30057         * modules/mbspcasecmp-tests: New file.
30058         * tests/test-mbspcasecmp.sh: New file.
30059         * tests/test-mbspcasecmp.c: New file.
30060
30061         New module mbspcasecmp.
30062         * modules/mbspcasecmp: New file.
30063         * lib/mbspcasecmp.c: New file.
30064         * lib/string_.h (strncasecmp): Change warning message.
30065         (mbspcasecmp): New declaration.
30066         * m4/mbspcasecmp.m4: New file.
30067         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30068         GNULIB_MBSPCASECMP.
30069         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
30070         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
30071
30072 2007-02-14  Bruno Haible  <bruno@clisp.org>
30073
30074         * modules/mbsncasecmp-tests: New file.
30075         * tests/test-mbsncasecmp.sh: New file.
30076         * tests/test-mbsncasecmp.c: New file.
30077
30078         New module mbsncasecmp.
30079         * modules/mbsncasecmp: New file.
30080         * lib/mbsncasecmp.c: New file.
30081         * lib/string_.h (mbsncasecmp): New declaration.
30082         * m4/mbsncasecmp.m4: New file.
30083         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30084         GNULIB_MBSNCASECMP.
30085         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
30086         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
30087
30088 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
30089
30090         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
30091         Verify that it doesn't overlap with our flags.
30092         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
30093         do not have the desired effect in multibyte locales; instead, use
30094         mbscasecmp.
30095         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
30096         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
30097         we don't require GNU fnmatch ourselves (if our users require it, they
30098         should do so explicitly).
30099
30100         Fix regex code so it doesn't rely on strcasecmp.
30101         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
30102         Otherwise, include gnulib's langinfo.h.
30103         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
30104         undesirable behavior in non-C locales.  Instead, rely on localecharset.
30105         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
30106         * modules/regex (FILES): Remove m4/codeset.m4.
30107         (Depends-on): Add localcharset.  Remove strcase.
30108
30109 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30110
30111         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
30112         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
30113
30114 2007-02-13  Bruno Haible  <bruno@clisp.org>
30115
30116         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
30117         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30118
30119 2007-02-12  Bruno Haible  <bruno@clisp.org>
30120
30121         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
30122         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
30123         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
30124         time warning rather than a link error.
30125
30126 2007-02-12  Bruno Haible  <bruno@clisp.org>
30127
30128         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
30129         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
30130         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30131
30132 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
30133
30134         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
30135         args, not 2.
30136
30137 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
30138
30139         New module 'time', so that apps can include <time.h> as per
30140         POSIX and GNU instead of separate include files like time_r.h
30141         and timegm.h.  This implementation tries out a simpler approach
30142         for replacing decls in standard include files (as compared to
30143         the string module), somewhat as an experiment.
30144
30145         * config/srclist.txt: Comment out mktime.c for now.
30146         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
30147         since it doesn't apply any more.  Use generic wording instead.
30148         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
30149         'time'.
30150         * lib/time_.h, m4/time_h.m4, modules/time: New files.
30151         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
30152         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
30153         Don't include <sys/types.h>; no longer needed since we assume C89.
30154         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
30155         * lib/strftime.c: Likewise.
30156         * lib/time_r.c: Likewise.
30157         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
30158         * lib/nanosleep.c: Include <time.h> first, to check interface.
30159         * lib/strptime.c: Likewise.
30160         * lib/time_r.c: Likewise.
30161         * lib/timegm.c: Likewise.
30162         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
30163         needed.
30164         * lib/timegm.c: Don't include timegm.h; no longer needed.
30165         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
30166         time.h now handles any problems in that area.
30167         (struct timespec, nanosleep): Remove; time.h now arranges for these.
30168         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
30169         that time.h defines struct timespec.
30170         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
30171         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
30172         handles that.
30173         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
30174         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
30175         needed.  Set REPLACE_LOCALTIME.
30176         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
30177         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
30178         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
30179         nanosleep; time_h.m4 now does that.  Don't require
30180         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
30181         module handles this now.
30182         * modules/getdate (Depends-on): Remove timespec.  Add time.
30183         * modules/nanosleep (Depends-on): Likewise.
30184         * modules/stat-time (Depends-on): Likewise.
30185         * modules/nanosleep (Include): Include time.h, not timespec.h.
30186         * modules/strptime (Files): Remove lib/strptime.h.
30187         (Depends-on): Add extensions, time.
30188         (Include): Include time.h, not strptime.h.
30189         * modules/time_r (Files): Remove lib/time_r.h.
30190         (Depends-on): Add time.
30191         (Include): Include time.h, not time_r.h.
30192         * modules/timegm: Likewise.
30193         * modules/timespec (Description): Now does timespec-related decls
30194         of our own, instead of struct timespec itself.
30195         (Depends-on): Add time; remove extensions.
30196         (Maintainer): Add self.
30197         * modules/utimecmp (Depends-on): Add time; remove timespec.
30198         * modules/utimens (Depends-on): Likewise.
30199         * modules/xnanosleep (Depends-on): Likewise.
30200
30201 2007-02-11  Bruno Haible  <bruno@clisp.org>
30202
30203         * lib/c-strstr.c: Include allocsa.h.
30204         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
30205         * lib/c-strcasestr.c: Include allocsa.h.
30206         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
30207         * lib/strcasestr.c: Include allocsa.h.
30208         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
30209         * lib/mbsstr.c: Include allocsa.h.
30210         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
30211         allocsa/freesa instead of malloc/free.
30212         * lib/mbscasestr.c: Include allocsa.h.
30213         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
30214         allocsa/freesa instead of malloc/free.
30215         * modules/c-strstr (Depends-on): Add allocsa.
30216         * modules/c-strcasestr (Depends-on): Likewise.
30217         * modules/strcasestr (Depends-on): Likewise.
30218         * modules/mbsstr (Depends-on): Likewise.
30219         * modules/mbscasestr (Depends-on): Likewise.
30220
30221 2007-02-11  Bruno Haible  <bruno@clisp.org>
30222
30223         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
30224
30225         * modules/mbsspn-tests: New file.
30226         * tests/test-mbsspn.sh: New file.
30227         * tests/test-mbsspn.c: New file.
30228
30229 2007-02-11  Bruno Haible  <bruno@clisp.org>
30230
30231         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
30232
30233         * modules/mbspbrk-tests: New file.
30234         * tests/test-mbspbrk.sh: New file.
30235         * tests/test-mbspbrk.c: New file.
30236
30237 2007-02-11  Bruno Haible  <bruno@clisp.org>
30238
30239         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
30240         unneeded cast.
30241
30242         * modules/mbscspn-tests: New file.
30243         * tests/test-mbscspn.sh: New file.
30244         * tests/test-mbscspn.c: New file.
30245
30246 2007-02-11  Bruno Haible  <bruno@clisp.org>
30247
30248         * modules/mbscasecmp-tests: New file.
30249         * tests/test-mbscasecmp.sh: New file.
30250         * tests/test-mbscasecmp.c: New file.
30251
30252 2007-02-11  Bruno Haible  <bruno@clisp.org>
30253
30254         Ensure O(n) worst-case complexity of mbscasestr.
30255         * lib/mbscasestr.c: Include stdbool.h.
30256         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
30257         functions.
30258         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
30259         the bookkeeping indicates that it's worth it.
30260         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
30261
30262         * modules/mbscasestr-tests: New file.
30263         * tests/test-mbscasestr1.c: New file.
30264         * tests/test-mbscasestr2.sh: New file.
30265         * tests/test-mbscasestr2.c: New file.
30266         * tests/test-mbscasestr3.sh: New file.
30267         * tests/test-mbscasestr3.c: New file.
30268         * tests/test-mbscasestr4.sh: New file.
30269         * tests/test-mbscasestr4.c: New file.
30270         * m4/locale-tr.m4: New file.
30271
30272 2007-02-11  Bruno Haible  <bruno@clisp.org>
30273
30274         Ensure O(n) worst-case complexity of mbsstr.
30275         * lib/mbsstr.c: Include stdbool.h.
30276         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
30277         functions.
30278         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
30279         bookkeeping indicates that it's worth it.
30280         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
30281
30282         * modules/mbsstr-tests: New file.
30283         * tests/test-mbsstr1.c: New file.
30284         * tests/test-mbsstr2.sh: New file.
30285         * tests/test-mbsstr2.c: New file.
30286         * tests/test-mbsstr3.sh: New file.
30287         * tests/test-mbsstr3.c: New file.
30288         * m4/locale-fr.m4: New file.
30289
30290 2007-02-11  Bruno Haible  <bruno@clisp.org>
30291
30292         * lib/mbsrchr.c (mbsrchr): Fix bug.
30293
30294         * modules/mbsrchr-tests: New file.
30295         * tests/test-mbsrchr.sh: New file.
30296         * tests/test-mbsrchr.c: New file.
30297
30298 2007-02-11  Bruno Haible  <bruno@clisp.org>
30299
30300         * lib/mbschr.c (mbschr): Fix bug.
30301
30302         * modules/mbschr-tests: New file.
30303         * tests/test-mbschr.sh: New file.
30304         * tests/test-mbschr.c: New file.
30305         * m4/locale-zh.m4: New file.
30306
30307 2007-02-11  Bruno Haible  <bruno@clisp.org>
30308
30309         Support for copying multibyte string iterators.
30310         * lib/mbiter.h: Include <string.h>.
30311         (mbiter_multi_copy): New function.
30312         (mbi_copy): New macro.
30313         * lib/mbuiter.h: Include <string.h>.
30314         (mbuiter_multi_copy): New function.
30315         (mbui_copy): New macro.
30316
30317 2007-02-11  Bruno Haible  <bruno@clisp.org>
30318
30319         New module mbslen.
30320         * modules/mbslen: New file.
30321         * lib/mbslen.c: New file.
30322         * lib/string_.h (mbslen): New declaration.
30323         * m4/mbslen.m4: New file.
30324         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30325         GNULIB_MBSLEN.
30326         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
30327         * MODULES.html.sh (Internationalization functions): Add mbslen.
30328
30329 2007-02-11  Bruno Haible  <bruno@clisp.org>
30330
30331         Ensure O(n) worst-case complexity of strcasestr substitute.
30332         * lib/strcasestr.c: Include stdbool.h.
30333         (knuth_morris_pratt): New function.
30334         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
30335         bookkeeping indicates that it's worth it.
30336         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
30337
30338         * modules/strcasestr-tests: New file.
30339         * tests/test-strcasestr.c: New file.
30340
30341 2007-02-11  Bruno Haible  <bruno@clisp.org>
30342
30343         Ensure O(n) worst-case complexity of c_strcasestr.
30344         * lib/c-strcasestr.c: Include stdbool.h, string.h.
30345         (knuth_morris_pratt): New function.
30346         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
30347         the bookkeeping indicates that it's worth it.
30348         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
30349
30350         * modules/c-strcasestr-tests: New file.
30351         * tests/test-c-strcasestr.c: New file.
30352
30353 2007-02-11  Bruno Haible  <bruno@clisp.org>
30354
30355         Ensure O(n) worst-case complexity of c_strstr.
30356         * lib/c-strstr.c: Include stdbool.h, string.h.
30357         (knuth_morris_pratt): New function.
30358         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
30359         bookkeeping indicates that it's worth it.
30360         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
30361
30362         * lib/c-strstr.c: Complete rewrite for maintainability.
30363
30364         * modules/c-strstr-tests: New file.
30365         * tests/test-c-strstr.c: New file.
30366
30367 2007-02-11  Bruno Haible  <bruno@clisp.org>
30368
30369         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
30370         5.2.1 and earlier, whereby \055 was treated just like the range
30371         delimiter '-'.
30372         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
30373
30374 2007-02-08  Bruno Haible  <bruno@clisp.org>
30375
30376         * modules/regex (Depends-on): Add stdbool.
30377         Reported by Dalibor Topic <robilad@kaffe.org>.
30378
30379 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
30380
30381         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
30382         Prefer returning from main to exiting from it.
30383         Remove unnecessary parens after sizeof.
30384
30385 2007-02-05  Bruno Haible  <bruno@clisp.org>
30386
30387         New module mbssep.
30388         * modules/mbssep: New file.
30389         * lib/mbssep.c: New file.
30390         * lib/string_.h (strsep): Add a conditional link warning.
30391         (mbssep): New declaration.
30392         * m4/mbssep.m4: New file.
30393         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30394         GNULIB_MBSSEP.
30395         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
30396         * MODULES.html.sh (Internationalization functions): Add mbssep.
30397
30398 2007-02-05  Bruno Haible  <bruno@clisp.org>
30399
30400         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
30401         Optimize search in case of 1 delimiter.
30402
30403 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
30404
30405         * lib/acl.h: Include sys/types.h before sys/acl.h.
30406
30407 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
30408
30409         Merge upstream fix for glibc bugzilla #3957:
30410
30411         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
30412
30413         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
30414         bit for RE_HAT_LISTS_NOT_NEWLINE.
30415         (build_charclass_op): Remove bogus comment.
30416
30417 2007-02-05  Simon Josefsson  <simon@josefsson.org>
30418
30419         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
30420
30421 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
30422
30423         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
30424         * lib/memmem.c [!defined _LIBC]: Include config.h.
30425
30426 2007-02-04  Bruno Haible  <bruno@clisp.org>
30427
30428         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
30429         warning message.
30430
30431 2007-02-04  Bruno Haible  <bruno@clisp.org>
30432
30433         New module mbstok_r.
30434         * modules/mbstok_r: New file.
30435         * lib/mbstok_r.c: New file.
30436         * lib/string_.h (strtok_r): Change argument names to match the
30437         comments. Add a conditional link warning.
30438         (mbstok_r): New declaration.
30439         * m4/mbstok_r.m4: New file.
30440         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30441         GNULIB_MBSTOK_R.
30442         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
30443         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
30444
30445 2007-02-04  Bruno Haible  <bruno@clisp.org>
30446
30447         New module mbsspn.
30448         * modules/mbsspn: New file.
30449         * lib/mbsspn.c: New file.
30450         * lib/string_.h (strspn): Add a conditional link warning.
30451         (mbsspn): New declaration.
30452         * m4/mbsspn.m4: New file.
30453         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30454         GNULIB_MBSSPN.
30455         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
30456         * MODULES.html.sh (Internationalization functions): Add mbsspn.
30457
30458 2007-02-04  Bruno Haible  <bruno@clisp.org>
30459
30460         New module mbspbrk.
30461         * modules/mbspbrk: New file.
30462         * lib/mbspbrk.c: New file.
30463         * lib/string_.h (strpbrk): Add a conditional link warning.
30464         (mbspbrk): New declaration.
30465         * m4/mbspbrk.m4: New file.
30466         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30467         GNULIB_MBSPBRK.
30468         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
30469         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
30470
30471 2007-02-04  Bruno Haible  <bruno@clisp.org>
30472
30473         New module mbscspn.
30474         * modules/mbscspn: New file.
30475         * lib/mbscspn.c: New file.
30476         * lib/string_.h (strcspn): Add a conditional link warning.
30477         (mbscspn): New declaration.
30478         * m4/mbscspn.m4: New file.
30479         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30480         GNULIB_MBSCSPN.
30481         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
30482         * MODULES.html.sh (Internationalization functions): Add mbscspn.
30483
30484 2007-02-04  Bruno Haible  <bruno@clisp.org>
30485
30486         New module mbscasestr, reduced goal of strcasestr.
30487         * modules/mbscasestr: New file.
30488         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
30489         (mbscasestr): Renamed from strcasestr.
30490         * lib/strcasestr.c: Don't include mbuiter.h.
30491         (strcasestr): Remove support for multibyte locales.
30492         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
30493         Change the conditional link warning.
30494         (mbscasestr): New declaration.
30495         * m4/mbscasestr.m4: New file.
30496         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
30497         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
30498         REPLACE_STRCASESTR.
30499         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
30500         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30501         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
30502         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
30503         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
30504         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
30505         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
30506         (Depends-on): Remove mbuiter.
30507         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
30508
30509 2007-02-04  Bruno Haible  <bruno@clisp.org>
30510
30511         Simplify handling of strncasecmp.
30512         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
30513         the conditional link warning.
30514         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30515         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
30516         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
30517         * modules/strcase (configure.ac): Don't invoke
30518         gl_STRING_MODULE_INDICATOR.
30519         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
30520
30521 2007-02-04  Bruno Haible  <bruno@clisp.org>
30522
30523         New module mbscasecmp, reduced goal of strcasecmp.
30524         * modules/mbscasecmp: New file.
30525         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
30526         (mbscasecmp): Renamed from strcasecmp.
30527         * lib/strcasecmp.c: Don't include mbuiter.h.
30528         (strcasecmp): Remove support for multibyte locales.
30529         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
30530         Change the conditional link warning.
30531         (mbscasecmp): New declaration.
30532         * m4/mbscasecmp.m4: New file.
30533         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
30534         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
30535         REPLACE_STRCASECMP.
30536         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
30537         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30538         GNULIB_MBSCASECMP.
30539         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
30540         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
30541         * modules/strcase (Files): Remove m4/mbrtowc.m4.
30542         (Depends-on): Remove mbuiter.
30543         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
30544
30545 2007-02-04  Bruno Haible  <bruno@clisp.org>
30546
30547         New module mbsstr. Remove module strstr.
30548         * modules/mbsstr: New file.
30549         * modules/strstr: Remove file.
30550         * lib/mbsstr.c: Renamed from lib/strstr.c.
30551         (mbsstr): Renamed from strstr.
30552         * lib/string_.h (strstr): Remove declaration. Change the conditional
30553         link warning.
30554         (mbsstr): New declaration.
30555         * m4/mbsstr.m4: New file.
30556         * m4/strstr.m4: Remove file.
30557         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
30558         REPLACE_STRSTR.
30559         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
30560         Don't initialize GNULIB_STRSTR.
30561         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
30562         substitute GNULIB_STRSTR and REPLACE_STRSTR.
30563         * MODULES.html.sh (Internationalization functions): Add mbsstr.
30564         (Support for systems lacking ANSI C 89): Remove strstr.
30565
30566 2007-02-04  Bruno Haible  <bruno@clisp.org>
30567
30568         New module mbsrchr.
30569         * modules/mbsrchr: New file.
30570         * lib/mbsrchr.c: New file.
30571         * lib/string_.h (strrchr): Add a conditional link warning.
30572         (mbsrchr): New declaration.
30573         * m4/mbsrchr.m4: New file.
30574         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30575         GNULIB_MBSRCHR.
30576         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
30577         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
30578
30579 2007-02-04  Bruno Haible  <bruno@clisp.org>
30580
30581         New module mbschr.
30582         * modules/mbschr: New file.
30583         * lib/mbschr.c: New file.
30584         * lib/string_.h (strchr): Add a conditional link warning.
30585         (mbschr): New declaration.
30586         * m4/mbschr.m4: New file.
30587         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30588         GNULIB_MBSCHR.
30589         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
30590         * MODULES.html.sh (Internationalization functions): Add mbschr.
30591
30592 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
30593
30594         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
30595
30596         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
30597
30598 2007-02-04  Bruno Haible  <bruno@clisp.org>
30599
30600         New module description section 'configure.ac-early'.
30601         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
30602         (func_get_autoconf_early_snippet): New function.
30603         (func_import, func_create_testdir): Use it. Remove special cases for
30604         modules 'extensions' and 'lock'.
30605         * modules/extensions (configure.ac-early): Require
30606         gl_USE_SYSTEM_EXTENSIONS.
30607         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
30608
30609 2007-02-04  Bruno Haible  <bruno@clisp.org>
30610
30611         Make use of gcj-4.3's -fsource and -ftarget option.
30612         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
30613         and if so try the options -fsource and -ftarget.
30614         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
30615         source_version, ftarget_option, target_version arguments.
30616         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
30617         (is_envjavac_oldgcj_14_14_usable): Renamed from
30618         is_envjavac_gcj_14_14_usable.
30619         (is_envjavac_oldgcj_14_13_usable): Renamed from
30620         is_envjavac_gcj_14_13_usable.
30621         (is_gcj_present): Update.
30622         (is_gcj_43, is_gcj43_usable): New functions.
30623         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
30624         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
30625         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
30626         try the options -fsource and -ftarget.
30627
30628 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
30629
30630         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
30631         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
30632         larger value.
30633
30634 2007-02-03  Jim Meyering  <jim@meyering.net>
30635
30636         Give tools a better chance to allocate space for very large buffers.
30637         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
30638
30639         Make pwd and readlink work also when run with an unreadable parent dir
30640         on systems with openat support.
30641         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
30642         provided getcwd function, even when we have openat support.
30643         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
30644
30645 2007-02-02  Bruno Haible  <bruno@clisp.org>
30646
30647         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
30648         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
30649         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
30650         portability problems if one of these functions is only used on specific
30651         platforms.
30652         Reported by Paul Eggert.
30653
30654 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
30655
30656         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
30657         is causing more trouble than it's curing.
30658         * lib/regex_internal.h (__mempcpy): Remove.
30659         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
30660         (and make the code a tad smaller to boot).
30661         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
30662
30663 2007-02-02  Jim Meyering  <jim@meyering.net>
30664
30665         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
30666         section, not in the Makefile.am: one.
30667
30668 2007-02-02  Eric Blake  <ebb9@byu.net>
30669
30670         * lib/strchrnul.c: Always include config.h first.
30671
30672         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
30673         gnulib strstr is not necessary here.
30674
30675 2007-02-02  Simon Josefsson  <simon@josefsson.org>
30676
30677         * m4/socklen.m4: Fix typo.
30678
30679 2007-02-02  Eric Blake  <ebb9@byu.net>
30680
30681         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
30682         * modules/netinet_in (Makefile.am): Likewise.
30683
30684 2007-02-01  Bruno Haible  <bruno@clisp.org>
30685
30686         * lib/string_.h (GL_LINK_WARNING): New macro.
30687         (strcasecmp, strstr, strcasestr): If provided by the system,
30688         conditionally define as a macro that leads to a warning instead of to
30689         an error.
30690         (strncasecmp): Conditionally define as a macro that leads to a warning.
30691
30692 2007-02-01  Karl Berry  <karl@gnu.org>
30693
30694         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
30695
30696 2007-02-01  Bruno Haible  <bruno@clisp.org>
30697
30698         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
30699         renamings.
30700
30701 2007-02-01  Eric Blake  <ebb9@byu.net>
30702
30703         * modules/regex (Depends-on): Revert dependence on mempcpy.
30704         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
30705         module's definition of mempcpy.
30706         Reported by Paul Eggert.
30707
30708 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
30709
30710         * lib/string_.h: If the gnulib module XYZ is not present, undefine
30711         the symbol XYZ before redefining it.  This fixes a problem with
30712         programs that don't use XYZ, when compiled on systems that define
30713         XYZ to something else.
30714
30715 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
30716
30717         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
30718         occurs when "mkdir -m foo" creates a setgid directory that is (1)
30719         writeable to group or other and (2) is intended to have a special
30720         mode bit that is set or cleared.  In such a case, the directory
30721         should be neither group- nor other-writeable until the special
30722         mode bits are right.
30723
30724 2007-01-31  Eric Blake  <ebb9@byu.net>
30725
30726         * modules/mountlist (Depends-on): Add strstr.
30727
30728         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
30729         bug.
30730         * modules/string (Makefile.am): Remove redundant replacement.
30731         * modules/regex (Depends-on): Add mempcpy.
30732
30733 2007-01-31  Bruno Haible  <bruno@clisp.org>
30734
30735         New module description field 'Link'.
30736         * gnulib-tool (func_usage): Document --extract-link-directive.
30737         (sed_extract_prog): Recognize 'Link' directive.
30738         (func_get_link_directive): New function.
30739         (func_import): Show summary of link directives.
30740         Handle --extract-link-directive option.
30741         * modules/acl (Link): New section.
30742         * modules/clock-time (Link): New section.
30743         * modules/euidaccess (Link): New section.
30744         * modules/gettext (Link): New section.
30745         * modules/iconv (Link): New section.
30746         * modules/lock (Link): New section.
30747         * modules/nanosleep (Link): New section.
30748         * modules/readline (Link): New section.
30749
30750 2007-01-27  Bruno Haible  <bruno@clisp.org>
30751
30752         Enforce the use of gnulib modules for unportable <string.h> functions.
30753         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
30754         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
30755         (gl_HEADER_STRING_H_BODY): Require it.
30756         * lib/string_.h: If the gnulib module XYZ is not present, redefine
30757         the symbol XYZ to one that gives a link error.
30758         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
30759         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
30760         * modules/mempcpy (configure.ac): Likewise.
30761         * modules/memrchr (configure.ac): Likewise.
30762         * modules/stpcpy (configure.ac): Likewise.
30763         * modules/stpncpy (configure.ac): Likewise.
30764         * modules/strcase (configure.ac): Likewise.
30765         * modules/strcasestr (configure.ac): Likewise.
30766         * modules/strchrnul (configure.ac): Likewise.
30767         * modules/strdup (configure.ac): Likewise.
30768         * modules/strndup (configure.ac): Likewise.
30769         * modules/strnlen (configure.ac): Likewise.
30770         * modules/strpbrk (configure.ac): Likewise.
30771         * modules/strsep (configure.ac): Likewise.
30772         * modules/strstr (configure.ac): Likewise.
30773         * modules/strtok_r (configure.ac): Likewise.
30774
30775 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
30776
30777         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
30778
30779 2007-01-30  Jim Meyering  <jim@meyering.net>
30780
30781         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
30782
30783 2007-01-29  Bruno Haible  <bruno@clisp.org>
30784
30785         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
30786         * lib/execute.c: Likewise.
30787         * lib/pipe.c: Likewise.
30788         * lib/printf-args.h: Likewise.
30789         * lib/printf-args.c: Likewise.
30790         * lib/printf-parse.c: Likewise.
30791         * lib/vasnprintf.c: Likewise.
30792
30793 2007-01-29  Eric Blake  <ebb9@byu.net>
30794
30795         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
30796         declaration.
30797
30798 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
30799
30800         * lib/strptime.h (strptime): Use 'restrict' for args where
30801         POSIX requires this.
30802         * lib/strptime.c (strptime): Likewise.
30803         Change license notice from LGPL to GPL, since gnulib-tool will
30804         change this as needed.
30805         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
30806         defined.
30807         Include "strptime.h" first, to check interface.
30808         Do not #undef _LIBC and _NL_CURRENT.
30809         Do not include <stdlib.h>; no longer needed.
30810         Include "time_r.h" and declare ptime_locale_status
30811         only if _LIBC is not defined.
30812         (__P): Remove unused macro.
30813         (match_string): Bring back glibc version, but use it only if _LIBC
30814         is defined.
30815         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
30816         Remove unnecessary assertion and abort() call.
30817         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
30818         * m4/strptime.m4: Fix serial number comment.
30819         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
30820         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
30821         (Depends-on): Add time_r.
30822
30823 2007-01-29  Bruno Haible  <bruno@clisp.org>
30824
30825         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
30826         strptime.
30827         * modules/strptime (Depends-on): Add stdbool.
30828         * lib/strptime.h: Include <time.h> always. Add comments.
30829
30830 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
30831
30832         * modules/strptime: New file.
30833         * lib/strptime.h: New file.
30834         * lib/strptime.c: New file.
30835         * m4/strptime.m4: New file.
30836
30837 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
30838
30839         * MODULES.html.sh: New module mpsort.
30840         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
30841
30842         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
30843         a circularity problem with HP-UX ia64 reported by Bob Proulx in
30844         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
30845         All uses changed.
30846         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
30847         All uses changed.
30848         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
30849         to _Restrict_.
30850         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
30851         the parameter matches the prototype.
30852
30853 2007-01-28  Jim Meyering  <jim@meyering.net>
30854
30855         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
30856         sys/time.h here, reverting that part of the previous patch:
30857         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
30858
30859 2007-01-28  Bruno Haible  <bruno@clisp.org>
30860
30861         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
30862         value of $(SYS_TIME_H).
30863         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
30864         remove it conditionally, too. [added by Jim Meyering]
30865         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
30866         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
30867         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
30868         GETTIMEOFDAY_REPLACEMENT to 1.
30869
30870 2007-01-28  Bruno Haible  <bruno@clisp.org>
30871
30872         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
30873         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
30874         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
30875         Set UNISTD_H instead of UNISTD_H2.
30876         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
30877
30878 2007-01-28  Bruno Haible  <bruno@clisp.org>
30879
30880         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
30881         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
30882
30883 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30884
30885         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
30886         (func_create_testdir): Ensure C locale for `grep' and `tr'
30887         character ranges.
30888         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
30889         ACLOCAL_AMFLAGS parsing state machine.
30890
30891 2007-01-27  Bruno Haible  <bruno@clisp.org>
30892
30893         * modules/unistr/base: Update.
30894
30895 2007-01-27  Bruno Haible  <bruno@clisp.org>
30896
30897         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
30898         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
30899         * modules/unistr/u32-mbtouc-unsafe: Renamed from
30900         modules/unistr/u32-mbtouc.
30901         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
30902         * lib/unistr.h: Update.
30903         * lib/linebreak.c: Update.
30904         * modules/unistr/u32-mbtouc: Renamed from
30905         modules/unistr/u32-mbtouc-safe.
30906         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
30907         * lib/unistr.h: Update.
30908         * lib/unistr/u32-to-u8.c: Update.
30909         * lib/unistr/u32-to-u16.c: Update.
30910
30911 2007-01-27  Bruno Haible  <bruno@clisp.org>
30912
30913         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
30914         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
30915         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
30916         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
30917         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
30918         * modules/unistr/u16-mbtouc-unsafe: Renamed from
30919         modules/unistr/u16-mbtouc.
30920         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
30921         * lib/unistr.h: Update.
30922         * lib/linebreak.c: Update.
30923         * modules/linebreak: Update.
30924         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
30925         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
30926         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
30927         * modules/unistr/u16-mbtouc: Renamed from
30928         modules/unistr/u16-mbtouc-safe.
30929         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
30930         * lib/unistr.h: Update.
30931         * lib/unistr/u16-to-u8.c: Update.
30932         * modules/unistr/u16-to-u8: Update.
30933         * lib/unistr/u16-to-u32.c: Update.
30934         * modules/unistr/u16-to-u32: Update.
30935
30936 2007-01-27  Bruno Haible  <bruno@clisp.org>
30937
30938         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
30939         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
30940         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
30941         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
30942         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
30943         * modules/unistr/u8-mbtouc-unsafe: Renamed from
30944         modules/unistr/u8-mbtouc.
30945         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
30946         * lib/unistr.h: Update.
30947         * lib/striconveh.c: Update.
30948         * modules/striconveh: Update.
30949         * lib/linebreak.c: Update.
30950         * modules/linebreak: Update.
30951         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
30952         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
30953         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
30954         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
30955         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
30956         * lib/unistr.h: Update.
30957         * lib/striconveh.c: Update.
30958         * modules/striconveh: Update.
30959         * lib/unistr/u8-to-u16.c: Update.
30960         * modules/unistr/u8-to-u16: Update.
30961         * lib/unistr/u8-to-u32.c: Update.
30962         * modules/unistr/u8-to-u32: Update.
30963
30964 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30965
30966         Sync from Libtool.
30967         * lib/argz.c: Do not include strings.h nor memory.h, include
30968         string.h unconditionally.  Patch by Simon Josefsson.
30969
30970 2007-01-27  Bruno Haible  <bruno@clisp.org>
30971
30972         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
30973         from gl_HEADER_STRING_H_BODY.
30974         (gl_HEADER_STRING_H_BODY): Require it.
30975         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
30976         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
30977         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
30978         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
30979         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
30980         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
30981         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30982         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
30983         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
30984         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
30985         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
30986         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
30987         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
30988         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
30989         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
30990
30991 2007-01-27  Bruno Haible  <bruno@clisp.org>
30992
30993         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
30994         check_PROGRAMS into noinst_PROGRAMS.
30995         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
30996         check_PROGRAMS in this case.
30997         (func_import): Set for_test to false.
30998         (func_create_testdir): Set for_test to true.
30999
31000 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
31001             Bruno Haible  <bruno@clisp.org>
31002
31003         * modules/strcasestr (Files): Remove lib/strcasestr.h.
31004         (Depends-on): Add string.
31005         (Includes): Use <string.h> instead of strcasestr.h.
31006         * modules/string (Makefile.am): Also substitute the value of
31007         REPLACE_STRCASESTR.
31008         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
31009         assume strcasestr is declared in <string.h> not <strings.h>. Also
31010         set REPLACE_STRCASESTR.
31011         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
31012         REPLACE_STRCASESTR.
31013         * lib/strcasestr.h: Remove file.
31014         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
31015         * lib/string_.h (strcasestr): New declaration.
31016
31017 2007-01-27  Bruno Haible  <bruno@clisp.org>
31018
31019         * lib/string_.h: Use 'extern'.
31020
31021 2007-01-27  Jim Meyering  <jim@meyering.net>
31022
31023         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
31024         of set-but-not-used local, "q".
31025
31026         * lib/mempcpy.c: Include <config.h> before <string.h>.
31027         This fixes a compilation error on HP-UX, due to the system's
31028         "restrict"-using mempcpy prototype.
31029
31030 2007-01-26  Bruno Haible  <bruno@clisp.org>
31031
31032         Small optimization.
31033         * lib/javacomp.c: Include c-strstr.h.
31034          (is_envjavac_gcj): Use c_strstr instead of strstr.
31035         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
31036
31037 2007-01-26  Bruno Haible  <bruno@clisp.org>
31038
31039         * MODULES.html.sh (Unicode string functions): Add the new modules.
31040
31041         * modules/uniconv/u32-strconv-to-locale: New file.
31042         * lib/uniconv/u32-strconv-to-locale.c: New file.
31043
31044         * modules/uniconv/u16-strconv-to-locale: New file.
31045         * lib/uniconv/u16-strconv-to-locale.c: New file.
31046
31047         * modules/uniconv/u8-strconv-to-locale: New file.
31048         * lib/uniconv/u8-strconv-to-locale.c: New file.
31049
31050         * modules/uniconv/u32-strconv-from-locale: New file.
31051         * lib/uniconv/u32-strconv-from-locale.c: New file.
31052
31053         * modules/uniconv/u16-strconv-from-locale: New file.
31054         * lib/uniconv/u16-strconv-from-locale.c: New file.
31055
31056         * modules/uniconv/u8-strconv-from-locale: New file.
31057         * lib/uniconv/u8-strconv-from-locale.c: New file.
31058
31059         * modules/uniconv/u32-strconv-to-enc: New file.
31060         * lib/uniconv/u32-strconv-to-enc.c: New file.
31061         * modules/uniconv/u32-strconv-to-enc-tests: New file.
31062         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
31063
31064         * modules/uniconv/u16-strconv-to-enc: New file.
31065         * lib/uniconv/u16-strconv-to-enc.c: New file.
31066         * lib/uniconv/u-strconv-to-enc.h: New file.
31067         * modules/uniconv/u16-strconv-to-enc-tests: New file.
31068         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
31069
31070         * modules/uniconv/u8-strconv-to-enc: New file.
31071         * lib/uniconv/u8-strconv-to-enc.c: New file.
31072         * modules/uniconv/u8-strconv-to-enc-tests: New file.
31073         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
31074
31075         * modules/uniconv/u32-strconv-from-enc: New file.
31076         * lib/uniconv/u32-strconv-from-enc.c: New file.
31077         * modules/uniconv/u32-strconv-from-enc-tests: New file.
31078         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
31079
31080         * modules/uniconv/u16-strconv-from-enc: New file.
31081         * lib/uniconv/u16-strconv-from-enc.c: New file.
31082         * modules/uniconv/u16-strconv-from-enc-tests: New file.
31083         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
31084
31085         * modules/uniconv/u8-strconv-from-enc: New file.
31086         * lib/uniconv/u8-strconv-from-enc.c: New file.
31087         * lib/uniconv/u-strconv-from-enc.h: New file.
31088         * modules/uniconv/u8-strconv-from-enc-tests: New file.
31089         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
31090
31091         * modules/uniconv/u32-conv-from-enc: New file.
31092         * lib/uniconv/u32-conv-from-enc.c: New file.
31093         * modules/uniconv/u32-conv-from-enc-tests: New file.
31094         * tests/uniconv/test-u32-conv-from-enc.c: New file.
31095
31096         * modules/uniconv/u16-conv-from-enc: New file.
31097         * lib/uniconv/u16-conv-from-enc.c: New file.
31098         * lib/uniconv/u-conv-from-enc.h: New file.
31099         * modules/uniconv/u16-conv-from-enc-tests: New file.
31100         * tests/uniconv/test-u16-conv-from-enc.c: New file.
31101
31102         * modules/uniconv/u8-conv-from-enc: New file.
31103         * lib/uniconv/u8-conv-from-enc.c: New file.
31104         * modules/uniconv/u8-conv-from-enc-tests: New file.
31105         * tests/uniconv/test-u8-conv-from-enc.c: New file.
31106
31107         * modules/uniconv/base: New file.
31108         * lib/uniconv.h: New file.
31109
31110 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
31111
31112         * doc/gnulib-tool.texi (Initial import): Update to match current
31113         behavior with strdup module.
31114         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
31115         * lib/memmem.h: Remove; all uses removed.  This is now done
31116         by <string.h>.
31117         * lib/mempcpy.h: Likewise.
31118         * lib/memrchr.h: Likewise.
31119         * lib/stpcpy.h: Likewise.
31120         * lib/stpncpy.h: Likewise.
31121         * lib/strcase.h: Likewise.
31122         * lib/strchrnul.h: Likewise.
31123         * lib/strdup.h: Likewise.
31124         * lib/strndup.h: Likewise.
31125         * lib/strnlen.h: Likewise.
31126         * lib/strpbrk.h: Likewise.
31127         * lib/strsep.h: Likewise.
31128         * lib/strstr.h: Likewise.
31129         * lib/strtok_r.h: Likewise.
31130         * lib/string_.h: New file.
31131         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
31132         Rely on <string.h> instead.
31133         * lib/canon-host.c: Likewise.
31134         * lib/chdir-long.c: Likewise.
31135         * lib/concatpath.c: Likewise.
31136         * lib/exclude.c: Likewise.
31137         * lib/fchdir.c: Likewise.
31138         * lib/getaddrinfo.c: Likewise.
31139         * lib/getcwd.c: Likewise.
31140         * lib/getsubopt.c: Likewise.
31141         * lib/glob.c: Likewise.
31142         * lib/hard-locale.c: Likewise.
31143         * lib/iconvme.c: Likewise.
31144         * lib/javacomp.c: Likewise.
31145         * lib/mempcpy.c: Likewise.
31146         * lib/memrchr.c: Likewise.
31147         * lib/regex_internal.h: Likewise.
31148         * lib/stpncpy.c: Likewise.
31149         * lib/strcasecmp.c: Likewise.
31150         * lib/strchrnul.c: Likewise.
31151         * lib/strdup.c: Likewise.
31152         * lib/striconv.c: Likewise.
31153         * lib/striconveh.c: Likewise.
31154         * lib/striconveha.c: Likewise.
31155         * lib/strncasecmp.c: Likewise.
31156         * lib/strndup.c: Likewise.
31157         * lib/strnlen.c: Likewise.
31158         * lib/strsep.c: Likewise.
31159         * lib/strstr.c: Likewise.
31160         * lib/strtok_r.c: Likewise.
31161         * lib/userspec.c: Likewise.
31162         * lib/w32spawn.h: Likewise.
31163         * lib/xstrndup.c: Likewise.
31164         * lib/mountlist.c (strstr): Remove decl.
31165         * m4/string_h.m4: New file.
31166         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
31167         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
31168         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
31169         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
31170         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
31171         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
31172         Set REPLACE_STRCASECMP if necessary.
31173         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
31174         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
31175         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
31176         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
31177         HAVE_DECL_STRDUP if necessary.
31178         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
31179         since gl_FUNC_STRNDUP does that now.
31180         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
31181         Check for decl here...
31182         (gl_PREREQ_STRNLEN): ... not here.
31183         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
31184         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
31185         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
31186         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
31187         necessary.
31188         * modules/string: New file.
31189         * modules/memmem (Files): Remove special-purpose include file.
31190         (Depends-on): Add string.
31191         (Include): Include <string.h>, not the removed file.
31192         * modules/mempcpy: Likewise.
31193         * modules/memrchr: Likewise.
31194         * modules/stpcpy: Likewise.
31195         * modules/stpncpy: Likewise.
31196         * modules/strcase: Likewise.
31197         * modules/strchrnul: Likewise.
31198         * modules/strdup: Likewise.
31199         * modules/strndup: Likewise.
31200         * modules/strnlen: Likewise.
31201         * modules/strpbrk: Likewise.
31202         * modules/strsep: Likewise.
31203         * modules/strstr: Likewise.
31204         * modules/strtok_r: Likewise.
31205         * tests/test-dirname.c: Don't include "strdup.h", since
31206         <string.h> now suffices.
31207         * tests/test-memmem.c: Don't include "memmem.h", since
31208         <string.h> now suffices.
31209
31210 2007-01-25  Bruno Haible  <bruno@clisp.org>
31211
31212         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
31213         *resultp is 0.
31214
31215         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
31216         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
31217         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
31218         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
31219
31220         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
31221         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
31222         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
31223         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
31224         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
31225         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
31226
31227 2007-01-24  Bruno Haible  <bruno@clisp.org>
31228
31229         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
31230         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
31231         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
31232         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
31233         gl_FUNC_FTS_CORE.
31234         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
31235         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
31236         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
31237         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
31238         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
31239         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
31240         gl_FUNC_FCHOWNAT.
31241         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
31242         gl_FUNC_STRFTIME.
31243         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
31244         Reported by Ralf Wildenhues.
31245
31246 2007-01-24  Bruno Haible  <bruno@clisp.org>
31247
31248         Drop AC_REQUIRE calls that are redundant with the module dependencies.
31249         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
31250         gl_GETADDRINFO.
31251         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
31252         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
31253         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
31254
31255 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
31256
31257         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
31258         Don't use 'exit'; just return from 'main'.
31259         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
31260
31261         * lib/fnmatch_.h: Readjust white space and comments to match
31262         glibc, to avoid spurious diffs.
31263
31264 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
31265
31266         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
31267         2004-12-01 change by Jakub Jelinek, since this code won't compile
31268         if !LIBC.  Problem reported by Bob Proulx.
31269
31270 2007-01-23  Bruno Haible  <bruno@clisp.org>
31271
31272         * lib/striconveh.c: Include c-strcaseeq.h.
31273         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
31274         * modules/striconveh (Depends-on): Add c-strcaseeq.
31275
31276 2007-01-23  Bruno Haible  <bruno@clisp.org>
31277
31278         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
31279
31280         * modules/c-strcaseeq: New file.
31281         * lib/c-strcaseeq.h: New file.
31282
31283         * modules/streq: New file.
31284         * lib/streq.h: New file.
31285
31286 2007-01-23  Bruno Haible  <bruno@clisp.org>
31287
31288         * modules/striconveha-tests: New file.
31289         * tests/test-striconveha.c: New file.
31290
31291         * lib/striconveha.h: Include <stdbool.h>.
31292         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
31293         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
31294         (mem_iconveha_notranslit): Renamed from mem_iconveha.
31295         (mem_iconveha): New function.
31296         (str_iconveha_notranslit): Renamed from str_iconveha.
31297         (str_iconveha): New function.
31298         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
31299         c-strcase.
31300
31301 2007-01-23  Bruno Haible  <bruno@clisp.org>
31302
31303         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
31304         encodings without forgiving before trying any encoding with handler.
31305         (str_iconveha): Try all encodings without forgiving before trying any
31306         encoding with handler.
31307
31308 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
31309
31310         Import the following changes from libc.
31311
31312         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
31313
31314         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
31315
31316         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
31317
31318         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
31319         normal_bracket label.
31320
31321         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
31322
31323         [BZ #361]
31324         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
31325         to normal_bracket after fetching the next character.
31326
31327 2007-01-22  Bruno Haible  <bruno@clisp.org>
31328
31329         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
31330         argument.
31331         * lib/striconveh.c (iconv_carefully_1): New function.
31332         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
31333         argument.
31334         (str_cd_iconveh): Update.
31335         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
31336         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
31337         * tests/test-striconveh.c (MAGIC): New macro.
31338         (new_offsets): New function.
31339         (main): Test call with and without offsets.
31340
31341 2007-01-22  Bruno Haible  <bruno@clisp.org>
31342
31343         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
31344         * modules/sys_select (Makefile.am): Likewise.
31345         * modules/sys_socket (Makefile.am): Likewise.
31346         * modules/sys_time (Makefile.am): Likewise.
31347
31348 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
31349
31350         * modules/gettimeofday (License): Change from GPL to LGPL, since
31351         gettimeofday is a library function.
31352
31353 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31354
31355         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
31356
31357 2007-01-21  Bruno Haible  <bruno@clisp.org>
31358
31359         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
31360
31361 2007-01-21  Bruno Haible  <bruno@clisp.org>
31362
31363         * modules/striconveha: New file.
31364         * lib/striconveha.h: New file.
31365         * lib/striconveha.c: New file.
31366         * MODULES.html.sh (Internationalization functions): Add striconveha.
31367         * lib/striconv.c (str_iconv): Optimize the case of an empty input
31368         string.
31369         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
31370
31371 2007-01-21  Bruno Haible  <bruno@clisp.org>
31372
31373         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
31374         * lib/striconveh.c (str_iconveh): Likewise.
31375
31376 2007-01-21  Bruno Haible  <bruno@clisp.org>
31377
31378         * lib/striconveh.h (mem_iconveh): New declaration.
31379         * lib/striconveh.c (mem_iconveh): New function.
31380         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
31381
31382 2007-01-21  Bruno Haible  <bruno@clisp.org>
31383
31384         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
31385
31386         * lib/striconveh.h (mem_cd_iconveh): Change specification.
31387         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
31388         original result buffer.
31389         (str_cd_iconveh): Update.
31390         * tests/test-striconveh.c (main): Update.
31391
31392         * lib/striconv.h (mem_cd_iconv): Change specification.
31393         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
31394         result buffer.
31395         (str_cd_iconv): Update.
31396         * tests/test-striconv.c (main): Update.
31397
31398 2007-01-21  Bruno Haible  <bruno@clisp.org>
31399
31400         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
31401
31402 2007-01-20  Jim Meyering  <jim@meyering.net>
31403
31404         * lib/userspec.c (parse_with_separator): If a user or group string
31405         starts with "+", skip the corresponding name-to-ID look-up, since
31406         such a look-up must fail: user and group names may not include "+".
31407
31408 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
31409
31410         * lib/poll.c: Include sys/time.h and time.h unconditionally,
31411         since we now assume the sys_time module.
31412         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
31413         check for sys/time.h; no longer needed.
31414         * modules/poll (Depends-on): Depend on sys_time.
31415
31416 2007-01-18  Bruno Haible  <bruno@clisp.org>
31417
31418         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
31419         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
31420
31421         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
31422         gettimeofday.
31423
31424         * tests/test-gettimeofday.c: Include <time.h>.
31425         (dummy): Remove variable.
31426
31427         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
31428         gl_HEADER_SYS_TIME_H.
31429         (gl_HEADER_SYS_TIME_H): New macro.
31430
31431         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
31432         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
31433         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
31434         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
31435         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
31436         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
31437         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
31438         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
31439         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
31440         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
31441         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
31442
31443         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
31444         last change; it caused a compilation error when cross-compiling to
31445         Cygwin.
31446
31447 2007-01-18  Jim Meyering  <jim@meyering.net>
31448
31449         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
31450         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
31451         than the race-prone "test -d sys || mkdir sys".
31452         (configure.ac): Use AC_PROG_MKDIR_P.
31453         * modules/sys_select: Likewise.
31454         * modules/sys_socket: Likewise.
31455         * modules/sys_time: Likewise.
31456
31457 2007-01-18  Eric Blake  <ebb9@byu.net>
31458
31459         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
31460         replace gettimeofday.
31461         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
31462         name, to avoid infinite recursion.
31463
31464 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
31465
31466         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
31467         module sys_time.
31468         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
31469         assume timespec.h defines struct timeval.
31470         * lib/settime.c: Likewise.
31471         * lib/utimens.c: Likewise.
31472         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
31473         since we now assume the gettimeofday module.
31474         * lib/tempname.c (__gen_tempname): Likewise.
31475         * lib/gettimeofday.h: Remove.
31476         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
31477         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
31478         Include <time.h>, for 'time()'.
31479         (localtime_buffer_addr): Also use this workaround if
31480         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
31481         to simplify the uses.  All uses changed.
31482         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
31483         that #undef is inside {}, and 'const' follows type name consistently.
31484         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
31485         (gettimeofday): Do not use the maximum possible value for
31486         tv->tv_usec, since that might break usages other than ls.c.
31487         Instead, we'll leave ls.c alone.  This undoes today's patch
31488         by Bruno.  Add a compile-time warning for 1s-clock resolution;
31489         we've never observed the problem but might as well keep the
31490         canary.
31491         * lib/nanosleep.c: Include timespec.h first, for interface check.
31492         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
31493         now assume the sys_time module.
31494         * lib/tempname.c: Likewise.
31495         * lib/timespec.h: Likewise.
31496         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
31497         needed.
31498         * lib/strftime.c: Likewise.
31499         * lib/timespec.h: Likewise.
31500         * lib/posixtm.c: Include posixtm.h first, for interface check.
31501         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
31502         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
31503         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
31504         * lib/sys_time_.h: New file.
31505         * lib/timespec.h (struct timespec): Use long int, not long.
31506         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
31507         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
31508         Remove obsolescent call to AC_HEADER_TIME.
31509         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
31510         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
31511         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
31512         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
31513         Likewise.
31514         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
31515         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
31516         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
31517         into the sys_time module.  Check for gettimeofday just once.
31518         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
31519         for gettimeofday signature to just check the signature.  Merely
31520         compile it, since linking doesn't test signature.  Improve test for
31521         whether gettimeofday.o is actually needed.
31522         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
31523         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
31524         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
31525         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
31526         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
31527         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
31528         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
31529         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
31530         than worrying about sys/time.h.
31531         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
31532         Don't bother worrying about TIME_WITH_SYS_TIME.
31533         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
31534         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
31535         * m4/sys_time_h.m4: New file.
31536         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
31537         Don't include sys/time.h.  Return from main rather than exiting.
31538         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
31539         all uses changed.
31540         * modules/gethrxtime (Depends-on): Add sys_time.
31541         * modules/gettime (Depends-on): Likewise.
31542         * modules/gettimeofday (Depends-on): Likewise.
31543         * modules/nanosleep (Depends-on): Likewise.
31544         * modules/settime (Depends-on): Likewise.
31545         * modules/tempname (Depends-on): Likewise.
31546         * modules/utimens (Depends-on): Likewise.
31547         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
31548         (Include:) Change back to <sys/time.h>.
31549         (Maintainer:) Add self.
31550         * modules/sys_time: New file.
31551         * modules/tempname (Depends-on): Add gettimeofday.
31552         * tests/test-gettimeofday.c: Include <sys/time.h>
31553         rather than gettimeofday.h.
31554
31555 2007-01-17  Bruno Haible  <bruno@clisp.org>
31556
31557         * gnulib-tool (func_get_license): Revert last patch. Instead, let
31558         the license default to GPL.
31559         (func_create_testdir): Don't complain if a module is LGPL and its
31560         tests module depends on GPLed modules.
31561
31562 2007-01-17  Bruno Haible  <bruno@clisp.org>
31563
31564         * lib/gettimeofday.c (gettimeofday): Add code for the case
31565         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
31566         maximum possible value for tv->tv_usec, rather than the minimum one.
31567
31568 2005-10-08  Martin Lambers  <marlam@marlam.de>
31569 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
31570 2007-01-16  Bruno Haible  <bruno@clisp.org>
31571
31572         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
31573         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
31574         gl_FUNC_GETTIMEOFDAY.
31575         (Include): Add gettimeofday.h.
31576         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
31577         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
31578         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
31579         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
31580         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
31581         * lib/gettimeofday.h: New file.
31582         * lib/gettimeofday.c: Include <sys/timeb.h>.
31583         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
31584         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
31585         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
31586         fall back on time().
31587
31588         * tests/test-gettimeofday.c: New file.
31589         * modules/gettimeofday-tests: New file.
31590
31591 2007-01-16  Eric Blake  <ebb9@byu.net>
31592
31593         * modules/fnmatch (Depends-on): Depend on wchar.
31594         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
31595         * m4/fnmatch.m4: Likewise.
31596         * modules/mbchar (Makefile.am): Assume <wchar.h>.
31597         * m4/mbchar.m4: Likewise.
31598         * modules/mbswidth (Depends-on): Depend on wchar.
31599         * lib/mbswidth.c: Assume <wchar.h>.
31600         * m4/mbswidth.m4: Likewise.
31601         * modules/quotearg (Depends-on): Depend on wchar.
31602         * lib/quotearg.c: Assume <wchar.h>.
31603         * m4/quotearg.m4: Likewise.
31604         * modules/regex (Depends-on): Depend on wchar.
31605         * lib/regex_internal.h: Assume <wchar.h>.
31606         * m4/regex.m4: Likewise.
31607         * modules/stdint (Depends-on): Depend on wchar.
31608         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
31609         * m4/stdint.m4: Likewise.
31610         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
31611         * modules/strftime (Depends-on): Depend on wchar.
31612         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
31613         * modules/strtol (Depends-on): Depend on wchar.
31614         * lib/strtol.c: Assume <wchar.h>.
31615         * modules/wcwidth (Depends-on): Depend on wchar.
31616         * lib/wcwidth.h: Assume <wchar.h>.
31617         * m4/wcwidth.m4: Likewise.
31618
31619 2007-01-16  Bruno Haible  <bruno@clisp.org>
31620
31621         * modules/csharpexec-script: New, created from...
31622         * modules/csharpexec: ... this.
31623
31624 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
31625
31626         * modules/javaexec-script: New, created from...
31627         * modules/javaexec: ... this.
31628
31629 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31630
31631         * modules/poll (Dependencies): Add sys_select.
31632
31633 2007-01-15  Jim Meyering  <jim@meyering.net>
31634
31635         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
31636         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
31637         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
31638         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
31639
31640 2007-01-15  Bruno Haible  <bruno@clisp.org>
31641
31642         * modules/striconveh: New file.
31643         * lib/striconveh.h: New file.
31644         * lib/striconveh.c: New file.
31645         * MODULES.html.sh (Internationalization functions): Add striconveh.
31646
31647         * modules/striconveh-tests: New file.
31648         * tests/test-striconveh.c: New file.
31649
31650 2007-01-15  Bruno Haible  <bruno@clisp.org>
31651
31652         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
31653         not from GNU libiconv or GNU libc.
31654
31655 2007-01-15  Bruno Haible  <bruno@clisp.org>
31656
31657         * doc/gnulib-intro.texi (Copyright): Explain the different license
31658         terms for module descriptions, autoconf macros, tests, documentation.
31659
31660 2007-01-14  Bruno Haible  <bruno@clisp.org>
31661
31662         * modules/striconv-tests: New file.
31663         * tests/test-striconv.c: New file.
31664
31665 2007-01-14  Bruno Haible  <bruno@clisp.org>
31666
31667         * modules/iconv-tests: New file.
31668         * tests/test-iconv.c: New file.
31669
31670 2007-01-14  Bruno Haible  <bruno@clisp.org>
31671
31672         * gnulib-tool (func_get_license): For test modules, use the license of
31673         the main module.
31674
31675 2007-01-14  Bruno Haible  <bruno@clisp.org>
31676
31677         * modules/iconv (Include): Clarify that <iconv.h> can only be included
31678         if iconv is found to exist.
31679
31680 2007-01-14  Bruno Haible  <bruno@clisp.org>
31681
31682         * modules/c-ctype-tests: New file.
31683         * tests/test-c-ctype.c: New file.
31684
31685 2007-01-14  Bruno Haible  <bruno@clisp.org>
31686
31687         * modules/binary-io-tests: New file.
31688         * tests/test-binary-io.sh: New file.
31689         * tests/test-binary-io.c: New file.
31690
31691 2007-01-14  Bruno Haible  <bruno@clisp.org>
31692
31693         * modules/array-oset-tests: New file.
31694         * tests/test-array_oset.c: New file.
31695
31696 2007-01-14  Bruno Haible  <bruno@clisp.org>
31697
31698         * modules/array-list-tests: New file.
31699         * tests/test-array_list.c: New file.
31700
31701 2007-01-14  Bruno Haible  <bruno@clisp.org>
31702
31703         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
31704         and make.
31705         Reported by Simon Josefsson in
31706         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
31707
31708 2007-01-14  Bruno Haible  <bruno@clisp.org>
31709
31710         * modules/allocsa-tests: New file.
31711         * tests/test-allocsa.c: New file.
31712
31713 2007-01-14  Bruno Haible  <bruno@clisp.org>
31714
31715         * modules/fchdir (Depends-on): Add absolute-header.
31716         * modules/unistd (Depends-on): Likewise.
31717
31718 2006-12-30  Bruno Haible  <bruno@clisp.org>
31719
31720         * modules/fchdir: New file.
31721         * modules/unistd (Files): Add lib/unistd_.h.
31722         (Makefile.am): Generate unistd.h from unistd_.h.
31723         * lib/fchdir.c: New file.
31724         * lib/dirent_.h: New file.
31725         * lib/unistd_.h: New file.
31726         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
31727         * m4/fchdir.m4: New file.
31728         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
31729         (gl_HEADER_UNISTD): Invoke it.
31730         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
31731         function.
31732         * lib/backupfile.c (opendir, closedir): Undefine.
31733         * lib/chown.c (open, close): Undefine.
31734         * lib/clean-temp.c (open, close): Undefine.
31735         * lib/copy-file.c (open, close): Undefine.
31736         * lib/execute.c (open, close): Undefine.
31737         * lib/fsusage.c (open, close): Undefine.
31738         * lib/gc-gnulib.c (open, close): Undefine.
31739         * lib/getcwd.c (opendir, closedir): Undefine.
31740         * lib/glob.c (opendir, closedir): Undefine.
31741         * lib/javacomp.c (open, close): Undefine.
31742         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
31743         * lib/openat-proc.c (open, close): Undefine.
31744         * lib/pagealign_alloc.c (open, close): Undefine.
31745         * lib/pipe.c (open, close): Undefine.
31746         * lib/progreloc.c (open, close): Undefine.
31747         * lib/savedir.c (opendir, closedir): Undefine.
31748         * lib/utime.c (open, close): Undefine.
31749         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
31750
31751 2007-01-10  Bruno Haible  <bruno@clisp.org>
31752
31753         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
31754
31755 2007-01-12  Eric Blake  <ebb9@byu.net>
31756
31757         Provide a robust <wchar.h>.  Further simplifications are now
31758         possible in other modules, but not included here.
31759         * modules/wchar: New module.
31760         * m4/wchar.m4: New file.
31761         * lib/wchar_.h: Likewise.
31762         * modules/mbchar (Depends-on): Depend on wchar, as the first use
31763         of the new module.
31764         * MODULES.html.sh (Extended multibyte and wide character utilities):
31765         New section.
31766
31767 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
31768
31769         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
31770         to a reasonable default for memory allocation.
31771         (xreadlink): Don't allocate a huge buffer, to work around a buggy
31772         file system that reports garbage st_size values for symlinks.
31773         Problem reported by Liyang Hu.
31774
31775 2007-01-11  Simon Josefsson  <simon@josefsson.org>
31776
31777         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
31778         Emacs .#* auto-save files).
31779
31780 2007-01-11  Bruno Haible  <bruno@clisp.org>
31781
31782         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
31783         directory.
31784
31785 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
31786
31787         Use @...@ consistently in lib/wctype_.h.
31788         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
31789         on it being set to 1 or 0.
31790         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
31791         go back to AC_SUBSTing it.
31792         * modules/wctype (Makefile.am): Undo previous change.
31793
31794 2007-01-10  Eric Blake  <ebb9@byu.net>
31795
31796         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
31797         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
31798         * modules/wctype (Makefile.am): Likewise.
31799         Reported by Chris McGuire.
31800
31801 2007-01-10  Jim Meyering  <jim@meyering.net>
31802
31803         fts.c: a small readability/maintainability improvement
31804         * lib/fts.c (fts_read): Make this code slightly more readable and
31805         maintainable by hoisting the "sp->fts_cur = p" assignments to
31806         immediately follow the statements that set P.  Derived from
31807         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
31808
31809 2007-01-10  Eric Blake  <ebb9@byu.net>
31810
31811         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
31812         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
31813         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
31814         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
31815         Reported by Chris McGuire.
31816
31817 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31818
31819         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
31820         in sed script.
31821
31822 2007-01-09  Bruno Haible  <bruno@clisp.org>
31823
31824         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
31825         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
31826         variables.
31827         (func_module): Use them.
31828
31829 2007-01-09  Bruno Haible  <bruno@clisp.org>
31830
31831         * modules/unistr/base: New file.
31832         * lib/unistr.h: New file.
31833
31834         * modules/unistr/u8-to-u16: New file.
31835         * lib/unistr/u8-to-u16.c: New file.
31836
31837         * modules/unistr/u8-to-u32: New file.
31838         * lib/unistr/u8-to-u32.c: New file.
31839
31840         * modules/unistr/u16-to-u8: New file.
31841         * lib/unistr/u16-to-u8.c: New file.
31842
31843         * modules/unistr/u16-to-u32: New file.
31844         * lib/unistr/u16-to-u32.c: New file.
31845
31846         * modules/unistr/u32-to-u8: New file.
31847         * lib/unistr/u32-to-u8.c: New file.
31848
31849         * modules/unistr/u32-to-u16: New file.
31850         * lib/unistr/u32-to-u16.c: New file.
31851
31852         * modules/unistr/u8-check: New file.
31853         * modules/unistr/u16-check: New file.
31854         * modules/unistr/u32-check: New file.
31855         * lib/unistr/u8-check.c: New file.
31856         * lib/unistr/u16-check.c: New file.
31857         * lib/unistr/u32-check.c: New file.
31858
31859         * modules/unistr/u8-chr: New file.
31860         * modules/unistr/u16-chr: New file.
31861         * modules/unistr/u32-chr: New file.
31862         * lib/unistr/u8-chr.c: New file.
31863         * lib/unistr/u16-chr.c: New file.
31864         * lib/unistr/u32-chr.c: New file.
31865
31866         * modules/unistr/u8-cmp: New file.
31867         * modules/unistr/u16-cmp: New file.
31868         * modules/unistr/u32-cmp: New file.
31869         * lib/unistr/u8-cmp.c: New file.
31870         * lib/unistr/u16-cmp.c: New file.
31871         * lib/unistr/u32-cmp.c: New file.
31872
31873         * modules/unistr/u8-cpy: New file.
31874         * modules/unistr/u16-cpy: New file.
31875         * modules/unistr/u32-cpy: New file.
31876         * lib/unistr/u8-cpy.c: New file.
31877         * lib/unistr/u16-cpy.c: New file.
31878         * lib/unistr/u32-cpy.c: New file.
31879         * lib/unistr/u-cpy.h: New file.
31880
31881         * modules/unistr/u8-cpy-alloc: New file.
31882         * modules/unistr/u16-cpy-alloc: New file.
31883         * modules/unistr/u32-cpy-alloc: New file.
31884         * lib/unistr/u8-cpy-alloc.c: New file.
31885         * lib/unistr/u16-cpy-alloc.c: New file.
31886         * lib/unistr/u32-cpy-alloc.c: New file.
31887         * lib/unistr/u-cpy-alloc.h: New file.
31888
31889         * modules/unistr/u8-endswith: New file.
31890         * modules/unistr/u16-endswith: New file.
31891         * modules/unistr/u32-endswith: New file.
31892         * lib/unistr/u8-endswith.c: New file.
31893         * lib/unistr/u16-endswith.c: New file.
31894         * lib/unistr/u32-endswith.c: New file.
31895         * lib/unistr/u-endswith.h: New file.
31896
31897         * modules/unistr/u8-mblen: New file.
31898         * modules/unistr/u16-mblen: New file.
31899         * modules/unistr/u32-mblen: New file.
31900         * lib/unistr/u8-mblen.c: New file.
31901         * lib/unistr/u16-mblen.c: New file.
31902         * lib/unistr/u32-mblen.c: New file.
31903
31904         * modules/unistr/u8-mbtouc: New file.
31905         * modules/unistr/u16-mbtouc: New file.
31906         * modules/unistr/u32-mbtouc: New file.
31907         * lib/unistr/u8-mbtouc.c: New file.
31908         * lib/unistr/u16-mbtouc.c: New file.
31909         * lib/unistr/u32-mbtouc.c: New file.
31910
31911         * modules/unistr/u8-mbtouc-safe: New file.
31912         * modules/unistr/u16-mbtouc-safe: New file.
31913         * modules/unistr/u32-mbtouc-safe: New file.
31914         * lib/unistr/u8-mbtouc-safe.c: New file.
31915         * lib/unistr/u16-mbtouc-safe.c: New file.
31916         * lib/unistr/u32-mbtouc-safe.c: New file.
31917
31918         * modules/unistr/u8-move: New file.
31919         * modules/unistr/u16-move: New file.
31920         * modules/unistr/u32-move: New file.
31921         * lib/unistr/u8-move.c: New file.
31922         * lib/unistr/u16-move.c: New file.
31923         * lib/unistr/u32-move.c: New file.
31924         * lib/unistr/u-move.h: New file.
31925
31926         * modules/unistr/u8-next: New file.
31927         * modules/unistr/u16-next: New file.
31928         * modules/unistr/u32-next: New file.
31929         * lib/unistr/u8-next.c: New file.
31930         * lib/unistr/u16-next.c: New file.
31931         * lib/unistr/u32-next.c: New file.
31932
31933         * modules/unistr/u8-prev: New file.
31934         * modules/unistr/u16-prev: New file.
31935         * modules/unistr/u32-prev: New file.
31936         * lib/unistr/u8-prev.c: New file.
31937         * lib/unistr/u16-prev.c: New file.
31938         * lib/unistr/u32-prev.c: New file.
31939
31940         * modules/unistr/u8-set: New file.
31941         * modules/unistr/u16-set: New file.
31942         * modules/unistr/u32-set: New file.
31943         * lib/unistr/u8-set.c: New file.
31944         * lib/unistr/u16-set.c: New file.
31945         * lib/unistr/u32-set.c: New file.
31946         * lib/unistr/u-set.h: New file.
31947
31948         * modules/unistr/u8-startswith: New file.
31949         * modules/unistr/u16-startswith: New file.
31950         * modules/unistr/u32-startswith: New file.
31951         * lib/unistr/u8-startswith.c: New file.
31952         * lib/unistr/u16-startswith.c: New file.
31953         * lib/unistr/u32-startswith.c: New file.
31954         * lib/unistr/u-startswith.h: New file.
31955
31956         * modules/unistr/u8-stpcpy: New file.
31957         * modules/unistr/u16-stpcpy: New file.
31958         * modules/unistr/u32-stpcpy: New file.
31959         * lib/unistr/u8-stpcpy.c: New file.
31960         * lib/unistr/u16-stpcpy.c: New file.
31961         * lib/unistr/u32-stpcpy.c: New file.
31962         * lib/unistr/u-stpcpy.h: New file.
31963
31964         * modules/unistr/u8-stpncpy: New file.
31965         * modules/unistr/u16-stpncpy: New file.
31966         * modules/unistr/u32-stpncpy: New file.
31967         * lib/unistr/u8-stpncpy.c: New file.
31968         * lib/unistr/u16-stpncpy.c: New file.
31969         * lib/unistr/u32-stpncpy.c: New file.
31970         * lib/unistr/u-stpncpy.h: New file.
31971
31972         * modules/unistr/u8-strcat: New file.
31973         * modules/unistr/u16-strcat: New file.
31974         * modules/unistr/u32-strcat: New file.
31975         * lib/unistr/u8-strcat.c: New file.
31976         * lib/unistr/u16-strcat.c: New file.
31977         * lib/unistr/u32-strcat.c: New file.
31978         * lib/unistr/u-strcat.h: New file.
31979
31980         * modules/unistr/u8-strchr: New file.
31981         * modules/unistr/u16-strchr: New file.
31982         * modules/unistr/u32-strchr: New file.
31983         * lib/unistr/u8-strchr.c: New file.
31984         * lib/unistr/u16-strchr.c: New file.
31985         * lib/unistr/u32-strchr.c: New file.
31986
31987         * modules/unistr/u8-strcmp: New file.
31988         * modules/unistr/u16-strcmp: New file.
31989         * modules/unistr/u32-strcmp: New file.
31990         * lib/unistr/u8-strcmp.c: New file.
31991         * lib/unistr/u16-strcmp.c: New file.
31992         * lib/unistr/u32-strcmp.c: New file.
31993
31994         * modules/unistr/u8-strcpy: New file.
31995         * modules/unistr/u16-strcpy: New file.
31996         * modules/unistr/u32-strcpy: New file.
31997         * lib/unistr/u8-strcpy.c: New file.
31998         * lib/unistr/u16-strcpy.c: New file.
31999         * lib/unistr/u32-strcpy.c: New file.
32000         * lib/unistr/u-strcpy.h: New file.
32001
32002         * modules/unistr/u8-strcspn: New file.
32003         * modules/unistr/u16-strcspn: New file.
32004         * modules/unistr/u32-strcspn: New file.
32005         * lib/unistr/u8-strcspn.c: New file.
32006         * lib/unistr/u16-strcspn.c: New file.
32007         * lib/unistr/u32-strcspn.c: New file.
32008         * lib/unistr/u-strcspn.h: New file.
32009
32010         * modules/unistr/u8-strdup: New file.
32011         * modules/unistr/u16-strdup: New file.
32012         * modules/unistr/u32-strdup: New file.
32013         * lib/unistr/u8-strdup.c: New file.
32014         * lib/unistr/u16-strdup.c: New file.
32015         * lib/unistr/u32-strdup.c: New file.
32016         * lib/unistr/u-strdup.h: New file.
32017
32018         * modules/unistr/u8-strlen: New file.
32019         * modules/unistr/u16-strlen: New file.
32020         * modules/unistr/u32-strlen: New file.
32021         * lib/unistr/u8-strlen.c: New file.
32022         * lib/unistr/u16-strlen.c: New file.
32023         * lib/unistr/u32-strlen.c: New file.
32024         * lib/unistr/u-strlen.h: New file.
32025
32026         * modules/unistr/u8-strmblen: New file.
32027         * modules/unistr/u16-strmblen: New file.
32028         * modules/unistr/u32-strmblen: New file.
32029         * lib/unistr/u8-strmblen.c: New file.
32030         * lib/unistr/u16-strmblen.c: New file.
32031         * lib/unistr/u32-strmblen.c: New file.
32032
32033         * modules/unistr/u8-strmbtouc: New file.
32034         * modules/unistr/u16-strmbtouc: New file.
32035         * modules/unistr/u32-strmbtouc: New file.
32036         * lib/unistr/u8-strmbtouc.c: New file.
32037         * lib/unistr/u16-strmbtouc.c: New file.
32038         * lib/unistr/u32-strmbtouc.c: New file.
32039
32040         * modules/unistr/u8-strncat: New file.
32041         * modules/unistr/u16-strncat: New file.
32042         * modules/unistr/u32-strncat: New file.
32043         * lib/unistr/u8-strncat.c: New file.
32044         * lib/unistr/u16-strncat.c: New file.
32045         * lib/unistr/u32-strncat.c: New file.
32046         * lib/unistr/u-strncat.h: New file.
32047
32048         * modules/unistr/u8-strncmp: New file.
32049         * modules/unistr/u16-strncmp: New file.
32050         * modules/unistr/u32-strncmp: New file.
32051         * lib/unistr/u8-strncmp.c: New file.
32052         * lib/unistr/u16-strncmp.c: New file.
32053         * lib/unistr/u32-strncmp.c: New file.
32054
32055         * modules/unistr/u8-strncpy: New file.
32056         * modules/unistr/u16-strncpy: New file.
32057         * modules/unistr/u32-strncpy: New file.
32058         * lib/unistr/u8-strncpy.c: New file.
32059         * lib/unistr/u16-strncpy.c: New file.
32060         * lib/unistr/u32-strncpy.c: New file.
32061         * lib/unistr/u-strncpy.h: New file.
32062
32063         * modules/unistr/u8-strnlen: New file.
32064         * modules/unistr/u16-strnlen: New file.
32065         * modules/unistr/u32-strnlen: New file.
32066         * lib/unistr/u8-strnlen.c: New file.
32067         * lib/unistr/u16-strnlen.c: New file.
32068         * lib/unistr/u32-strnlen.c: New file.
32069         * lib/unistr/u-strnlen.h: New file.
32070
32071         * modules/unistr/u8-strpbrk: New file.
32072         * modules/unistr/u16-strpbrk: New file.
32073         * modules/unistr/u32-strpbrk: New file.
32074         * lib/unistr/u8-strpbrk.c: New file.
32075         * lib/unistr/u16-strpbrk.c: New file.
32076         * lib/unistr/u32-strpbrk.c: New file.
32077         * lib/unistr/u-strpbrk.h: New file.
32078
32079         * modules/unistr/u8-strrchr: New file.
32080         * modules/unistr/u16-strrchr: New file.
32081         * modules/unistr/u32-strrchr: New file.
32082         * lib/unistr/u8-strrchr.c: New file.
32083         * lib/unistr/u16-strrchr.c: New file.
32084         * lib/unistr/u32-strrchr.c: New file.
32085
32086         * modules/unistr/u8-strspn: New file.
32087         * modules/unistr/u16-strspn: New file.
32088         * modules/unistr/u32-strspn: New file.
32089         * lib/unistr/u8-strspn.c: New file.
32090         * lib/unistr/u16-strspn.c: New file.
32091         * lib/unistr/u32-strspn.c: New file.
32092         * lib/unistr/u-strspn.h: New file.
32093
32094         * modules/unistr/u8-strstr: New file.
32095         * modules/unistr/u16-strstr: New file.
32096         * modules/unistr/u32-strstr: New file.
32097         * lib/unistr/u8-strstr.c: New file.
32098         * lib/unistr/u16-strstr.c: New file.
32099         * lib/unistr/u32-strstr.c: New file.
32100         * lib/unistr/u-strstr.h: New file.
32101
32102         * modules/unistr/u8-strtok: New file.
32103         * modules/unistr/u16-strtok: New file.
32104         * modules/unistr/u32-strtok: New file.
32105         * lib/unistr/u8-strtok.c: New file.
32106         * lib/unistr/u16-strtok.c: New file.
32107         * lib/unistr/u32-strtok.c: New file.
32108         * lib/unistr/u-strtok.h: New file.
32109
32110         * modules/unistr/u8-uctomb: New file.
32111         * modules/unistr/u16-uctomb: New file.
32112         * modules/unistr/u32-uctomb: New file.
32113         * lib/unistr/u8-uctomb.c: New file.
32114         * lib/unistr/u16-uctomb.c: New file.
32115         * lib/unistr/u32-uctomb.c: New file.
32116
32117         * MODULES.html.sh (Unicode string functions): Add the new modules.
32118
32119 2007-01-08  Bruno Haible  <bruno@clisp.org>
32120
32121         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
32122         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
32123         subdirectories.
32124
32125 2007-01-08  Karl Berry  <karl@gnu.org>
32126
32127         * doc/error.texi: mention that main() fns must set program_name
32128         when progname is used.
32129
32130 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
32131
32132         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
32133         WCTYPE_H is empty, for the benefit of builds from non-distclean
32134         directories.  Problem reported by Eric Blake in
32135         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
32136
32137 2007-01-08  Bruno Haible  <bruno@clisp.org>
32138
32139         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
32140         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
32141         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
32142         PROVIDE_CANONICALIZE_FILENAME_MODE.
32143         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
32144
32145 2007-01-08  Bruno Haible  <bruno@clisp.org>
32146
32147         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
32148         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
32149         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
32150         * lib/fts.c: Likewise.
32151         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
32152
32153 2006-12-25  Bruno Haible  <bruno@clisp.org>
32154
32155         * modules/utf8-ucs4-safe: New file.
32156         * lib/utf8-ucs4-safe.h: New file.
32157         * lib/unistr/utf8-ucs4-safe.c: New file.
32158
32159         * modules/utf16-ucs4-safe: New file.
32160         * lib/utf16-ucs4-safe.h: New file.
32161         * lib/unistr/utf16-ucs4-safe.c: New file.
32162
32163         * MODULES.html.sh (Unicode string functions): Add the new modules.
32164
32165 2007-01-08  Bruno Haible  <bruno@clisp.org>
32166
32167         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
32168         (Depends-on): Add unitypes.
32169         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
32170         (u8_mbtouc_aux): Move out to separate file.
32171         (u8_mbtouc): Use ucs4_t, uint8_t types.
32172         * lib/unistr/utf8-ucs4.c: New file.
32173
32174         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
32175         (Depends-on): Add unitypes.
32176         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
32177         (u16_mbtouc_aux): Move out to separate file.
32178         (u16_mbtouc): Use ucs4_t, uint16_t types.
32179         * lib/unistr/utf16-ucs4.c: New file.
32180
32181         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
32182         (Depends-on): Add unitypes.
32183         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
32184         (u8_uctomb_aux): Move out to separate file.
32185         (u8_uctomb): Use ucs4_t, uint8_t types.
32186         * lib/unistr/ucs4-utf8.c: New file.
32187
32188         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
32189         (Depends-on): Add unitypes.
32190         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
32191         (u16_uctomb_aux): Move out to separate file.
32192         (u16_uctomb): Use ucs4_t, uint16_t types.
32193         * lib/unistr/ucs4-utf16.c: New file.
32194
32195 2006-12-25  Bruno Haible  <bruno@clisp.org>
32196
32197         * modules/unitypes: New file.
32198         * lib/unitypes.h: New file.
32199         * MODULES.html.sh (func_all_modules): New section "Unicode string
32200         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
32201         this section. Add unitypes.
32202
32203 2007-01-08  Bruno Haible  <bruno@clisp.org>
32204
32205         Avoid variable names that conflict with those from libtool.
32206         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
32207         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
32208         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
32209         library_names_spec to acl_library_names_spec, hardcode_* to
32210         acl_hardcode_*.
32211         Reported by Ralf Wildenhues.
32212
32213 2007-01-08  Bruno Haible  <bruno@clisp.org>
32214
32215         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
32216         definition.
32217         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
32218         definition.
32219         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
32220         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
32221         definition.
32222         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
32223         definition.
32224         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
32225         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
32226         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
32227         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
32228         definition.
32229         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
32230         definition.
32231         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
32232         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
32233         GC_USE_<algorithm>.
32234         * lib/gc-libgcrypt.c: Likewise.
32235         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
32236         * modules/gc-arctwo (configure.ac): Likewise.
32237         * modules/gc-des (configure.ac): Likewise.
32238         * modules/gc-hmac-md5 (configure.ac): Likewise.
32239         * modules/gc-hmac-sha1 (configure.ac): Likewise.
32240         * modules/gc-md2 (configure.ac): Likewise.
32241         * modules/gc-md4 (configure.ac): Likewise.
32242         * modules/gc-md5 (configure.ac): Likewise.
32243         * modules/gc-random (configure.ac): Likewise.
32244         * modules/gc-rijndael (configure.ac): Likewise.
32245         * modules/gc-sha1 (configure.ac): Likewise.
32246
32247 2007-01-08  Bruno Haible  <bruno@clisp.org>
32248
32249         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
32250         macro definition.
32251         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
32252         definition.
32253         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
32254         definition.
32255         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
32256         * modules/fcntl-safer (configure.ac): Likewise.
32257         * modules/fopen-safer (configure.ac): Likewise.
32258         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
32259         GNULIB_FWRITEERROR macro definition.
32260
32261 2007-01-08  Bruno Haible  <bruno@clisp.org>
32262
32263         * m4/gnulib-common.m4: New file.
32264         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
32265         (func_get_filelist): Add m4/gnulib-common.m4.
32266
32267 2007-01-08  Bruno Haible  <bruno@clisp.org>
32268
32269         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
32270         command.
32271
32272 2007-01-08  Jim Meyering  <jim@meyering.net>
32273
32274         Use a more robust test for a "can't happen" condition.
32275         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
32276         narrowed the st_size value.  Presuming the "can't happen" condition
32277         is true, that narrowing could conceivably convert an invalid st_size
32278         value into a valid one.  Instead, use a change based on Matthew
32279         Woehlke's original patch.
32280
32281         Slight readability improvement: use an assert-like macro
32282         in place of literal "abort ()" uses.
32283         * lib/fts.c (fts_assert): Define.
32284         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
32285         Use this macro instead of a bare 'abort'.
32286
32287 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
32288
32289         Don't worry about using IRIX 5.3's wctype.h broken definitions;
32290         simply work around them.
32291         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
32292         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
32293         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
32294         declaring.
32295         Don't bother to define as macros, since the standard doesn't require it.
32296         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
32297         longer worry about IRIX 5.3.
32298         (HAVE_WCTYPE_CTMP_BUG): Remove.
32299
32300 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
32301
32302         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
32303         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
32304         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
32305         Problems reported by Georg Schwarz for IRIX 5.3.
32306
32307         * gnulib-tool (autoconf_minversion): Take the maximum version number
32308         found, not the minimum.  Problem reported by James Youngman.
32309
32310 2007-01-03  Karl Berry  <karl@gnu.org>
32311
32312         * doc/error.texi: new file, explaining interaction with progname.
32313         * doc/gnulib.texi: include it.  Update copyright.
32314
32315 2007-01-03  Simon Josefsson  <simon@josefsson.org>
32316
32317         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
32318         AC_CANONICAL_HOST, to improve autobuild outputs.
32319
32320 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
32321             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
32322
32323         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
32324         sockets, server sockets, and other file descriptors.  Count errors
32325         to compute the return value.  Reorder the code a bit to be easier
32326         to follow.  Don't set event bits that were not requested (except
32327         POLLERR and POLLHUP).
32328
32329 2007-01-01  Bruno Haible  <bruno@clisp.org>
32330
32331         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
32332
32333 2007-01-03  Jim Meyering  <jim@meyering.net>
32334
32335         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
32336
32337 2007-01-02  Bruno Haible  <bruno@clisp.org>
32338
32339         * modules/settime (Include): Require timespec.h.
32340         * modules/nanosleep (Include): Likewise.
32341
32342 2007-01-01  Bruno Haible  <bruno@clisp.org>
32343
32344         * gnulib-tool (func_emit_copyright_notice): Bump year.
32345         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
32346
32347 2007-01-01  Bruno Haible  <bruno@clisp.org>
32348
32349         Improve support for OpenBSD.
32350         * build-aux/config.rpath (libname_spec): Export.
32351         (library_names_spec): New variable. Export.
32352         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
32353         library_names_spec from the config.rpath output. Locate shared library
32354         through the name pattern in library_names_spec.
32355
32356 2007-01-01  Eric Blake  <ebb9@byu.net>
32357
32358         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
32359
32360 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
32361
32362         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
32363         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
32364         assume the C locale, and avoid an "eval" that could cause trouble.
32365         Problem with SORT reported by Bob Proulx.
32366
32367         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
32368         Define.  Trivial patch from Henning Nielsen Lund, originally
32369         sent to bug-grep@gnu.org today.
32370
32371 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
32372
32373         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
32374         struct stat.  Problem reported by Henning Nielsen Lund.
32375         * lib/acl.c: Include acl.h first, to check interface.  Don't
32376         bother to include sys/types.h and sys/stat.h again.
32377
32378 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
32379
32380         Import the following change from libc; problem reported by
32381         Sven Verdoolaege.
32382
32383         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
32384
32385         [BZ #1373]
32386         * lib/argp.h: Remove __NTH for __argp_usage inline function.
32387
32388 2006-12-28  Jim Meyering  <jim@meyering.net>
32389
32390         * build-aux/announce-gen: Do not assume that the package
32391         builds any of tar.gz, tar.bz2, and .xdelta files.
32392         Suggestion from Simon Josefsson.
32393
32394 2006-12-28  Simon Josefsson  <simon@josefsson.org>
32395
32396         * modules/announce-gen: New file.
32397
32398 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
32399
32400         * lib/mbchar.h: Just include <wctype.h>; the wctype module
32401         handles its gotchas now.
32402         * lib/mbswidth.c: Likewise.
32403         * lib/wcwidth.h: Likewise.
32404         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
32405         and iswcntrl; the wctype module does this stuff now.
32406         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
32407         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
32408         * modules/mbchar (Depends-on): Add wctype.
32409         * modules/mbswidth (Depends-on): Likewise.
32410         * modules/wcwidth (Depends-on): Likewise.
32411
32412 2006-12-27  Eric Blake  <ebb9@byu.net>
32413
32414         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
32415         module uses more than what <wctype.h> is required to provide.
32416
32417 2006-12-26  Eric Blake  <ebb9@byu.net>
32418
32419         * gnulib-tool (sed_extract_prog): Avoid space-tab.
32420
32421 2006-12-26  Eric Blake  <ebb9@byu.net>
32422
32423         * modules/absolute-header: New module.
32424         * modules/fcntl (Depends-on): Depend on it.
32425         * modules/inttypes (Depends-on): Likewise.
32426         * modules/stdint (Depends-on): Likewise.
32427         * modules/sys_stat (Depends-on): Likewise.
32428         * modules/wctype (Depends-on): Likewise.
32429         * MODULES.html.sh (Support for building libraries and
32430         executables): Document it.
32431
32432 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
32433
32434         * gnulib-tool (SED): Remove, undoing previous change.
32435         The problem was that it broke coreutils on Solaris, because
32436         "sed --posix" leaked into a makefile.
32437         (sed): New alias, if 'alias' and GNU sed.
32438
32439 2006-12-24  Jim Meyering  <jim@meyering.net>
32440
32441         Work around an fchownat bug in glibc-2.4:
32442         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
32443         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
32444         in spite of the -P option.
32445         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
32446         New macros.
32447         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
32448         * modules/openat (Files): Add lib/fchownat.c.
32449         * lib/openat.c (fchownat): Don't define here.  Move to...
32450         * lib/fchownat.c: ...this new file.
32451
32452 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
32453
32454         Fix bug reported by Bruno Haible in
32455         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
32456         where quotearg.c didn't compile on Mac OS X 10.2 because it
32457         lacks <wchar.h> and wint_t.
32458         * lib/wctype_.h (__wctype_wint_t): New type.
32459         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
32460         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
32461         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
32462         Arg is now of type __wctype_wint_t, not wint_t.
32463         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
32464         substitute HAVE_WINT_T.
32465         * modules/wctype (Files): Add m4/wint_t.m4.
32466         (wctype.h): Substitute HAVE_WINT_T.
32467
32468 2006-12-23  Bruno Haible  <bruno@clisp.org>
32469
32470         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
32471
32472 2006-12-23  Bruno Haible  <bruno@clisp.org>
32473
32474         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
32475         S_ISLNK.
32476         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
32477         mingw.
32478
32479 2006-12-22  Bruno Haible  <bruno@clisp.org>
32480
32481         * lib/copy-file.c: Include acl.h.
32482         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
32483         Close the file descriptors only after being done with copy_acl.
32484         * modules/copy-file (Depends-on): Add acl.
32485
32486 2006-12-22  Bruno Haible  <bruno@clisp.org>
32487
32488         * gnulib-tool (SED): New variable.
32489         Use $SED instead of sed everywhere.
32490
32491 2006-12-22  Bruno Haible  <bruno@clisp.org>
32492
32493         * modules/no-c++: New file.
32494         * m4/no-c++.m4: New file.
32495         * MODULES.html.sh (Support for building libraries and executables):
32496         Add no-c++.
32497
32498 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
32499
32500         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
32501         Include <limits.h>, and use its INT_MAX to rewrite the
32502         j loop so that it does not overflow 'int'.  Problem reported by
32503         Ralf Wildenhues in
32504         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
32505         Play it safe by shifting left by 1 rather than multiplying by 2,
32506         as GCC is less likely to optimize this away when the value
32507         is signed (when it assumes overflow leads to undefined behavior).
32508         Also, don't assume time_t uses two's complement.
32509
32510 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
32511
32512         * MODULES.html.sh: New module wctype.
32513         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
32514         * lib/fnmatch.c: Don't bother to include <wchar.h> before
32515         <wctype.h>, since the new wctype module should fix this.
32516         * lib/quotearg.c: Include <wctype.h> unconditionally, since
32517         the wctype module should arrange for it.
32518         * lib/regex_internal.h: Likewise.
32519         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
32520         since the wctype module should handle this now.
32521         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
32522         * modules/fnmatch (Depends-on): Add wctype.
32523         * modules/quotearg (Depends-on): Likewise.
32524         * modules/regex (Depends-on): Likewise.
32525
32526 2006-12-19  Bruno Haible  <bruno@clisp.org>
32527
32528         * lib/strdup.h [C++]: Wrap definitions in extern "C".
32529         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
32530
32531 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32532
32533         * modules/savewd (Depends-on): Fix dependency on fcntl.
32534
32535 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
32536
32537         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
32538         conforms to C99, rather than relying on the user's environment
32539         setting of STDINT_H.
32540
32541 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
32542         and Eric Blake  <ebb9@byu.net>
32543
32544         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
32545         This is more consistent with the other defines here.
32546         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
32547         Port to z/OS.  Problem reported by Paul Gilmartin.
32548         Change local vars to use gl_ prefix rather than ac_.
32549         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
32550         with other defines.
32551         * modules/double-slash-root: New module.
32552         * modules/dirname (Files): Remove m4/double-slash-root.m4.
32553         (Depends-on): Add double-slash-root.
32554         * MODULES.html.sh (File system functions): Mention new module.
32555
32556 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
32557
32558         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
32559         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
32560         This is for the benefit of gzip, which doesn't do i18n.
32561
32562 2006-12-12  Jim Meyering  <jim@meyering.net>
32563
32564         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
32565         Reported by Andreas Schwab <schwab@suse.de>.
32566
32567 2006-12-12  Bruno Haible  <bruno@clisp.org>
32568
32569         Merge these changes.
32570         2006-09-05  Bruno Haible  <bruno@clisp.org>
32571         * lib/iconvme.c (iconv_string): No need to save and restore errno when
32572         iconv_alloc succeeded.
32573         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
32574         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
32575         test for " && dest " at the end - dest is always != NULL there. Call
32576         iconv with 4xNULL arguments initially, to reset the state. Call iconv
32577         with 2xNULL arguments, also to flush the state storage. Handle the
32578         IRIX iconv behaviour. Realloc the final result, to throw away unused
32579         memory.
32580
32581 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
32582
32583         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
32584         and fchmodat unconditionally, since glibc 2.4 has them.
32585         Problem reported by Arkadiusz Miskiewicz.
32586
32587 2006-12-10  Bruno Haible  <bruno@clisp.org>
32588
32589         * gnulib-tool (func_import): Show the include files only for those
32590         modules that are copied and specified.
32591         Reported by Karl Berry.
32592
32593 2006-12-08  Jim Meyering  <jim@meyering.net>
32594
32595         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
32596         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
32597
32598         * build-aux/announce-gen: Add two new options, both optional:
32599         --bootstrap-tools=TOOL_LIST
32600               a comma-separated list of tools, e.g.,
32601               autoconf,automake,bison,gnulib
32602         --gnulib-snapshot-date=DATE
32603               if gnulib is in the bootstrap tool list,
32604               then report this as the snapshot date.
32605               If not specified, use the current date/time.
32606               If you specify a date here, be sure it's UTC.
32607
32608 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32609
32610         * tests/test-argp-2.sh: Fix test to match actual output.
32611         (func_compare): Fix sed script to be portable.
32612
32613 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
32614
32615         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
32616         workaround for this case.  It is not autoconfigured now; offhand
32617         it's hard to see how to autoconfigure it.
32618
32619 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
32620
32621         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
32622         a directory that is about to be chowned.  Such a directory's
32623         initial file permissions should permit the owner only and this
32624         should not be changed until after the chown, since the group and
32625         other bits would be incorrect if they granted permission before
32626         the chown.
32627
32628         Fix porting problem for iswctype reported by Georg Schwarz in:
32629         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
32630         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
32631         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
32632         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
32633         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
32634
32635 2006-12-03  Jim Meyering  <jim@meyering.net>
32636
32637         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
32638         p->fts_statp may not yet be defined.
32639         (fts_read): Instead, set it in the caller, once p->fts_statp is
32640         sure to be defined, and corresponds to a top-level directory.
32641         This bug made du -x fail.  Here's the coreutils test case:
32642         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
32643         Reported by Mike Frysinger.
32644
32645 2006-12-01  Jim Meyering  <jim@meyering.net>
32646
32647         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
32648         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
32649         Reported by Simon Josefsson.
32650
32651 2006-11-30  Jim Meyering  <jim@meyering.net>
32652
32653         * m4/warning.m4: Use the all-permissive copyright notice
32654         recommended by RMS (rather than LGPL).
32655         * m4/vararrays.m4: Likewise.
32656         * m4/flexmember.m4: Likewise.
32657
32658 2006-11-29  Bruno Haible  <bruno@clisp.org>
32659
32660         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
32661         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
32662         using +=.
32663         Reported by Simon Josefsson <simon@josefsson.org>.
32664
32665 2006-11-28  James Youngman <jay@gnu.org>
32666
32667         * README: Advise users that they might find the bug-gnulib@gnu.org
32668         and autotools-announce@gnu.org mailing lists useful.
32669
32670 2006-11-28  Bruno Haible  <bruno@clisp.org>
32671
32672         * m4/ptrdiff_max.m4: Remove file.
32673
32674 2006-11-21  Bruno Haible  <bruno@clisp.org>
32675
32676         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
32677         _AC_COMPUTE_INT.
32678         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
32679         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
32680         _AC_COMPUTE_INT.
32681         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
32682         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
32683         _AC_COMPUTE_INT.
32684         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
32685
32686 2006-11-28  Jim Meyering  <jim@meyering.net>
32687
32688         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
32689         warning from "gcc -Wshadow" about shadowing the builtin.
32690
32691 2006-11-27  Bruno Haible  <bruno@clisp.org>
32692
32693         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
32694         _AC_COMPUTE_INT.
32695         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
32696
32697 2006-11-27  Bruno Haible  <bruno@clisp.org>
32698             Paul Eggert  <eggert@cs.ucla.edu>
32699
32700         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
32701
32702 2006-11-26  Bruno Haible  <bruno@clisp.org>
32703
32704         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
32705         noinst_LTLIBRARIES.
32706
32707 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
32708             Bruno Haible  <bruno@clisp.org>
32709
32710         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
32711         if compiling with "gcc -ansi".
32712
32713 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
32714
32715         Fix some incompatibilities with gcc -ansi -pedantic.
32716         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
32717         if compiling pedantically with GCC, unless it's C99 or later.
32718         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
32719         it mishandles gcc -ansi -pedantic as well.
32720         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
32721         if gcc -pedantic.
32722         * lib/regexec.c (check_node_accept_bytes): Don't use auto
32723         initializers for struct if -pedantic, unless it's C99 or later.
32724
32725 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
32726
32727         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
32728         Don't close an fd more than once. Identical atimes indicate
32729         success, not failure.
32730
32731 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
32732
32733         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
32734
32735 2006-11-23  Jim Meyering  <jim@meyering.net>
32736
32737         * build-aux/announce-gen: New file.  From coreutils.
32738
32739 2006-11-22  Jim Meyering  <jim@meyering.net>
32740
32741         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
32742         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
32743         (fts_read): Use a temporary to narrow the overused st_size member
32744         before using it in a switch statement.  Reported by Matthew Woehlke.
32745
32746         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
32747         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
32748
32749 2006-11-20  Bruno Haible  <bruno@clisp.org>
32750
32751         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
32752         changequote instead of pairs of brackets.
32753         Reported by Andreas Schwab <schwab@suse.de>.
32754
32755 2006-11-21  Jim Meyering  <jim@meyering.net>
32756
32757         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
32758         so as to remain compatible with older compilers.
32759         Patch from Michael Deutschmann.
32760
32761 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
32762
32763         * MODULES.html.sh (File system functions): Add openat.
32764
32765         * lib/openat.h (rpl_fstatat): New macro, if
32766         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
32767         (fstatat): Define to rpl_fstatat under the same conditions,
32768         unless COMPILING_FSTATAT.
32769         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
32770         seems to have the bug.
32771         * lib/fstatat.c: New file.
32772         * modules/openat (Files): Add it.
32773
32774 2006-11-20  Bruno Haible  <bruno@clisp.org>
32775
32776         * Makefile: New file.
32777
32778 2006-11-20  Jim Meyering  <jim@meyering.net>
32779
32780         The beginnings of syntax-related checks for gnulib.
32781         * lib/Makefile: New file.
32782         * lib/t-idcache: New script.  Ensure that the two halves of
32783         idcache.c stay in sync.
32784
32785         * lib/idcache.c: Adjust comments in user- and group- portions to
32786         be more accurate, and to be consistent with one another.
32787
32788 2006-11-20  Jim Meyering  <jim@meyering.net>
32789
32790         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
32791         continue using the flexible array member (thus, this module performs
32792         half as many malloc calls), with the addition that...
32793         (getgroup, getuser): Consistently record a non-match via an empty
32794         "name" string, and map an empty string match to a NULL return value.
32795         * modules/idcache (Depends-on): Re-add flexmember.
32796
32797         * lib/idcache.c (getuser): Remove all uses of the register keyword.
32798         (getuidbyname, getgroup, getgidbyname): Likewise.
32799
32800         Use cleaner syntax: NULL rather than 0.
32801         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
32802
32803 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
32804
32805         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
32806         It mishandled the case where the group was missing.
32807         Problem reported by Greg Schafer.
32808         * modules/idcache: Likewise.
32809
32810 2006-11-18  Jim Meyering  <jim@meyering.net>
32811
32812         * check-module (%exempt_header): Add exception for some
32813         conditionally-included headers.
32814
32815         * modules/i-ring (Depends-on): Add verify.
32816         (License): Change to LGPL.
32817
32818 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
32819
32820         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
32821         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
32822         and inttostr.h.  Use snprintf rather than uinttostr, so that
32823         LGPLed code doesn't depend on GPLed.
32824
32825 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
32826
32827         * modules/inline (License): Change from GPL to LGPL.
32828
32829 2006-11-17  Jim Meyering  <jim@meyering.net>
32830
32831         * modules/d-type (License): Switch to LGPL.
32832
32833 2006-11-15  Bruno Haible  <bruno@clisp.org>
32834
32835         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
32836
32837 2006-11-15  Eric Blake  <ebb9@byu.net>
32838
32839         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
32840         the module dependency.
32841
32842 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32843             Bruno Haible  <bruno@clisp.org>
32844
32845         * gnulib-tool (func_create_testdir): Add license consistency check.
32846
32847 2006-11-15  Eric Blake  <ebb9@byu.net>
32848
32849         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
32850         random "(cached)" in configure output.
32851
32852 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32853
32854         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
32855         test for conforming inttypes.h is both announced and cached.
32856
32857         * MODULES.html.sh (seen_modules, seen_files): New variables.
32858         (func_module): Rewrite to use a few less gnulib-tool and sed
32859         invocations.  Avoid a couple of quadratic algorithms for ...
32860         (missed_modules, missed_files): ... these, with ...
32861         (func_append, func_tmpdir): ... these new functions, from
32862         gnulib-tool.  Analogously, install traps for cleanup.
32863
32864         * tests/test-gc.c (main): Remove unused variables.
32865         * tests/test-read-file.c: Include stdlib.h, for 'free'.
32866
32867 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
32868
32869         * modules/inttostr (License): Change to LGPL.
32870
32871 2006-11-14  Eric Blake  <ebb9@byu.net>
32872
32873         * modules/tempname (License): Change to LGPL.
32874
32875 2006-11-14  Eric Blake  <ebb9@byu.net>
32876
32877         * doc/functions.texi (Function Portability): *printf functions on
32878         Cygwin now understand all POSIX size specifiers.
32879
32880 2006-11-14  Bruno Haible  <bruno@clisp.org>
32881
32882         * modules/c-ctype (License): Change to LGPL.
32883
32884 2006-11-12  Bruno Haible  <bruno@clisp.org>
32885
32886         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
32887         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
32888         for GNOME libraries, for which the include files are installed in
32889         subdirectories of $prefix/include.
32890
32891 2006-11-12  Bruno Haible  <bruno@clisp.org>
32892
32893         * m4/lib-link.m4: Require at least autoconf-2.54.
32894         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
32895         name to underscores for the --with option.
32896
32897 2006-11-13  Bruno Haible  <bruno@clisp.org>
32898
32899         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
32900         the tests directory.
32901         Reported by Ralf Wildenhues.
32902
32903 2006-11-13  Bruno Haible  <bruno@clisp.org>
32904
32905         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
32906         (func_emit_initmacro_end): Undo the override here.
32907         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
32908         Works around the famous automake error in coreutils.
32909
32910 2006-11-13  Eric Blake  <ebb9@byu.net>
32911
32912         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
32913         element, not its node.
32914
32915 2006-11-12  Bruno Haible  <bruno@clisp.org>
32916
32917         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
32918         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
32919
32920 2006-11-12  Bruno Haible  <bruno@clisp.org>
32921
32922         * gnulib-tool: New option --local-symlink.
32923         (func_usage): Document it.
32924         (lsymbolic): New variable.
32925         (func_import, func_create_testdir): If --symlink was not specified,
32926         test whether --local-symlink was specified and the file comes from
32927         the local_gnulib_dir.
32928
32929 2006-11-12  Bruno Haible  <bruno@clisp.org>
32930
32931         * gnulib-tool (func_ln): New function.
32932         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
32933
32934 2006-11-12  Bruno Haible  <bruno@clisp.org>
32935
32936         Finish support for source files in subdirectories.
32937         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
32938         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
32939         AUTOMAKE_OPTIONS.
32940         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
32941
32942 2006-11-12  Bruno Haible  <bruno@clisp.org>
32943
32944         * gnulib-tool (func_get_automake_snippet): Synthesize also an
32945         EXTRA_lib_SOURCES augmentation.
32946         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
32947
32948 2006-11-12  Jim Meyering  <jim@meyering.net>
32949
32950         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
32951         file descriptors.  This also averts a failure on systems with
32952         native openat support when a traversed directory lacks "x" access.
32953         * lib/fts_.h: Include "i-ring.h"
32954         (struct FTS) [fts_fd_ring]: New member.
32955         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
32956         (FCHDIR): Add parentheses.
32957         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
32958         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
32959         When descending, rather than simply closing the previous
32960         fts_cwd_fd value, push that file descriptor onto the ring.
32961         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
32962         (fts_open): Initialize the new fd_ring member.
32963         (fts_close): Clear the ring.
32964         (fts_safe_changedir): When possible, use our new fd_ring to skip
32965         the diropen and fstat and dev/ino comparison that would normally
32966         accompany a virtual `chdir ("..")'.
32967
32968         * modules/fts (Depends-on): Add i-ring.
32969         * modules/i-ring: New module.
32970         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
32971         * m4/i-ring.m4: New file.
32972
32973 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32974
32975         * gnulib-tool (func_create_testdir): Fix replacement of
32976         `build-aux' in configure.ac.  Run autotools in gltests
32977         subdirectory.
32978         (func_create_testdir, func_create_megatestdir, test): There is
32979         no need for '--force' in most autotool invocations in a new
32980         tree.  Actually fail the whole test if any of the tools, or the
32981         configure or make stages fail.
32982
32983         Sync from Automake.
32984         * build-aux/gnupload: Revert last change.  Add pointer to upload
32985         instructions of the GNU Maintenance Instructions.
32986         Suggestion by Karl Berry.
32987
32988 2006-11-10  Jim Meyering  <jim@meyering.net>
32989
32990         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
32991
32992 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
32993
32994         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
32995         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
32996         (bind_textdomain_codeset) [! ENABLE_NLS]:
32997         Evaluate all the arguments.  That way, callers get compatible behavior
32998         if the arguments have side effects.  Also, it avoids some GCC
32999         diagnostics in some cases; Joel E. Denny reported problems when Bison
33000         was configured with --enable-gcc-warnigs.
33001
33002 2006-11-10  Jim Meyering  <jim@meyering.net>
33003
33004         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
33005         relevant options in CFLAGS (like -O, -fno-inline) are taken into
33006         account.
33007
33008 2006-11-10  Jim Meyering  <jim@meyering.net>
33009
33010         * modules/inline: New file/module.
33011         * modules/xalloc (Files): Remove m4/inline.m4.
33012         (Depends-on): Add inline, instead.
33013         * modules/oset: Likewise.
33014         * modules/list: Likewise.
33015
33016 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
33017
33018         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
33019         Problem reported by Matthew Woehlke.
33020
33021 2006-11-09  Bruno Haible  <bruno@clisp.org>
33022
33023         * lib/tempname.c (gen_tempname): Remove variant that invokes
33024         __gen_tempname.
33025         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
33026         __gen_tempname.
33027
33028 2006-11-08  Bruno Haible  <bruno@clisp.org>
33029
33030         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
33031         to 'yes' instead of 'cross-compiling'.
33032
33033 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
33034
33035         * lib/quotearg.h (quotearg_free): New decl.
33036         * lib/quotearg.c (quotearg_free): New function.
33037         (slot0, nslots, slotvec0, slotvec):
33038         Now file-scope so that quotearg_free can get at them.
33039
33040 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33041
33042         Sync from Automake.
33043         * build-aux/gnupload: Add missing 'gnu' to example URL.
33044         Report by Karl Berry.
33045
33046 2006-11-08  Bruno Haible  <bruno@clisp.org>
33047
33048         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
33049         Suggested by Paul Eggert.
33050
33051 2006-11-08  Jim Meyering  <jim@meyering.net>
33052
33053         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
33054         It's already included if !_LIBC.
33055         (fts_safe_changedir): Add a comment.
33056
33057 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
33058
33059         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
33060         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
33061         Matthew Woehlke.
33062
33063         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
33064         definitions up, to avoid colliding with change below.
33065         (static_inline) [HAVE_INLINE]: New macro.
33066         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
33067         Provide extern decls when !HAVE_INLINE.  Do not define unless
33068         static_inline is defined, either by us or by xmalloc.c.  Use
33069         static_inline rather than static inline.
33070         (XCALLOC): Optimize sizeof(T) = 1 case.
33071         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
33072
33073 2006-11-07  Bruno Haible  <bruno@clisp.org>
33074
33075         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
33076         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
33077         AC_C_INLINE.
33078         * modules/xalloc (Files): Add m4/inline.m4.
33079
33080 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33081
33082         * README: Fix typo.
33083         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
33084         (Miscellanous Notes): ...from this.
33085
33086 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
33087
33088         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
33089         Mention that offsetof should be used instead of sizeof.
33090         From Bruno Haible.
33091
33092 2006-11-07  Bruno Haible  <bruno@clisp.org>
33093
33094         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
33095
33096 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
33097
33098         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
33099         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
33100         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
33101         (gl_tree_add_before, gl_tree_add_after):
33102         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
33103         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
33104         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
33105         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
33106         (gl_linked_add_after, gl_linked_add_at): Likewise.
33107         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
33108         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
33109         (gl_tree_add_before, gl_tree_add_after): Likewise.
33110         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
33111         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
33112         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
33113
33114 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33115
33116         * lib/gl_oset.h: Use C comment style, not C++ comment style.
33117
33118 2006-11-06  Bruno Haible  <bruno@clisp.org>
33119
33120         * m4/inline.m4: New file.
33121         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
33122         * modules/list (Files): Add m4/inline.m4.
33123         * modules/oset (Files): Likewise.
33124
33125 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
33126
33127         * lib/idcache.c: Include <stddef.h>, for offsetof.
33128         (struct userid.name): Change from char * to a flexible array member.
33129         All uses changed.
33130         * modules/idcache (Depends-on): Add flexmember.
33131
33132         * MODULES.html.sh (Core language properties): New module flexmember.
33133         * modules/flexmember, m4/flexmember.m4: New files.
33134
33135         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
33136         inline functions that are identical with the old xnmalloc_inline,
33137         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
33138         that we can avoid some unnecessary integer multiplications and
33139         divisions in the common case where the element size is known at
33140         compile time.
33141         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
33142         needed.
33143         (xnboundedmalloc): Remove.
33144         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
33145         arguments, for consistency with rest of this header.
33146         (xcharalloc): Rewrite using XNMALLOC.
33147         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
33148         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
33149         versions have been moved to lib/xalloc.h and renamed to be the
33150         non-*_inline versions.
33151         (xmalloc, xrealloc): Implement without reference to the xnmalloc
33152         and xnrealloc functions, since those functions are now inline and
33153         now call us.
33154         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
33155         renaming described above.
33156         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
33157         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
33158         captures the dependency in AC_C_INLINE.
33159
33160         New module canonicalize-lgpl, proposed by Charles Wilson in
33161         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
33162         with a few small changes afterwards.
33163         * MODULES.html.sh (File system functions): New module
33164         canonicalize-lgpl.
33165         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
33166         and canonicalize_file_name.
33167         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
33168         * modules/canonicalize-lgpl: New files.
33169
33170 2006-11-05  Bruno Haible  <bruno@clisp.org>
33171
33172         * gnulib-tool (func_import, func_create_testdir): Create directories
33173         also for files in subdirectories of lib/.
33174
33175 2006-11-05  Bruno Haible  <bruno@clisp.org>
33176
33177         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
33178         ANSI C compliant.
33179
33180 2006-11-03  Bruno Haible  <bruno@clisp.org>
33181
33182         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
33183         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
33184         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
33185         (xnboundedmalloc): New inline function.
33186         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
33187         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
33188         xmalloc.
33189         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
33190         xmalloc.
33191         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
33192         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
33193         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
33194         xmalloc.
33195         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
33196         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
33197         xmalloc.
33198         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
33199         gl_tree_add_after): Use XMALLOC instead of xmalloc.
33200         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
33201         xmalloc.
33202         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
33203         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
33204         gl_tree_add_after): Use XMALLOC instead of xmalloc.
33205         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
33206         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
33207         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
33208         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
33209
33210 2006-11-03  Bruno Haible  <bruno@clisp.org>
33211
33212         * lib/c-ctype.h [C++]: Define functions without name mangling.
33213         * lib/fwriteerror.h [C++]: Likewise.
33214         * lib/gcd.h [C++]: Likewise.
33215         * lib/linebreak.h [C++]: Likewise.
33216
33217 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
33218
33219         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
33220         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
33221         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
33222         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
33223         Check for functions and headers just once.
33224         Check for declaration of canonicalize_file_name.
33225         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
33226
33227 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
33228
33229         * gnulib-tool (func_import): Fix typo in actioncmd.
33230
33231 2006-11-02  Bruno Haible  <bruno@clisp.org>
33232
33233         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
33234         newline sequence in the Makefile.am snippet as a space, like "make"
33235         does.
33236         Reported by Roger Persson <perrog@gmail.com>.
33237
33238 2006-11-01  Bruno Haible  <bruno@clisp.org>
33239
33240         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
33241         already declared in <string.h>.
33242         * lib/strcase.h (strncasecmp): Don't declare it if yes.
33243
33244 2006-11-01  Bruno Haible  <bruno@clisp.org>
33245
33246         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
33247         * lib/strcase.h: Include <string.h>.
33248         (strcasecmp): Define to rpl_strcasecmp here.
33249
33250 2006-11-01  Bruno Haible  <bruno@clisp.org>
33251
33252         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
33253
33254 2006-11-01  Eric Blake  <ebb9@byu.net>
33255
33256         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
33257
33258         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
33259
33260 2006-10-29  Bruno Haible  <bruno@clisp.org>
33261
33262         Make it compile in C++ mode.
33263         * lib/full-write.c (full_rw): Add a cast.
33264
33265 2006-11-01  Bruno Haible  <bruno@clisp.org>
33266
33267         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
33268         be POSIX compliant.
33269         Reported by Roger Persson <perrog@gmail.com>.
33270
33271 2006-11-01  Eric Blake  <ebb9@byu.net>
33272
33273         * lib/getopt_.h: Fix comments.
33274
33275 2006-10-31  Eric Blake  <ebb9@byu.net>
33276
33277         * modules/tmpdir (Depends-on): Add sys_stat.
33278         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
33279         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
33280         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
33281         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
33282         tempname.
33283
33284 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
33285
33286         Avoid some C++ diagnostics reported by Bruno Haible.
33287         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
33288         xmalloc.
33289         (quotearg_alloc): Use xcharalloc rather than xmalloc.
33290         (struct slotvec): Move to top level.
33291         (quotearg_n_options): Rewrite to avoid xmalloc.
33292         * lib/xalloc.h (xcharalloc): New function.
33293         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
33294         [defined __cplusplus]: Add function template that provides result
33295         type propagation.  This part of the change is from Bruno Haible.
33296
33297 2006-10-29  Bruno Haible  <bruno@clisp.org>
33298
33299         Make it compile in C++ mode.
33300         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
33301         * lib/strnlen1.c (strnlen1): Cast memchr result.
33302         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
33303         * lib/clean-temp.c (string_equals, string_hash): Add casts.
33304         (create_temp_dir): Rename local variable 'template'.
33305         (compile_csharp_using_sscli): Add cast.
33306         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
33307         * lib/findprog.c (find_in_path): Likewise.
33308         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
33309         * lib/wait-process.c (register_slave_subprocess): Likewise.
33310
33311 2006-10-22  Bruno Haible  <bruno@clisp.org>
33312
33313         * modules/tsearch: New file.
33314         * lib/tsearch.h: New file.
33315         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
33316         * m4/tsearch.m4: New file.
33317         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
33318
33319 2006-10-29  Eric Blake  <ebb9@byu.net>
33320
33321         * lib/arcfour.c: Assume config.h.
33322         * lib/arctwo.c: Likewise.
33323         * lib/base64.c: Likewise.
33324         * lib/check-version.c: Likewise.
33325         * lib/crc.c: Likewise.
33326         * lib/des.c: Likewise.
33327         * lib/gc-gnulib.c: Likewise.
33328         * lib/gc-libgcrypt.c: Likewise.
33329         * lib/gc-pbkdf2-sha1.c: Likewise.
33330         * lib/getaddrinfo.c: Likewise.
33331         * lib/getdelim.c: Likewise.
33332         * lib/getline.c: Likewise.
33333         * lib/hmac-md5.c: Likewise.
33334         * lib/hmac-sha1.c: Likewise.
33335         * lib/iconvme.c: Likewise.
33336         * lib/md2.c: Likewise.
33337         * lib/md4.c: Likewise.
33338         * lib/memxor.c: Likewise.
33339         * lib/read-file.c: Likewise.
33340         * lib/readline.c: Likewise.
33341         * lib/rijndael-alg-fst.c: Likewise.
33342         * lib/rijndael-api-fst.c: Likewise.
33343         * lib/xgetdomainname.c: Likewise.
33344
33345 2006-10-28  Eric Blake  <ebb9@byu.net>
33346
33347         * lib/xstrndup.c: Assume config.h.
33348
33349 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
33350
33351         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
33352         stat-macros.h is now for our own macros, whereas stat_h is for
33353         macros in the <sys/stat.h> name space.
33354         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
33355         (STAT_MACROS_H): Remove.
33356         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
33357         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
33358         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
33359         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
33360         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
33361         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
33362         Move these macros to ...
33363         * lib/stat_.h: here.  Don't include stat-macros.h.
33364         * lib/canonicalize.c: Don't include stat-macros.h.
33365         * lib/chown.c: Likewise.
33366         * lib/euidaccess.c: Likewise.
33367         * lib/file-type.c: Likewise.
33368         * lib/filemode.c: Likewise.
33369         * lib/glob.c: Likewise.
33370         * lib/isapipe.c: Likewise.
33371         * lib/lchown.c: Likewise.
33372         * lib/lstat.c: Likewise.
33373         * lib/mkdir-p.c: Likewise.
33374         * lib/rmdir.c: Likewise.
33375         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
33376         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
33377         unless mkdir isn't declared, to speed up 'configure'.
33378         Always create sys/stat.h, since it's unlikely any real sys/stat.h
33379         would define all the S_* symbols.
33380         * modules/canonicalize (Depends-on):
33381         Depend on sys_stat, not stat-macros.
33382         * modules/chown: Likewise.
33383         * modules/euidaccess: Likewise.
33384         * modules/filemode: Likewise.
33385         * modules/file-type: Likewise.
33386         * modules/glob: Likewise.
33387         * modules/isapipe: Likewise.
33388         * modules/lchown: Likewise.
33389         * modules/lstat: Likewise.
33390         * modules/mkancesdirs: Likewise.
33391         * modules/rmdir: Likewise.
33392         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
33393         * modules/modechange: Likewise.
33394         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
33395         (configure.ac): Remove gl_STAT_MACROS.
33396         * modules/sys_stat (Depends-on): Remove stat-macros.
33397
33398 2006-10-27  Bruno Haible  <bruno@clisp.org>
33399
33400         * m4/signed.m4: Remove file.
33401         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
33402         invocation.
33403         * modules/vasnprintf (Files): Remove m4/signed.m4.
33404
33405 2006-10-27  Bruno Haible  <bruno@clisp.org>
33406
33407         Update to GNU gettext 0.16.
33408         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
33409         m4/inttypes-h.m4, m4/signed.m4.
33410         * m4/gettext.m4: Update to GNU gettext 0.16.
33411         * m4/intl.m4: New file, from GNU gettext.
33412         * m4/intldir.m4: New file, from GNU gettext.
33413         * config/srclist.txt: Update
33414
33415 2006-10-27  Eric Blake  <ebb9@byu.net>
33416
33417         * MODULES.html.sh: Document tempname.
33418         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
33419         dependencies.
33420         (Files): Move lib/tempname.c...
33421         * modules/tempname: ...to this new module.
33422         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
33423         (gl_PREREQ_TEMPNAME): Move...
33424         * m4/tempname.m4: ...to this new file.
33425         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
33426         * modules/sys_stat (Depends-on): Add stat-macros.
33427         * lib/stat_.h (includes): Pick up stat macros.
33428         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
33429         if stat macros are broken.
33430         * lib/tempname.c (includes): No need to include "stat-macros.h".
33431         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
33432         (direxists, __path_search) [!_LIBC]: Don't compile these in
33433         gnulib; the tmpdir module covers that.
33434         * lib/tempname.h: New file.
33435
33436 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
33437
33438         * COPYING: Explain how gnulib-tool converts licence headers.
33439         Almost all wording by Eric Blake.
33440
33441 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
33442
33443         * lib/mbchar.h (is_basic_table): Make read-only.
33444         * lib/mbchar.c (is_basic_table): Likewise.
33445         Reported by John Darrington.
33446
33447 2006-10-25  Bruno Haible  <bruno@clisp.org>
33448
33449         * lib/progname.h (set_program_name): Undefine before defining.
33450
33451 2006-10-25  Bruno Haible  <bruno@clisp.org>
33452
33453         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
33454         false for non-gcc C++ compilers.
33455         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
33456
33457 2006-10-24  Bruno Haible  <bruno@clisp.org>
33458
33459         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
33460         iconv implementations like Irix iconv.
33461
33462 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
33463
33464         * modules/vararrays: New file.
33465         * m4/vararrays.m4: New file, taken from diffutils.
33466         * MODULES.html.sh: New module vararrays.
33467
33468 2006-10-24  Karl Berry  <karl@gnu.org>
33469
33470         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
33471         Don't call GNU Unix.
33472
33473 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33474
33475         * users.txt: Add Libtool.
33476
33477         Sync from Libtool:
33478
33479         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
33480
33481         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
33482         to gnulib's policy of including config.h unconditionally.
33483
33484 2006-10-24  Bruno Haible  <bruno@clisp.org>
33485
33486         * modules/wcwidth (Files): Add m4/wint_t.m4.
33487         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
33488         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
33489
33490 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
33491
33492         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
33493         to pacify GCC with some -W flags enabled.  Problem reported by
33494         Bruno Haible.
33495
33496 2006-10-24  Jim Meyering  <jim@meyering.net>
33497
33498         * MODULES.html.sh: Remove uinttostr.  It's not a module.
33499         Reported by Karl Berry.
33500
33501 2006-10-23  Bruno Haible  <bruno@clisp.org>
33502
33503         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
33504
33505 2006-10-24  Bruno Haible  <bruno@clisp.org>
33506
33507         * lib/gl_list.h: Use C comment style, not C++ comment style.
33508
33509 2006-10-23  Eric Blake  <ebb9@byu.net>
33510
33511         * lib/getaddrinfo.c (includes): Add missing include.
33512
33513 2006-10-23  Bruno Haible  <bruno@clisp.org>
33514             Paul Eggert  <eggert@cs.ucla.edu>
33515
33516         Ability to rename obstack_free.
33517         * lib/obstack.h (__obstack_free): New macro. Declare instead of
33518         obstack_free.
33519         (obstack_free): Invoke the __obstack_free macro.
33520         * lib/obstack.c (obstack_free): Use __obstack_free macro.
33521
33522 2006-10-23  Bruno Haible  <bruno@clisp.org>
33523             Paul Eggert  <eggert@cs.ucla.edu>
33524
33525         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
33526         __argc, __argv from the declaration. (They are defined as macros on
33527         mingw.)
33528
33529 2006-10-22  Bruno Haible  <bruno@clisp.org>
33530
33531         * doc/gnulib-intro.texi: New file.
33532         * doc/gnulib.texi: Include it.
33533
33534 2006-10-21  Bruno Haible  <bruno@clisp.org>
33535
33536         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
33537         "Introduction", "Miscellanous Notes", "Particular Modules".
33538
33539 2006-10-21  Bruno Haible  <bruno@clisp.org>
33540
33541         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33542         Change mostlyclean-local rule to avoid sh syntax error from bash
33543         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
33544
33545 2006-10-23  Jim Meyering  <jim@meyering.net>
33546
33547         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
33548         in place of snprintf.
33549
33550         * modules/inttostr (Files): Add lib/uinttostr.c.
33551         * lib/uinttostr.c (inttostr): New file/function.
33552         * lib/inttostr.h (uinttostr): Declare.
33553         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
33554         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
33555         Add uinttostr.
33556         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
33557
33558 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
33559
33560         * lib/canonicalize.c (ELOOP): Define if not already defined.
33561         Problem reported by Bruno Haible in
33562         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
33563
33564 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
33565
33566         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
33567         Problem reported by Perry Smith and Ville Laurikari.
33568
33569         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
33570         uses.
33571
33572 2006-10-19  Bruno Haible  <bruno@clisp.org>
33573
33574         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
33575         for mingw.
33576
33577 2006-10-19  Bruno Haible  <bruno@clisp.org>
33578
33579         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
33580         Needed for mingw.
33581
33582 2006-10-19  Bruno Haible  <bruno@clisp.org>
33583
33584         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
33585
33586 2006-10-19  Bruno Haible  <bruno@clisp.org>
33587
33588         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
33589         it.
33590
33591 2006-10-19  Bruno Haible  <bruno@clisp.org>
33592
33593         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
33594         invocation.
33595
33596 2006-10-19  Bruno Haible  <bruno@clisp.org>
33597
33598         * gnulib-tool (func_create_testdir): Don't include ftruncate and
33599         mountlist by default.
33600
33601 2006-10-16  Bruno Haible  <bruno@clisp.org>
33602
33603         * lib/c-strstr.c: Include c-strstr.h.
33604
33605 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
33606
33607         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
33608         in a slash.
33609
33610 2006-10-18  Bruno Haible  <bruno@clisp.org>
33611
33612         * lib/lock.h [C++]: Wrap definitions in extern "C".
33613
33614 2006-10-18  Bruno Haible  <bruno@clisp.org>
33615
33616         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
33617         gl_LIBOBJS list.
33618
33619 2006-10-18  Bruno Haible  <bruno@clisp.org>
33620
33621         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
33622
33623 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
33624
33625         * lib/xstrtol.h: Include gettext.h.
33626         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
33627         Problem reported by Eric Blake.
33628         * modules/xstrtol (Depends-on): Add gettext-h.
33629
33630 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
33631
33632         * lib/strftime.c (advance): New macro.
33633         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
33634         incomplete type, so you can't add 0 to it.  Problem and patch
33635         reported by Eelco Dolstra for dietlibc.
33636
33637 2006-10-18  Jim Meyering  <jim@meyering.net>
33638
33639         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
33640         type for a local, and rename it: s/up/user_proc/.
33641
33642 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
33643
33644         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
33645         READ_UTMP_USER_PROCESS.
33646         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
33647
33648 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
33649
33650         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
33651         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
33652
33653 2006-10-17  Eric Blake  <ebb9@byu.net>
33654
33655         * lib/sigprocmask.c (sigprocmask): Fix typo.
33656
33657         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
33658
33659         * modules/clean-temp (Makefile.am): Don't add to make output...
33660         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
33661         config.h.
33662
33663 2006-10-17  Bruno Haible  <bruno@clisp.org>
33664
33665         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
33666         differently if DEFAULT_TEXT_DOMAIN is set.
33667
33668 2006-10-16  Bruno Haible  <bruno@clisp.org>
33669
33670         * lib/clean-temp.c: Include fwriteerror.h.
33671
33672 2006-10-16  Bruno Haible  <bruno@clisp.org>
33673
33674         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
33675
33676 2006-10-16  Bruno Haible  <bruno@clisp.org>
33677
33678         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
33679         * lib/sigprocmask.h: Include <sys/types.h>.
33680         (sigset_t): Use the system's definition if present.
33681
33682 2006-10-17  Eric Blake  <ebb9@byu.net>
33683
33684         * lib/xvasprintf.c (includes): Assume config.h.
33685         * lib/xasprintf.c (includes): Likewise.
33686
33687 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33688
33689         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
33690         at least as wide as intmax_t.
33691
33692 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
33693
33694         (Imported from Automake.)
33695         * build-aux/gnupload: Update to version 1.1 of directive file.
33696
33697 2006-10-16  Eric Blake  <ebb9@byu.net>
33698
33699         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
33700         match Automake 1.10a.
33701
33702 2006-10-14  Bruno Haible  <bruno@clisp.org>
33703
33704         * modules/sigprocmask: New file.
33705         * lib/sigprocmask.h: New file.
33706         * lib/sigprocmask.c: New file.
33707         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
33708         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
33709         request sigprocmask.o.
33710         (gl_PREREQ_SIGPROCMASK): New macro.
33711         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
33712         (Depends-on): Add sigprocmask.
33713         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
33714         gt_SIGNALBLOCKING. Test for 'raise' only once.
33715         * lib/fatal-signal.c: Include sigprocmask.h.
33716         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
33717         unblock_fatal_signals): Define always.
33718         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
33719         sigprocmask.
33720
33721 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
33722
33723         Sync from Automake.
33724         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
33725         which incorrectly sets the mode of an existing destination
33726         directory.  In some cases the unpatched install-sh could do the
33727         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
33728         system.  We hope this is rare in practice, but it's clearly worth
33729         fixing.  Problem reported by Alex Unleashed in
33730         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
33731         Also, don't bother to check for -m bugs unless we're using -m;
33732         suggested by Stepan Kasal.
33733
33734 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33735
33736         Sync from Automake.
33737         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
33738         `-c' flag, so they appear at the same position as in %FASTDEP%
33739         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
33740         which ignores unknown options only after the first non-option.
33741         Bug report against M4 by Nelson H. F. Beebe.
33742
33743 2006-10-13  Jim Meyering  <jim@meyering.net>
33744
33745         Fix a bug in yesterday's change.
33746         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
33747         p->fts_statp->st_dev would be used uninitialized.
33748         Ensures that we always call fts_stat on the very first entry.
33749         Miklos Szeredi reported that find -xdev stopped working.
33750
33751 2006-10-12  Bruno Haible  <bruno@clisp.org>
33752
33753         * gnulib-tool (func_get_automake_snippet): Append an automatically
33754         computed EXTRA_DIST augmentation.
33755         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
33756         * modules/alloca-opt (Makefile.am): Likewise.
33757         * modules/allocsa (Makefile.am): Likewise.
33758         * modules/arcfour (Makefile.am): Likewise.
33759         * modules/arctwo (Makefile.am): Likewise.
33760         * modules/argmatch (Makefile.am): Likewise.
33761         * modules/argz (Makefile.am): Likewise.
33762         * modules/atexit (Makefile.am): Likewise.
33763         * modules/backupfile (Makefile.am): Likewise.
33764         * modules/byteswap (Makefile.am): Likewise.
33765         * modules/c-strtod (Makefile.am): Likewise.
33766         * modules/c-strtold (Makefile.am): Likewise.
33767         * modules/calloc (Makefile.am): Likewise.
33768         * modules/canon-host (Makefile.am): Likewise.
33769         * modules/canonicalize (Makefile.am): Likewise.
33770         * modules/chdir-long (Makefile.am): Likewise.
33771         * modules/chdir-safer (Makefile.am): Likewise.
33772         * modules/check-version (Makefile.am): Likewise.
33773         * modules/chown (Makefile.am): Likewise.
33774         * modules/cloexec (Makefile.am): Likewise.
33775         * modules/close-stream (Makefile.am): Likewise.
33776         * modules/closeout (Makefile.am): Likewise.
33777         * modules/crc (Makefile.am): Likewise.
33778         * modules/csharpexec (Makefile.am): Likewise.
33779         * modules/cycle-check (Makefile.am): Likewise.
33780         * modules/des (Makefile.am): Likewise.
33781         * modules/dev-ino (Makefile.am): Likewise.
33782         * modules/dirfd (Makefile.am): Likewise.
33783         * modules/dirname (Makefile.am): Likewise.
33784         * modules/dup2 (Makefile.am): Likewise.
33785         * modules/eealloc (Makefile.am): Likewise.
33786         * modules/error (Makefile.am): Likewise.
33787         * modules/euidaccess (Makefile.am): Likewise.
33788         * modules/exclude (Makefile.am): Likewise.
33789         * modules/exitfail (Makefile.am): Likewise.
33790         * modules/fcntl-safer (Makefile.am): Likewise.
33791         * modules/fcntl (Makefile.am): Likewise.
33792         * modules/file-type (Makefile.am): Likewise.
33793         * modules/fileblocks (Makefile.am): Likewise.
33794         * modules/filemode (Makefile.am): Likewise.
33795         * modules/filenamecat (Makefile.am): Likewise.
33796         * modules/fnmatch (Makefile.am): Likewise.
33797         * modules/fopen-safer (Makefile.am): Likewise.
33798         * modules/fpending (Makefile.am): Likewise.
33799         * modules/fprintftime (Makefile.am): Likewise.
33800         * modules/free (Makefile.am): Likewise.
33801         * modules/fsusage (Makefile.am): Likewise.
33802         * modules/ftruncate (Makefile.am): Likewise.
33803         * modules/fts (Makefile.am): Likewise.
33804         * modules/gc-arcfour (Makefile.am): Likewise.
33805         * modules/gc-des (Makefile.am): Likewise.
33806         * modules/gc-hmac-md5 (Makefile.am): Likewise.
33807         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
33808         * modules/gc-md4 (Makefile.am): Likewise.
33809         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
33810         * modules/gc-sha1 (Makefile.am): Likewise.
33811         * modules/gc (Makefile.am): Likewise.
33812         * modules/getaddrinfo (Makefile.am): Likewise.
33813         * modules/getcwd (Makefile.am): Likewise.
33814         * modules/getdelim (Makefile.am): Likewise.
33815         * modules/getdomainname (Makefile.am): Likewise.
33816         * modules/getgroups (Makefile.am): Likewise.
33817         * modules/gethostname (Makefile.am): Likewise.
33818         * modules/gethrxtime (Makefile.am): Likewise.
33819         * modules/getline (Makefile.am): Likewise.
33820         * modules/getloadavg (Makefile.am): Likewise.
33821         * modules/getlogin_r (Makefile.am): Likewise.
33822         * modules/getndelim2 (Makefile.am): Likewise.
33823         * modules/getopt (Makefile.am): Likewise.
33824         * modules/getpagesize (Makefile.am): Likewise.
33825         * modules/getpass-gnu (Makefile.am): Likewise.
33826         * modules/getpass (Makefile.am): Likewise.
33827         * modules/getsubopt (Makefile.am): Likewise.
33828         * modules/gettime (Makefile.am): Likewise.
33829         * modules/gettimeofday (Makefile.am): Likewise.
33830         * modules/getugroups (Makefile.am): Likewise.
33831         * modules/getusershell (Makefile.am): Likewise.
33832         * modules/glob (Makefile.am): Likewise.
33833         * modules/group-member (Makefile.am): Likewise.
33834         * modules/hard-locale (Makefile.am): Likewise.
33835         * modules/hash (Makefile.am): Likewise.
33836         * modules/hmac-md5 (Makefile.am): Likewise.
33837         * modules/hmac-sha1 (Makefile.am): Likewise.
33838         * modules/human (Makefile.am): Likewise.
33839         * modules/idcache (Makefile.am): Likewise.
33840         * modules/imaxabs (Makefile.am): Likewise.
33841         * modules/imaxdiv (Makefile.am): Likewise.
33842         * modules/inet_ntop (Makefile.am): Likewise.
33843         * modules/inet_pton (Makefile.am): Likewise.
33844         * modules/intprops (Makefile.am): Likewise.
33845         * modules/inttostr (Makefile.am): Likewise.
33846         * modules/inttypes (Makefile.am): Likewise.
33847         * modules/isapipe (Makefile.am): Likewise.
33848         * modules/javaversion (Makefile.am): Likewise.
33849         * modules/lchmod (Makefile.am): Likewise.
33850         * modules/lchown (Makefile.am): Likewise.
33851         * modules/localcharset (Makefile.am): Likewise.
33852         * modules/long-options (Makefile.am): Likewise.
33853         * modules/lstat (Makefile.am): Likewise.
33854         * modules/malloc (Makefile.am): Likewise.
33855         * modules/mathl (Makefile.am): Likewise.
33856         * modules/mbchar (Makefile.am): Likewise.
33857         * modules/md2 (Makefile.am): Likewise.
33858         * modules/md4 (Makefile.am): Likewise.
33859         * modules/md5 (Makefile.am): Likewise.
33860         * modules/memcasecmp (Makefile.am): Likewise.
33861         * modules/memchr (Makefile.am): Likewise.
33862         * modules/memcmp (Makefile.am): Likewise.
33863         * modules/memcoll (Makefile.am): Likewise.
33864         * modules/memcpy (Makefile.am): Likewise.
33865         * modules/memmem (Makefile.am): Likewise.
33866         * modules/memmove (Makefile.am): Likewise.
33867         * modules/mempcpy (Makefile.am): Likewise.
33868         * modules/memrchr (Makefile.am): Likewise.
33869         * modules/memset (Makefile.am): Likewise.
33870         * modules/memxor (Makefile.am): Likewise.
33871         * modules/mkancesdirs (Makefile.am): Likewise.
33872         * modules/mkdir-p (Makefile.am): Likewise.
33873         * modules/mkdir (Makefile.am): Likewise.
33874         * modules/mkdtemp (Makefile.am): Likewise.
33875         * modules/mkstemp (Makefile.am): Likewise.
33876         * modules/mktime (Makefile.am): Likewise.
33877         * modules/modechange (Makefile.am): Likewise.
33878         * modules/mountlist (Makefile.am): Likewise.
33879         * modules/nanosleep (Makefile.am): Likewise.
33880         * modules/obstack (Makefile.am): Likewise.
33881         * modules/openat (Makefile.am): Likewise.
33882         * modules/pagealign_alloc (Makefile.am): Likewise.
33883         * modules/pathmax (Makefile.am): Likewise.
33884         * modules/physmem (Makefile.am): Likewise.
33885         * modules/poll (Makefile.am): Likewise.
33886         * modules/posixtm (Makefile.am): Likewise.
33887         * modules/posixver (Makefile.am): Likewise.
33888         * modules/putenv (Makefile.am): Likewise.
33889         * modules/quote (Makefile.am): Likewise.
33890         * modules/quotearg (Makefile.am): Likewise.
33891         * modules/raise (Makefile.am): Likewise.
33892         * modules/read-file (Makefile.am): Likewise.
33893         * modules/readline (Makefile.am): Likewise.
33894         * modules/readlink (Makefile.am): Likewise.
33895         * modules/readtokens (Makefile.am): Likewise.
33896         * modules/readutmp (Makefile.am): Likewise.
33897         * modules/realloc (Makefile.am): Likewise.
33898         * modules/regex (Makefile.am): Likewise.
33899         * modules/rename-dest-slash (Makefile.am): Likewise.
33900         * modules/rename (Makefile.am): Likewise.
33901         * modules/rijndael (Makefile.am): Likewise.
33902         * modules/rmdir (Makefile.am): Likewise.
33903         * modules/rpmatch (Makefile.am): Likewise.
33904         * modules/safe-read (Makefile.am): Likewise.
33905         * modules/safe-write (Makefile.am): Likewise.
33906         * modules/same-inode (Makefile.am): Likewise.
33907         * modules/same (Makefile.am): Likewise.
33908         * modules/save-cwd (Makefile.am): Likewise.
33909         * modules/savedir (Makefile.am): Likewise.
33910         * modules/setenv (Makefile.am): Likewise.
33911         * modules/settime (Makefile.am): Likewise.
33912         * modules/sha1 (Makefile.am): Likewise.
33913         * modules/sig2str (Makefile.am): Likewise.
33914         * modules/snprintf (Makefile.am): Likewise.
33915         * modules/stat-macros (Makefile.am): Likewise.
33916         * modules/stat-time (Makefile.am): Likewise.
33917         * modules/stdbool (Makefile.am): Likewise.
33918         * modules/stdint (Makefile.am): Likewise.
33919         * modules/stdlib-safer (Makefile.am): Likewise.
33920         * modules/stpcpy (Makefile.am): Likewise.
33921         * modules/stpncpy (Makefile.am): Likewise.
33922         * modules/strcase (Makefile.am): Likewise.
33923         * modules/strcasestr (Makefile.am): Likewise.
33924         * modules/strchrnul (Makefile.am): Likewise.
33925         * modules/strcspn (Makefile.am): Likewise.
33926         * modules/strdup (Makefile.am): Likewise.
33927         * modules/strerror (Makefile.am): Likewise.
33928         * modules/strftime (Makefile.am): Likewise.
33929         * modules/strndup (Makefile.am): Likewise.
33930         * modules/strnlen (Makefile.am): Likewise.
33931         * modules/strpbrk (Makefile.am): Likewise.
33932         * modules/strsep (Makefile.am): Likewise.
33933         * modules/strstr (Makefile.am): Likewise.
33934         * modules/strtod (Makefile.am): Likewise.
33935         * modules/strtoimax (Makefile.am): Likewise.
33936         * modules/strtok_r (Makefile.am): Likewise.
33937         * modules/strtol (Makefile.am): Likewise.
33938         * modules/strtoll (Makefile.am): Likewise.
33939         * modules/strtoul (Makefile.am): Likewise.
33940         * modules/strtoull (Makefile.am): Likewise.
33941         * modules/strtoumax (Makefile.am): Likewise.
33942         * modules/strverscmp (Makefile.am): Likewise.
33943         * modules/sys_socket (Makefile.am): Likewise.
33944         * modules/sys_stat (Makefile.am): Likewise.
33945         * modules/sysexits (Makefile.am): Likewise.
33946         * modules/time_r (Makefile.am): Likewise.
33947         * modules/timegm (Makefile.am): Likewise.
33948         * modules/timespec (Makefile.am): Likewise.
33949         * modules/tmpfile-safer (Makefile.am): Likewise.
33950         * modules/trim (Makefile.am): Likewise.
33951         * modules/unistd-safer (Makefile.am): Likewise.
33952         * modules/unlinkdir (Makefile.am): Likewise.
33953         * modules/unlocked-io (Makefile.am): Likewise.
33954         * modules/userspec (Makefile.am): Likewise.
33955         * modules/utime (Makefile.am): Likewise.
33956         * modules/utimecmp (Makefile.am): Likewise.
33957         * modules/utimens (Makefile.am): Likewise.
33958         * modules/vasnprintf (Makefile.am): Likewise.
33959         * modules/vasprintf (Makefile.am): Likewise.
33960         * modules/vsnprintf (Makefile.am): Likewise.
33961         * modules/xalloc (Makefile.am): Likewise.
33962         * modules/xgetcwd (Makefile.am): Likewise.
33963         * modules/xnanosleep (Makefile.am): Likewise.
33964         * modules/xreadlink (Makefile.am): Likewise.
33965         * modules/xstrtod (Makefile.am): Likewise.
33966         * modules/xstrtol (Makefile.am): Likewise.
33967         * modules/xstrtold (Makefile.am): Likewise.
33968         * modules/yesno (Makefile.am): Likewise.
33969         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
33970
33971 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
33972
33973         * modules/error (Makefile.am): Distribute files through
33974         EXTRA_DIST, not lib_SOURCES.
33975
33976 2006-10-12  Eric Blake  <ebb9@byu.net>
33977
33978         * modules/error (Makefile.am): Distribute files in /lib.
33979         * modules/obstack (Makefile.am): Likewise.
33980
33981 2006-10-12  Bruno Haible  <bruno@clisp.org>
33982
33983         * modules/acl (Makefile.am): Distribute all files in lib/ through
33984         EXTRA_DIST.
33985         * modules/arcfour (Makefile.am): Likewise.
33986         * modules/arctwo (Makefile.am): Likewise.
33987         * modules/argmatch (Makefile.am): Likewise.
33988         * modules/argz (Makefile.am): Likewise.
33989         * modules/atexit (Makefile.am): Likewise.
33990         * modules/backupfile (Makefile.am): Likewise.
33991         * modules/c-strtod (Makefile.am): Likewise.
33992         * modules/c-strtold (Makefile.am): Likewise.
33993         * modules/calloc (Makefile.am): Likewise.
33994         * modules/canon-host (Makefile.am): Likewise.
33995         * modules/canonicalize (Makefile.am): Likewise.
33996         * modules/chdir-long (Makefile.am): Likewise.
33997         * modules/chdir-safer (Makefile.am): Likewise.
33998         * modules/check-version (Makefile.am): Likewise.
33999         * modules/chown (Makefile.am): Likewise.
34000         * modules/cloexec (Makefile.am): Likewise.
34001         * modules/close-stream (Makefile.am): Likewise.
34002         * modules/closeout (Makefile.am): Likewise.
34003         * modules/crc (Makefile.am): Likewise.
34004         * modules/cycle-check (Makefile.am): Likewise.
34005         * modules/des (Makefile.am): Likewise.
34006         * modules/dirfd (Makefile.am): Likewise.
34007         * modules/dirname (Makefile.am): Likewise.
34008         * modules/dup2 (Makefile.am): Likewise.
34009         * modules/euidaccess (Makefile.am): Likewise.
34010         * modules/exclude (Makefile.am): Likewise.
34011         * modules/exitfail (Makefile.am): Likewise.
34012         * modules/fcntl-safer (Makefile.am): Likewise.
34013         * modules/file-type (Makefile.am): Likewise.
34014         * modules/fileblocks (Makefile.am): Likewise.
34015         * modules/filemode (Makefile.am): Likewise.
34016         * modules/filenamecat (Makefile.am): Likewise.
34017         * modules/fnmatch (Makefile.am): Likewise.
34018         * modules/fopen-safer (Makefile.am): Likewise.
34019         * modules/fpending (Makefile.am): Likewise.
34020         * modules/fprintftime (Makefile.am): Likewise.
34021         * modules/free (Makefile.am): Likewise.
34022         * modules/fsusage (Makefile.am): Likewise.
34023         * modules/ftruncate (Makefile.am): Likewise.
34024         * modules/fts (Makefile.am): Likewise.
34025         * modules/gc (Makefile.am): Likewise.
34026         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
34027         * modules/getaddrinfo (Makefile.am): Likewise.
34028         * modules/getcwd (Makefile.am): Likewise.
34029         * modules/getdelim (Makefile.am): Likewise.
34030         * modules/getdomainname (Makefile.am): Likewise.
34031         * modules/getgroups (Makefile.am): Likewise.
34032         * modules/gethostname (Makefile.am): Likewise.
34033         * modules/gethrxtime (Makefile.am): Likewise.
34034         * modules/getline (Makefile.am): Likewise.
34035         * modules/getloadavg (Makefile.am): Likewise.
34036         * modules/getlogin_r (Makefile.am): Likewise.
34037         * modules/getopt (Makefile.am): Likewise.
34038         * modules/getpass (Makefile.am): Likewise.
34039         * modules/getpass-gnu (Makefile.am): Likewise.
34040         * modules/getsubopt (Makefile.am): Likewise.
34041         * modules/gettime (Makefile.am): Likewise.
34042         * modules/gettimeofday (Makefile.am): Likewise.
34043         * modules/getugroups (Makefile.am): Likewise.
34044         * modules/getusershell (Makefile.am): Likewise.
34045         * modules/glob (Makefile.am): Likewise.
34046         * modules/group-member (Makefile.am): Likewise.
34047         * modules/hard-locale (Makefile.am): Likewise.
34048         * modules/hash (Makefile.am): Likewise.
34049         * modules/hmac-md5 (Makefile.am): Likewise.
34050         * modules/hmac-sha1 (Makefile.am): Likewise.
34051         * modules/human (Makefile.am): Likewise.
34052         * modules/idcache (Makefile.am): Likewise.
34053         * modules/imaxabs (Makefile.am): Likewise.
34054         * modules/imaxdiv (Makefile.am): Likewise.
34055         * modules/inet_ntop (Makefile.am): Likewise.
34056         * modules/inet_pton (Makefile.am): Likewise.
34057         * modules/inttostr (Makefile.am): Likewise.
34058         * modules/isapipe (Makefile.am): Likewise.
34059         * modules/lchown (Makefile.am): Likewise.
34060         * modules/long-options (Makefile.am): Likewise.
34061         * modules/lstat (Makefile.am): Likewise.
34062         * modules/malloc (Makefile.am): Likewise.
34063         * modules/mathl (Makefile.am): Likewise.
34064         * modules/mbchar (Makefile.am): Likewise.
34065         * modules/md2 (Makefile.am): Likewise.
34066         * modules/md4 (Makefile.am): Likewise.
34067         * modules/md5 (Makefile.am): Likewise.
34068         * modules/memcasecmp (Makefile.am): Likewise.
34069         * modules/memchr (Makefile.am): Likewise.
34070         * modules/memcmp (Makefile.am): Likewise.
34071         * modules/memcoll (Makefile.am): Likewise.
34072         * modules/memcpy (Makefile.am): Likewise.
34073         * modules/memmem (Makefile.am): Likewise.
34074         * modules/memmove (Makefile.am): Likewise.
34075         * modules/mempcpy (Makefile.am): Likewise.
34076         * modules/memrchr (Makefile.am): Likewise.
34077         * modules/memset (Makefile.am): Likewise.
34078         * modules/memxor (Makefile.am): Likewise.
34079         * modules/mkancesdirs (Makefile.am): Likewise.
34080         * modules/mkdir (Makefile.am): Likewise.
34081         * modules/mkdir-p (Makefile.am): Likewise.
34082         * modules/mkdtemp (Makefile.am): Likewise.
34083         * modules/mkstemp (Makefile.am): Likewise.
34084         * modules/mktime (Makefile.am): Likewise.
34085         * modules/modechange (Makefile.am): Likewise.
34086         * modules/mountlist (Makefile.am): Likewise.
34087         * modules/nanosleep (Makefile.am): Likewise.
34088         * modules/openat (Makefile.am): Likewise.
34089         * modules/pagealign_alloc (Makefile.am): Likewise.
34090         * modules/physmem (Makefile.am): Likewise.
34091         * modules/poll (Makefile.am): Likewise.
34092         * modules/posixtm (Makefile.am): Likewise.
34093         * modules/posixver (Makefile.am): Likewise.
34094         * modules/putenv (Makefile.am): Likewise.
34095         * modules/quote (Makefile.am): Likewise.
34096         * modules/quotearg (Makefile.am): Likewise.
34097         * modules/raise (Makefile.am): Likewise.
34098         * modules/read-file (Makefile.am): Likewise.
34099         * modules/readline (Makefile.am): Likewise.
34100         * modules/readlink (Makefile.am): Likewise.
34101         * modules/readtokens (Makefile.am): Likewise.
34102         * modules/readutmp (Makefile.am): Likewise.
34103         * modules/realloc (Makefile.am): Likewise.
34104         * modules/regex (Makefile.am): Likewise.
34105         * modules/rename (Makefile.am): Likewise.
34106         * modules/rename-dest-slash (Makefile.am): Likewise.
34107         * modules/rijndael (Makefile.am): Likewise.
34108         * modules/rmdir (Makefile.am): Likewise.
34109         * modules/rpmatch (Makefile.am): Likewise.
34110         * modules/safe-read (Makefile.am): Likewise.
34111         * modules/safe-write (Makefile.am): Likewise.
34112         * modules/same (Makefile.am): Likewise.
34113         * modules/save-cwd (Makefile.am): Likewise.
34114         * modules/savedir (Makefile.am): Likewise.
34115         * modules/setenv (Makefile.am): Likewise.
34116         * modules/settime (Makefile.am): Likewise.
34117         * modules/sha1 (Makefile.am): Likewise.
34118         * modules/sig2str (Makefile.am): Likewise.
34119         * modules/snprintf (Makefile.am): Likewise.
34120         * modules/stdlib-safer (Makefile.am): Likewise.
34121         * modules/stpcpy (Makefile.am): Likewise.
34122         * modules/stpncpy (Makefile.am): Likewise.
34123         * modules/strcase (Makefile.am): Likewise.
34124         * modules/strcasestr (Makefile.am): Likewise.
34125         * modules/strchrnul (Makefile.am): Likewise.
34126         * modules/strcspn (Makefile.am): Likewise.
34127         * modules/strdup (Makefile.am): Likewise.
34128         * modules/strerror (Makefile.am): Likewise.
34129         * modules/strftime (Makefile.am): Likewise.
34130         * modules/strndup (Makefile.am): Likewise.
34131         * modules/strnlen (Makefile.am): Likewise.
34132         * modules/strpbrk (Makefile.am): Likewise.
34133         * modules/strsep (Makefile.am): Likewise.
34134         * modules/strstr (Makefile.am): Likewise.
34135         * modules/strtod (Makefile.am): Likewise.
34136         * modules/strtoimax (Makefile.am): Likewise.
34137         * modules/strtok_r (Makefile.am): Likewise.
34138         * modules/strtol (Makefile.am): Likewise.
34139         * modules/strtoll (Makefile.am): Likewise.
34140         * modules/strtoul (Makefile.am): Likewise.
34141         * modules/strtoull (Makefile.am): Likewise.
34142         * modules/strtoumax (Makefile.am): Likewise.
34143         * modules/strverscmp (Makefile.am): Likewise.
34144         * modules/time_r (Makefile.am): Likewise.
34145         * modules/timegm (Makefile.am): Likewise.
34146         * modules/tmpfile-safer (Makefile.am): Likewise.
34147         * modules/unistd-safer (Makefile.am): Likewise.
34148         * modules/unlinkdir (Makefile.am): Likewise.
34149         * modules/userspec (Makefile.am): Likewise.
34150         * modules/utime (Makefile.am): Likewise.
34151         * modules/utimecmp (Makefile.am): Likewise.
34152         * modules/utimens (Makefile.am): Likewise.
34153         * modules/vasnprintf (Makefile.am): Likewise.
34154         * modules/vasprintf (Makefile.am): Likewise.
34155         * modules/vsnprintf (Makefile.am): Likewise.
34156         * modules/xalloc (Makefile.am): Likewise.
34157         * modules/xgetcwd (Makefile.am): Likewise.
34158         * modules/xnanosleep (Makefile.am): Likewise.
34159         * modules/xreadlink (Makefile.am): Likewise.
34160         * modules/xstrtod (Makefile.am): Likewise.
34161         * modules/xstrtol (Makefile.am): Likewise.
34162         * modules/xstrtold (Makefile.am): Likewise.
34163         * modules/yesno (Makefile.am): Likewise.
34164
34165 2006-10-12  Jim Meyering  <jim@meyering.net>
34166
34167         * m4/getloadavg.m4: Revert the change below.
34168
34169         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
34170         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
34171         fail with a symlink, which is what coreutils' ./bootstrap now
34172         creates by default.
34173
34174 2006-10-12  Bruno Haible  <bruno@clisp.org>
34175
34176         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
34177         mingw.
34178         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
34179         MSVC and mingw explicitly.
34180
34181 2006-10-11  Simon Josefsson  <jas@extundo.com>
34182             Bruno Haible  <bruno@clisp.org>
34183
34184         Add support for multiple gnulib-tool invocations in the scope of a
34185         single configure.ac file.
34186         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
34187         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
34188         with the same contents as the _LIBADD variable.
34189         (func_emit_initmacro_start, func_emit_initmacro_end,
34190         func_emit_initmacro_done): New functions.
34191         (func_import, func_create_testdir): Invoke them. Allow the identifiers
34192         gl_LIBOBJS and gl_LTLIBOBJS.
34193
34194 2006-10-11  Bruno Haible  <bruno@clisp.org>
34195
34196         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
34197         (func_create_testdir): Don't create po/Makefile.am, don't invoke
34198         autoreconf. Instead, invoke autopoint explicitly but move back the
34199         *.m4 files from gnulib.
34200
34201 2006-10-11  Bruno Haible  <bruno@clisp.org>
34202
34203         * gnulib-tool (func_usage): Make module names after --create-testdir
34204         optional.
34205         (func_create_testdir): If no module was specified, use nearly all
34206         modules.
34207
34208 2006-10-12  Jim Meyering  <jim@meyering.net>
34209
34210         Big performance improvement for fts-based tools that use FTS_NOSTAT.
34211         Avoid spurious inode-mismatch problems on non-POSIX file systems.
34212         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
34213         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
34214         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
34215         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
34216         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
34217         (fts_set_stat_required): New function.
34218         (fts_open): Defer the calls to fts_stat, if possible or requested.
34219         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
34220         into fts_stat itself.
34221         (fts_read): Perform any required (deferred) fts_stat call.
34222         (fts_build): Likewise, for the directory we're about to open and read.
34223         In the readdir loop, carefully decide whether each entry will require
34224         an eventual call to fts_stat, using dirent.d_type info if available.
34225         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
34226         a command line argument into this function.  Update all callers.
34227         Map a return value of FTS_DOT to FTS_D for a command line argument.
34228         * modules/fts (Depends-on): Add d-type.  Alphabetize.
34229         Thanks to Miklos Szeredi for his tenacity and for the initial
34230         bug report about "find" failing on a FUSE-based file system.
34231
34232         * lib/fts.c (fts_open): Use consistent indentation.
34233
34234 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
34235
34236         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
34237         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
34238         reported by Jim Meyering.  All uses of cache variables renamed
34239         to match Autoconf's.
34240         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
34241         the other one.
34242
34243         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
34244         Fix misspelling in diagnostic.
34245
34246 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
34247
34248         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
34249         defined.  Problem reported by Matthew Woehlke.
34250
34251         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
34252         Add support for Tandem NonStop R series.
34253         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
34254         Use new macro.
34255
34256         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
34257         (has_trailing_slash): Omit size arg; all callers changed.
34258         Omit 'inline', since it doesn't help performance and we'd
34259         need to configure it.
34260         Don't count //, ///, etc. as having a trailing slash.
34261         As a side effect, this removes a C99ism reported by Matthew Woehlke.
34262         (rpl_rename_dest_slash): On failure, use rename's errno rather
34263         than (in some cases) an incorrect or junk errno.
34264         Simplify code by removing need to compute length; this does
34265         cause it to make two passes instead of one over the file name,
34266         but it's worth it.
34267
34268         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
34269         change, since Autoconf's version may no longer be appropriate now
34270         that we are using CVS Autoconf's version.  Add support for Tandem.
34271
34272 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
34273             Bruno Haible  <bruno@clisp.org>
34274
34275         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
34276         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
34277         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
34278         gl_AC_TYPE_LONG_LONG.
34279
34280         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
34281         instead of HAVE_LONG_LONG.
34282         * lib/printf-args.c (printf_fetchargs): Likewise.
34283         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
34284         * lib/vasnprintf.c (VASNPRINTF): Likewise.
34285         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
34286         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
34287         gl_AC_TYPE_LONG_LONG.
34288
34289 2006-10-11  Bruno Haible  <bruno@clisp.org>
34290
34291         * m4/longlong.m4: Add comments.
34292         * m4/ulonglong.m4: Likewise.
34293
34294 2006-10-10  Bruno Haible  <bruno@clisp.org>
34295
34296         Make it possible to #define stpcpy, strdup to aliases.
34297         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
34298         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
34299
34300 2006-10-10  Bruno Haible  <bruno@clisp.org>
34301
34302         Make it possible to #define gcd to an alias.
34303         * lib/gcd.c: Include config.h.
34304
34305 2006-10-10  Bruno Haible  <bruno@clisp.org>
34306
34307         Make it possible to #define c_isascii to an alias.
34308         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
34309         defined. Undefine the macros before defining them, to avoid gcc
34310         warnings.
34311         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
34312         define NO_C_CTYPE_MACROS early.
34313
34314 2006-10-10  Bruno Haible  <bruno@clisp.org>
34315
34316         Make it possible to #define set_program_name to an alias.
34317         * lib/progname.c: Don't undefine set_program_name; instead, undefine
34318         ENABLE_RELOCATABLE early.
34319
34320 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
34321
34322         Port to Tandem NSK OSS, which has 64-bit signed int but at most
34323         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
34324         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
34325         More generally, don't assume that 64-bit signed int is available
34326         if unsigned int is, and vice versa.
34327         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
34328         unsigned symbols, not on their signed counterparts.
34329         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
34330         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
34331         (UINT64_C, UINTMAX_C):
34332         Likewise.
34333         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
34334         unsigned counterparts.
34335         (Have_long_long, Unsigned): New macros.
34336         (Int): Renamed from INT.
34337         (strtoimax): Use the new macros.
34338         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
34339         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
34340         * modules/inttypes (inttypes.h): Substitute
34341         HAVE_UNSIGNED_LONG_LONG_INT.
34342         * modules/stdint (stdint.h): Likewise.
34343         (Files): Add m4/ulonglong.m4.
34344
34345 2006-10-10  Bruno Haible  <bruno@clisp.org>
34346
34347         Fix a gcc -Wshadow warning.
34348         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
34349         to 'bucket'.
34350         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
34351         gl_linked_indexof_from_to): Likewise.
34352         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
34353         Likewise.
34354         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
34355         Likewise.
34356         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
34357         Reported by Eric Blake.
34358
34359 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
34360
34361         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
34362         for NetBSD.  Problem reported by Bruno Haible.
34363
34364 2006-10-09  Jim Meyering  <jim@meyering.net>
34365
34366         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
34367         Patch from Bruno Haible.
34368
34369 2006-10-09  Jim Meyering  <jim@meyering.net>
34370
34371         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
34372         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
34373         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
34374
34375 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
34376
34377         Don't include <config.h> twice; this doesn't work in some cases,
34378         e.g., when config.h has "#define intmax_t long long int" and
34379         we include <config.h>, <inttypes.h>, <config.h> in that order.
34380         Problem reported by Matthew Woehlke in:
34381         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
34382         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
34383         * lib/fts-cycle.c: Don't include config.h.
34384         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
34385         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
34386         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
34387         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
34388         inttypes.h.
34389         * lib/xstrtoumax.c: Likewise.
34390         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
34391         __strtol and the like, so that this module is more like its siblings.
34392         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
34393         Remove; no longer needed now that we assume gnulib inttypes.h.
34394
34395 2006-10-08  Bruno Haible  <bruno@clisp.org>
34396
34397         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
34398         option.
34399
34400 2006-10-07  Jim Meyering  <jim@meyering.net>
34401
34402         * modules/inttypes (inttypes.h): Revert what seems to have been
34403         an inadvertent part of today's change: use "|", not "/" in the
34404         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
34405
34406 2006-10-07  Bruno Haible  <bruno@clisp.org>
34407
34408         * modules/sublist: New file.
34409
34410 2006-10-07  Bruno Haible  <bruno@clisp.org>
34411
34412         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
34413         * modules/argz (argz.h): Likewise.
34414         * modules/arpa_inet (arpa/inet.h): Likewise.
34415         * modules/byteswap (byteswap.h): Likewise.
34416         * modules/configmake (configmake.h): Likewise.
34417         * modules/fcntl (fcntl.h): Likewise.
34418         * modules/fnmatch (fnmatch.h): Likewise.
34419         * modules/getopt (getopt.h): Likewise.
34420         * modules/glob (glob.h): Likewise.
34421         * modules/inttypes (inttypes.h): Likewise.
34422         * modules/netinet_in (netinet/in.h): Likewise.
34423         * modules/poll (poll.h): Likewise.
34424         * modules/stdbool (stdbool.h): Likewise.
34425         * modules/stdint (stdint.h): Likewise.
34426         * modules/sys_select (sys/select.h): Likewise.
34427         * modules/sys_socket (sys/socket.h): Likewise.
34428         * modules/sys_stat (sys/stat.h): Likewise.
34429         * modules/sysexits (sysexits.h): Likewise.
34430         * modules/unistd (unistd.h): Likewise.
34431         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34432         Add a "DO NOT EDIT" comment to the generated file.
34433         (func_import): Likewise for gnulib-comp.m4.
34434
34435 2006-10-07  Bruno Haible  <bruno@clisp.org>
34436
34437         * lib/gl_sublist.h: New file.
34438         * lib/gl_sublist.c: New file.
34439
34440 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
34441
34442         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
34443         name (relative to the original working directory) and the file
34444         name component (relative to the temporary working directory).  All
34445         callers changed.
34446         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
34447         * lib/mkdir-p.c (make_dir_parents): Likewise.
34448         * lib/mkdir-p.h (make_dir_parents): Likewise.
34449
34450 2006-10-06  Eric Blake  <ebb9@byu.net>
34451
34452         Define several macros for use by the clean-temp module.
34453         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
34454         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
34455         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
34456
34457         * lib/clean-temp.h (close_stream_temp): New declaration.
34458         * lib/clean-temp.c (includes): Pull in headers according to what
34459         other modules are in use.
34460         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
34461
34462 2006-10-06  Bruno Haible  <bruno@clisp.org>
34463
34464         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
34465         instead of fopen, fwriteerror.
34466
34467 2006-10-06  Bruno Haible  <bruno@clisp.org>
34468
34469         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
34470         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
34471         int.
34472         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
34473         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
34474         Return an error indicator.
34475         Suggested by Eric Blake.
34476
34477 2006-10-06  Bruno Haible  <bruno@clisp.org>
34478
34479         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
34480         Reported by Eric Blake.
34481
34482 2006-10-06  Bruno Haible  <bruno@clisp.org>
34483
34484         * modules/closeout (Description): Mention stderr too.
34485
34486 2006-10-06  Bruno Haible  <bruno@clisp.org>
34487         and Paul Eggert  <eggert@cs.ucla.edu>
34488
34489         * lib/closeout.c (close_stdout): Also close stderr.
34490         * lib/closeout.h: Update comment.
34491
34492 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
34493
34494         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
34495         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
34496         * lib/dirchownmod.c: Include lchown.h.
34497         * lib/lchown.c: Don't include files that lchown.h now includes.
34498         Don't declare chown, since lchown.h now does that.
34499         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
34500         (lchown): Define to rpl_chown if lchown is declared but
34501         does not exist.  Declare using a prototype if lchown is not
34502         declared.  Add a copyright notice.
34503         * lib/mkstemp.h: Include <unistd.h>.
34504         * lib/openat.c: Include lchown.h.
34505
34506         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
34507         we now test for that separately.
34508         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
34509         rather than O_NOFOLLOW, when testing whether it's possible to
34510         avoid a race condition reliably.
34511         * lib/savewd.c (savewd_chdir): Likewise.
34512
34513         Remove macros that are no longer needed now that stdint.h is
34514         reliable.
34515         * lib/fsusage.c (UINTMAX_MAX): Remove.
34516         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
34517         * lib/utimecmp.c (SIZE_MAX): Remove.
34518
34519         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
34520
34521         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
34522         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
34523         O_NOATIME works.
34524
34525 2006-10-05  Bruno Haible  <bruno@clisp.org>
34526
34527         * lib/gl_list.h (gl_sortedlist_search_from_to,
34528         gl_sortedlist_indexof_from_to): New declarations.
34529         (gl_list_implementation): New fields sortedlist_search_from_to,
34530         sortedlist_indexof_from_to.
34531         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
34532         inline functions.
34533         * lib/gl_list.c (gl_sortedlist_search_from_to,
34534         gl_sortedlist_indexof_from_to): New functions.
34535         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
34536         function.
34537         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
34538         (gl_array_sortedlist_search_from_to): New function.
34539         (gl_array_list_implementation): Update.
34540         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
34541         function.
34542         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
34543         (gl_carray_sortedlist_search_from_to): New function.
34544         (gl_carray_list_implementation): Update.
34545         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
34546         gl_linked_sortedlist_indexof_from_to): New functions.
34547         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
34548         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
34549         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
34550         gl_tree_sortedlist_indexof_from_to): New functions.
34551         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
34552         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
34553         Update.
34554         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
34555         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
34556         Update.
34557
34558 2006-10-05  Bruno Haible  <bruno@clisp.org>
34559
34560         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
34561         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
34562         (struct gl_list_implementation): Add fields search_from_to,
34563         indexof_from_to. Remove fields search, indexof.
34564         (gl_list_search): Use the search_from_to method.
34565         (gl_list_search_from, gl_list_search_from_to): New functions.
34566         (gl_list_indexof): Use the indexof_from_to method.
34567         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
34568         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
34569         (gl_list_search_from, gl_list_search_from_to): New functions.
34570         (gl_list_indexof): Use the indexof_from_to method.
34571         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
34572         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
34573         gl_array_indexof. Add start_index, end_index arguments.
34574         (gl_array_search_from_to): Renamed from gl_array_search. Add
34575         start_index, end_index arguments.
34576         (gl_array_remove, gl_array_list_implementation): Update.
34577         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
34578         gl_carray_indexof. Add start_index, end_index arguments.
34579         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
34580         start_index, end_index arguments.
34581         (gl_carray_remove, gl_carray_list_implementation): Update.
34582         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
34583         gl_linked_search. Add start_index, end_index arguments.
34584         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
34585         start_index, end_index arguments.
34586         (gl_linked_remove): Update.
34587         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
34588         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
34589         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
34590         field to 'size_t'.
34591         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
34592         gl_tree_search. Add start_index, end_index arguments.
34593         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
34594         start_index, end_index arguments.
34595         (gl_tree_remove): Update.
34596         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
34597         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
34598         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
34599         function.
34600         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
34601         gl_tree_search. Add start_index, end_index arguments.
34602         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
34603         start_index, end_index arguments.
34604         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
34605         Update.
34606         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
34607
34608 2006-10-05  Bruno Haible  <bruno@clisp.org>
34609
34610         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
34611
34612         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
34613         fwriteerror_temp): New declarations.
34614         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
34615         (descriptors): New variable.
34616         (cleanup): First, close the descriptors.
34617         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
34618         fclose_temp, fwriteerror_temp): New functions.
34619
34620 2006-10-04  Jim Meyering  <jim@meyering.net>
34621
34622         * lib/fts.c (fts_open): Tiny comment change.
34623
34624 2006-10-04  Bruno Haible  <bruno@clisp.org>
34625
34626         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
34627         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
34628         gl_LOCK_BODY.
34629         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
34630         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
34631         gl_LOCK_EARLY_BODY.
34632         (gl_LOCK): Require gl_LOCK_BODY.
34633
34634 2006-10-04  Bruno Haible  <bruno@clisp.org>
34635
34636         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
34637         (gl_oset_search_atleast): New declaration.
34638         (struct gl_oset_implementation): Add field 'search_atleast'.
34639         (gl_oset_search_atleast): New inline function.
34640         * lib/gl_oset.c (gl_oset_search_atleast): New function.
34641         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
34642         (gl_array_oset_implementation): Update.
34643         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
34644         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
34645         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
34646
34647 2006-10-04  Bruno Haible  <bruno@clisp.org>
34648
34649         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
34650
34651 2006-10-03  Bruno Haible  <bruno@clisp.org>
34652
34653         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
34654         from gl_avltreehash_list_implementation.
34655
34656 2006-10-03  Bruno Haible  <bruno@clisp.org>
34657
34658         * lib/gl_oset.c (gl_oset_add): Fix return type.
34659
34660 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
34661
34662         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
34663
34664 2006-10-02  Eric Blake  <ebb9@byu.net>
34665
34666         * modules/strnlen (Depends-on): Add extensions.
34667
34668 2006-10-02  Eric Blake  <ebb9@byu.net>
34669
34670         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
34671         definition in 2.60+.
34672
34673 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
34674
34675         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
34676         checks.
34677
34678 2006-10-02  Bruno Haible  <bruno@clisp.org>
34679
34680         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
34681         to the AUTOMAKE_OPTIONS.
34682         Reported by Jim Meyering.
34683
34684 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
34685
34686         Work around bug in Solaris 10 /proc file system:
34687         /proc/self/fd/NNN/.. isn't the parent directory of
34688         the directory whose file descriptor is NNN.  This needs to
34689         be worked around at run time, not compile time, since a
34690         program might be built on Solaris 8, where things work, and
34691         run on Solaris 10.
34692         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
34693         to use the following interface instead:
34694         (OPENAT_BUFFER_SIZE): New macro.
34695         (openat_proc_name): New function.
34696         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
34697         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
34698         Likewise.
34699         * lib/openat-proc.c: New file.
34700         * modules/openat (Files): Add lib/openat-proc.c.
34701         (Depends-on): Add same-inode, stdbool.
34702         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
34703
34704 2006-09-29  Bruno Haible  <bruno@clisp.org>
34705
34706         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
34707         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
34708         argument. Set stdout_closed before testing for ferror, not after.
34709         (fwriteerror, fwriteerror_no_ebadf): New functions.
34710
34711 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34712
34713         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
34714
34715 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
34716
34717         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
34718         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
34719
34720 2006-09-28  Jim Meyering  <jim@meyering.net>
34721
34722         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
34723         Include <unistd.h>.
34724
34725 2006-09-28  Bruno Haible  <bruno@clisp.org>
34726
34727         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
34728         * modules/linkedhash-list (Depends-on): Likewise.
34729         * modules/rbtreehash-list (Depends-on): Likewise.
34730
34731 2006-09-28  Bruno Haible  <bruno@clisp.org>
34732
34733         * lib/strndup.h: Simplify the redefinition of strndup.
34734         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
34735         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
34736
34737 2006-09-28  Bruno Haible  <bruno@clisp.org>
34738
34739         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
34740         * lib/gl_linkedhash_list.c: Likewise.
34741         * lib/gl_rbtreehash_list.c: Likewise.
34742
34743 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
34744
34745         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
34746         getaddrinfo.
34747
34748         * lib/__fpending.h: Don't include <stdio_ext.h> unless
34749         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
34750         it causes <stdio_ext.h> to cause a compile-time error.
34751         Problem reported by Nelson H. F. Beebe.
34752         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
34753         of HAVE_DECL___PENDING.
34754
34755         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
34756         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
34757         declaration.
34758
34759 2006-09-27  Jim Meyering  <jim@meyering.net>
34760
34761         This file could end up with a definition for a function
34762         named __strndup, rather than rpl_strndup on a system with
34763         incomplete weak_alias support.
34764         * lib/strndup.c (strndup): Rename from __strndup.
34765         Remove #defines that used to map __strndup to strndup.
34766         Don't use K&R prototypes.
34767         Remove LIBC-related code, since this file is not sync'd with glibc.
34768         * lib/strndup.h: Revamp, accordingly.
34769         * m4/strndup.m4: Modernize.
34770
34771 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
34772
34773         * modules/savewd (Depends-on): Add 'raise'.
34774         * lib/savewd.c: Include <signal.h>, for 'raise'.
34775
34776 2006-09-26  Jim Meyering  <jim@meyering.net>
34777
34778         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
34779         when we detect Darwin 8.7.0's acl_get_file bug.
34780         Rearrange to perform the new (below) run-test while $LIBS
34781         contains any acl-related library.  Set USE_ACL at the end.
34782         (gl_ACL_GET_FILE): New function.
34783
34784 2006-09-26  Eric Blake  <ebb9@byu.net>
34785
34786         * lib/verror.c: Include <config.h> unconditionally.
34787
34788 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
34789
34790         * modules/clock-time (Maintainer): Add self.
34791         * modules/getlogin_r (Depends-on): Add extensions.
34792
34793 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34794
34795         * modules/clock-time: New module.
34796         * modules/nanosleep (Depends-on): Add clock-time.
34797         * modules/gethrxtime (Depends-on): Likewise.
34798         * modules/gettime (Depends-on): Likewise.
34799         * modules/settime (Depends-on): Likewise.
34800
34801         * modules/fts-lgpl: Depend on openat.
34802         * modules/mkancesdirs: Depend on savewd.
34803         * modules/mkdir-p: Likewise.
34804
34805 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34806
34807         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
34808
34809         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
34810         `gl_have_arbitrary_file_name_length_limit' to
34811         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
34812         actually works between configure runs.
34813
34814 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34815             Bruno Haible  <bruno@clisp.org>
34816
34817         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
34818
34819 2006-09-25  Jim Meyering  <jim@meyering.net>
34820
34821         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
34822         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
34823
34824 2006-09-25  Eric Blake  <ebb9@byu.net>
34825
34826         * gnulib-tool (func_import, func_create_testdir): Fix typos in
34827         exec's in 2006-09-18 patch when shuffling fds.
34828
34829 2006-09-25  Bruno Haible  <bruno@clisp.org>
34830
34831         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
34832         Reported by Jim Meyering.
34833
34834 2006-09-24  Jim Meyering  <jim@meyering.net>
34835
34836         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
34837         compare a pointer against a literal "0".  That caused failures with
34838         at least HP-UX's hpcc.
34839
34840 2006-09-22  Simon Josefsson  <jas@extundo.com>
34841
34842         * modules/gc-sha1:
34843         * modules/gc-md4:
34844         * modules/gc-hmac-sha1:
34845         * modules/gc-hmac-md5:
34846         * modules/gc-des:
34847         * modules/gc-arcfour: Distribute more files.
34848
34849 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34850
34851         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
34852         (gl_linked_iterator_from_to): Initialize struct completely.
34853         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
34854         (gl_tree_iterator_from_to): Likewise
34855         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
34856         * lib/gl_array_list.c [lint] (gl_array_iterator)
34857         (gl_array_iterator_from_to): Likewise.
34858         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
34859         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
34860         (gl_carray_iterator_from_to): Likewise.
34861
34862         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
34863         * lib/md4.c (md4_process_block): Remove unused variable.
34864         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
34865         parentheses for clarity.
34866
34867 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34868
34869         * modules/bison-i18n (Depends-on): Add gettext.
34870
34871 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34872
34873         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
34874         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
34875         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
34876         also add missing comma that caused broken test.
34877         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
34878         stdlib.h, for `abort'.
34879         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
34880         variables.
34881         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
34882         include unistd.h if present, for `rmdir'.
34883         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
34884         variables.
34885         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
34886         in the process include standard headers for prototypes.
34887         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
34888         gets declared on GNU/Linux.
34889         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
34890         unistd.h, for `rmdir'.
34891         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
34892
34893         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
34894         always true.
34895         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
34896
34897         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
34898
34899 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34900
34901         * gnulib-tool (func_version): Create output all at once.  This
34902         may help avoid triggering unnecessary SIGPIPEs, and at any
34903         rate it doesn't hurt.
34904
34905 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34906             Bruno Haible  <bruno@clisp.org>
34907
34908         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
34909         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
34910         * m4/signed.m4 (bh_C_SIGNED): Likewise.
34911
34912         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
34913         (gl_FUNC_VASPRINTF): Invoke it.
34914
34915 2006-09-22  Bruno Haible  <bruno@clisp.org>
34916
34917         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
34918         getloadavg.c as first argument.
34919
34920 2006-09-22  Bruno Haible  <bruno@clisp.org>
34921
34922         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
34923         at the beginning of the gl_INIT macro.
34924         * modules/getloadavg (configure.ac): Pass $gl_source_base to
34925         gl_GETLOADAVG.
34926
34927 2006-09-22  Bruno Haible  <bruno@clisp.org>
34928
34929         * gnulib-tool (func_create_megatestdir): Don't include the config-h
34930         module.
34931         Suggested by Ralf Wildenhues.
34932
34933 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
34934
34935         Import this patch from libc:
34936
34937         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
34938
34939         * lib/regex_internal.c (re_string_reconstruct): Handle
34940         offset < pstr->valid_raw_len && pstr->offsets_needed case.
34941         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
34942         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
34943         re_string_context_at.
34944
34945         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
34946         now requires it.
34947         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
34948         gl_REGEX now does it for us.
34949         (gl_REGEX): Add test taken from
34950         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
34951
34952         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
34953         Check that large offsets work.  Modernize Autoconf usages.
34954         Prefer "yes" to mean a good thing rather than a bad.
34955         Don't put "#define mkstemp" in config.h, as this might interfere
34956         with standard system headers that "#define mkstemp mkstemp64".
34957
34958         * modules/mkstemp (Depends-on): Add extensions, so that
34959         mkstemp is visible on some platforms.
34960         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
34961         (Include): Change to "mkstemp.h" from <stdlib.h>.
34962         (Files): Add mkstemp.h.
34963
34964         * lib/mkstemp.h: New file, since some standard headers
34965         #define mkstemp.
34966         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
34967         Include "mkstemp.h".
34968         Make the _LIBC code resemble glibc original more,
34969         e.g., use K&R style.
34970         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
34971         (mkstemp): Remove, since mkstemp.h does this for us.
34972         * lib/stdlib--.h: Include mkstemp.h.
34973
34974         Import this patch from libc:
34975
34976         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
34977
34978         * lib/tempname.c (__gen_tempname): Change attempts_min
34979         into a macro.  Use preprocessor to decide how to initialize
34980         attempts [Coverity CID 67].
34981
34982 2006-09-20  Bruno Haible  <bruno@clisp.org>
34983
34984         * lib/mkdtemp.c: Import from libc.
34985         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
34986                 * sysdeps/posix/tempname.c (__gen_tempname): Change
34987                 attempts_min into a macro.  Use preprocessor to decide how to
34988                 initialize attempts [Coverity CID 67].
34989         2001-11-27  Paul Eggert  <eggert@twinsun.com>
34990                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
34991                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
34992
34993 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34994
34995         * gnulib-tool (func_exit): New function, to allow to pass the
34996         exit status portably through the trap.  Use everywhere.
34997         (--help, --version): Signal a write error.
34998         (trap): catch SIGPIPE, for write errors.
34999         Exit at the end of the trap, with the correct exit status.
35000
35001 2006-09-19  Karl Berry  <karl@gnu.org>
35002
35003         * doc/gnulib.texi: note about the license texinfo files.
35004
35005 2006-09-19  Eric Blake  <ebb9@byu.net>
35006
35007         * gnulib-tool: Avoid space-tab.
35008
35009 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
35010
35011         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
35012         that prevented coreutils 6.1 from building.  Problem reported
35013         by Petter Reinholdtsen.
35014
35015 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
35016
35017         * gnulib-tool (avoidlist): Fix typo that broke options like
35018         --avoid=lock that are used by coreutils bootstrap.
35019
35020 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
35021
35022         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
35023         more systematically.
35024
35025 2006-09-18  Jim Meyering  <jim@meyering.net>
35026
35027         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
35028
35029 2006-09-18  Bruno Haible  <bruno@clisp.org>
35030
35031         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
35032
35033 2006-09-18  Bruno Haible  <bruno@clisp.org>
35034
35035         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
35036         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
35037         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
35038         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
35039         * m4/gettext.m4: Require autoconf >= 2.52.
35040         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
35041         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
35042         of gl_cv_header_inttypes_h.
35043
35044 2006-09-18  Bruno Haible  <bruno@clisp.org>
35045
35046         * lib/javaversion.c: Include configmake.h.
35047
35048 2006-09-18  Bruno Haible  <bruno@clisp.org>
35049
35050         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
35051         avoid that the while loops be executed in a subshell.
35052
35053 2006-09-18  Bruno Haible  <bruno@clisp.org>
35054
35055         * MODULES.html.sh (func_module): Break long lines.
35056         Suggested by Bruce Korb <bkorb@gnu.org>.
35057
35058 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35059
35060         Speed up by a factor of 1.12.
35061         * gnulib-tool (nl): New variable.
35062         (func_import): Rewrite include directive extraction to only read each
35063         directive once.
35064
35065 2006-09-17  Bruno Haible  <bruno@clisp.org>
35066
35067         * modules/javaversion (Makefile.am): Remove DEFS setting.
35068         (Depends-on): Add configmake, for PKGDATADIR definition.
35069
35070 2006-09-17  Bruno Haible  <bruno@clisp.org>
35071
35072         * gnulib-tool (func_create_testdir): Rewrite all files at once.
35073
35074 2006-09-17  Bruno Haible  <bruno@clisp.org>
35075
35076         * gnulib-tool (func_append): New function, stolen from libtool.m4.
35077         (func_modules_transitive_closure, func_modules_add_dummy,
35078         func_modules_to_filelist, func_import, func_create_testdir,
35079         func_create_megatestdir, ...): Use it wherever possible.
35080         Suggested by Ralf Wildenhues.
35081
35082 2006-09-16  Karl Berry  <karl@gnu.org>
35083
35084         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
35085         to avoid sectioning errors.
35086         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
35087         [ifinfo]: blank line after @center-ed titles.
35088         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
35089         Spell FSF address consistently with others.
35090         (These changes approved by rms.)
35091
35092 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35093
35094         Speed up by a factor of 1.61.
35095         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
35096         already checked module names again.
35097
35098 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35099
35100         Speed up by a factor of 1.13.
35101         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
35102         for new_files, and the input to func_add_or_update.
35103
35104 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35105
35106         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
35107         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
35108
35109 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
35110
35111         * modules/mkancesdirs (Depends-on): Add fcntl.
35112         * modules/savewd: New file.
35113         * MODULES.html.sh (File system functions): Add savewd.
35114
35115         * modules/configmake (Makefile.am): Add support for the
35116         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
35117
35118 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
35119
35120         * m4/savewd.m4: New file.
35121
35122 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
35123
35124         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
35125         (dirchownmod): New arg FD.  All callers changed.
35126         Use FD rather than opening the directory ourself, as opening is
35127         now the caller's responsibility.
35128         * lib/dirchownmod.h: Likewise.
35129         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
35130         hosts that require <sys/types.h> before <sys/stat.h>.  Include
35131         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
35132         (test_dir): Remove.
35133         (mkancesdirs): Return length of prefix of FILE that has already
35134         been made, or -2 if there is a child doing the work.  Redo
35135         algorithm so that it is O(N) rather than O(N**2).  Optimize away
35136         ".", and treat ".." specially since it might stray back into
35137         already-created areas.  Use a subprocess if necessary.  New arg
35138         WD; all users changed.  MAKE_DIR function should now return 1
35139         if it creates a directory that is not readable.  Return -2 if
35140         a child process is spun off.
35141         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
35142         Adjust signature to match code.
35143         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
35144         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
35145         all users changed.
35146         * lib/savewd.c, lib/savewd.h: New files.
35147
35148 2006-09-15  Jim Meyering  <jim@meyering.net>
35149
35150         * modules/rename-dest-slash: New module.
35151         * MODULES.html.sh (posix_compat): Add it here.
35152
35153         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
35154
35155 2006-09-15  Jim Meyering  <jim@meyering.net>
35156
35157         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
35158         file.
35159
35160         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
35161
35162 2006-09-15  Jim Meyering  <jim@meyering.net>
35163
35164         * lib/rename-dest-slash.c (has_trailing_slash): Use
35165         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
35166         (rpl_rename_dest_slash): Perform the cheaper trailing slash
35167         test before testing whether SRC is a directory.
35168         Suggestions from Bruno Haible.
35169
35170         Avoid a warning about an unused variable.
35171         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
35172         into the #ifdef block where it's used.
35173
35174         * lib/rename-dest-slash.c: New file.
35175
35176 2006-09-14  Bruno Haible  <bruno@clisp.org>
35177
35178         * lib/allocsa.c: Include <config.h> unconditionally.
35179         * lib/asnprintf.c: Likewise.
35180         * lib/asprintf.c: Likewise.
35181         * lib/c-strcasecmp.c: Likewise.
35182         * lib/c-strcasestr.c: Likewise.
35183         * lib/c-strncasecmp.c: Likewise.
35184         * lib/c-strstr.c: Likewise.
35185         * lib/classpath.c: Likewise.
35186         * lib/clean-temp.c: Likewise.
35187         * lib/concatpath.c: Likewise.
35188         * lib/copy-file.c: Likewise.
35189         * lib/csharpcomp.c: Likewise.
35190         * lib/csharpexec.c: Likewise.
35191         * lib/execute.c: Likewise.
35192         * lib/fatal-signal.c: Likewise.
35193         * lib/findprog.c: Likewise.
35194         * lib/fwriteerror.c: Likewise.
35195         * lib/gl_array_list.c: Likewise.
35196         * lib/gl_array_oset.c: Likewise.
35197         * lib/gl_avltree_list.c: Likewise.
35198         * lib/gl_avltree_oset.c: Likewise.
35199         * lib/gl_avltreehash_list.c: Likewise.
35200         * lib/gl_carray_list.c: Likewise.
35201         * lib/gl_linked_list.c: Likewise.
35202         * lib/gl_linkedhash_list.c: Likewise.
35203         * lib/gl_list.c: Likewise.
35204         * lib/gl_oset.c: Likewise.
35205         * lib/gl_rbtree_list.c: Likewise.
35206         * lib/gl_rbtree_oset.c: Likewise.
35207         * lib/gl_rbtreehash_list.c: Likewise.
35208         * lib/imaxabs.c: Likewise.
35209         * lib/imaxdiv.c: Likewise.
35210         * lib/javacomp.c: Likewise.
35211         * lib/javaexec.c: Likewise.
35212         * lib/javaversion.c: Likewise.
35213         * lib/linebreak.c: Likewise.
35214         * lib/localcharset.c: Likewise.
35215         * lib/lock.c: Likewise.
35216         * lib/mbchar.c: Likewise.
35217         * lib/mbswidth.c: Likewise.
35218         * lib/mkdtemp.c: Likewise.
35219         * lib/pipe.c: Likewise.
35220         * lib/printf-args.c: Likewise.
35221         * lib/printf-parse.c: Likewise.
35222         * lib/progname.c: Likewise.
35223         * lib/progreloc.c: Likewise.
35224         * lib/readlink.c: Likewise.
35225         * lib/sh-quote.c: Likewise.
35226         * lib/stpcpy.c: Likewise.
35227         * lib/stpncpy.c: Likewise.
35228         * lib/strcasecmp.c: Likewise.
35229         * lib/strcasestr.c: Likewise.
35230         * lib/strcspn.c: Likewise.
35231         * lib/striconv.c: Likewise.
35232         * lib/strncasecmp.c: Likewise.
35233         * lib/strnlen1.c: Likewise.
35234         * lib/strstr.c: Likewise.
35235         * lib/strtok_r.c: Likewise.
35236         * lib/tls.c: Likewise.
35237         * lib/tmpdir.c: Likewise.
35238         * lib/unicodeio.c: Likewise.
35239         * lib/unsetenv.c: Likewise.
35240         * lib/vasnprintf.c: Likewise.
35241         * lib/vasprintf.c: Likewise.
35242         * lib/wait-process.c: Likewise.
35243         * lib/xallocsa.c: Likewise.
35244         * lib/xsetenv.c: Likewise.
35245         * lib/xstriconv.c: Likewise.
35246
35247 2006-09-13  Simon Josefsson  <jas@extundo.com>
35248
35249         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
35250         that internally, suggested by Ralf Wildenhues
35251         <Ralf.Wildenhues@gmx.de>.
35252
35253 2006-09-13  Simon Josefsson  <jas@extundo.com>
35254
35255         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
35256         @LIBOBJS@.
35257         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35258
35259 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
35260
35261         * lib/_fpending.c: Include <config.h> unconditionally, since we no
35262         longer worry about uses that don't define HAVE_CONFIG_H.
35263         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
35264         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
35265         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
35266         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
35267         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
35268         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
35269         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
35270         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
35271         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
35272         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
35273         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
35274         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
35275         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
35276         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
35277         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
35278         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
35279         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
35280         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
35281         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
35282         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
35283         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
35284         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
35285         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
35286         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
35287         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
35288         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
35289         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
35290         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
35291         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
35292         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
35293         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
35294         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
35295         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
35296         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
35297         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
35298         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
35299         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
35300         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
35301         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
35302         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
35303         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
35304         Likewise.
35305
35306 2006-09-13  Eric Blake  <ebb9@byu.net>
35307
35308         * lib/getopt.c: Fix typo in last commit.
35309
35310 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
35311
35312         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
35313         dgettext.
35314
35315 2006-09-12  Jim Meyering  <jim@meyering.net>
35316
35317         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
35318         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
35319         Reported by Nelson H. F. Beebe.
35320
35321 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
35322
35323         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
35324         program_invocation_name and program_invocation_short_name are
35325         initialized.
35326         * lib/argp-namefrob.h: Move declarations of program_invocation_name
35327         and program_invocation_short_name to argp.h, so they are visible
35328         to user programs.
35329         * lib/argp.h: Likewise
35330
35331 2006-09-10  Bruno Haible  <bruno@clisp.org>
35332
35333         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
35334         m4/inttypes_h.m4, m4/uintmax_t.m4.
35335
35336 2006-09-10  Bruno Haible  <bruno@clisp.org>
35337
35338         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
35339         gl_AC_TYPE_UINTMAX_T.
35340
35341 2006-09-10  Bruno Haible  <bruno@clisp.org>
35342
35343         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
35344
35345 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
35346
35347         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
35348         convention.  Text proposed by Bruno Haible.
35349         (struct argp_option): Document the use of N_() wrappers.
35350
35351         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
35352         '\v', and translate the two parts separately, instead of feeding
35353         the whole string to gettext.  This allows to exclude
35354         '\v' from the strings visible to the translator by writing doc
35355         strings as N_("..") "\v" N_("..").
35356
35357 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
35358
35359         * config/srclist.txt: Undo latest change; the bug was fixed.
35360
35361 2006-09-09  Bruno Haible  <bruno@clisp.org>
35362
35363         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
35364         assignments if building a library without libtool.
35365         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
35366         in func_emit_lib_Makefile_am.
35367         (func_import): When building a static library libfoo.a, arrange to
35368         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
35369         (func_create_testdir): Likewise.
35370         * modules/gc (configure.ac, Makefile.am): If building statically,
35371         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
35372         * modules/iconvme (configure.ac, Makefile.am): Likewise.
35373         * modules/striconv (configure.ac, Makefile.am): Likewise.
35374         Based on a suggestion by Ralf Wildenhues.
35375
35376 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
35377
35378         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
35379         Check for unistd.h too, since Autoconf doesn't assume POSIX.
35380         Also:
35381
35382         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
35383         Add year_2050_test to catch glibc bug 2821
35384         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
35385
35386         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
35387         Prefer #ifdef to #if.
35388
35389         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
35390         Return from 'main' instead of calling 'exit'.
35391
35392 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
35393
35394         * lib/mktime.c (guess_time_tm): Fix bug where mktime
35395         returned the maximum time_t value rather than (time_t) -1.
35396         Problem originally reported by William Bardwell
35397         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
35398
35399         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
35400         Moved to here ...
35401         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
35402         ... from here.
35403
35404 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
35405
35406         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
35407         2821 is fixed.
35408
35409 2006-09-08  Jim Meyering  <jim@meyering.net>
35410
35411         Don't make generated files read-only.  That would bother too many
35412         people.  However, do retain the ability to work when targets are
35413         read-only: remove the destination and temporary files before writing
35414         them (when generated via sed or echo), or by using the -f option for
35415         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
35416         * modules/alloca-opt, modules/argz, modules/arpa_inet:
35417         * modules/byteswap, modules/configmake, modules/fcntl:
35418         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
35419         * modules/localcharset, modules/netinet_in, modules/poll:
35420         * modules/stdbool, modules/stdint, modules/sys_select:
35421         * modules/sys_socket, modules/sys_stat, modules/sysexits:
35422
35423 2006-09-08  Jim Meyering  <jim@meyering.net>
35424
35425         Avoid new build failure on FreeBSD 6.0.
35426         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
35427         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
35428         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
35429
35430 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35431
35432         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
35433
35434 2006-09-07  Jim Meyering  <jim@meyering.net>
35435
35436         Fix global typo in last change: use chmod u-w, not chmod u-x.
35437         Spotted by Paul Eggert and Bruce Korb.
35438         * modules/alloca-opt, modules/argz, modules/arpa_inet:
35439         * modules/byteswap, modules/configmake, modules/fcntl:
35440         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
35441         * modules/localcharset, modules/netinet_in, modules/poll:
35442         * modules/stdbool, modules/stdint, modules/sys_select:
35443         * modules/sys_socket, modules/sys_stat, modules/sysexits:
35444
35445 2006-09-06  Jim Meyering  <jim@meyering.net>
35446
35447         Make generated files be read-only.
35448         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
35449         Ensure that each generated file is now read-only.
35450         * modules/argz: Likewise.
35451         * modules/arpa_inet: Likewise.
35452         * modules/byteswap: Likewise.
35453         * modules/configmake: Likewise.
35454         * modules/fcntl: Likewise.
35455         * modules/fnmatch: Likewise.
35456         * modules/getopt: Likewise.
35457         * modules/glob: Likewise.
35458         * modules/inttypes: Likewise.
35459         * modules/netinet_in: Likewise.
35460         * modules/poll: Likewise.
35461         * modules/stdbool: Likewise.
35462         * modules/stdint: Likewise.
35463         * modules/sys_select: Likewise.
35464         * modules/sys_socket: Likewise.
35465         * modules/sys_stat: Likewise.
35466         * modules/sysexits: Likewise.
35467         * modules/localcharset: Same as above, but continue using temporary
35468         file named "t-$@" (why different?) rather than the "$@-t" used
35469         everywhere else.
35470
35471         * modules/sysexits (Makefile.am): Replace literal occurrences
35472         of "sysexit.h" more readable, and more consistent, "$@".
35473
35474 2006-09-06  Bruno Haible  <bruno@clisp.org>
35475
35476         * modules/striconv: New file.
35477         * modules/xstriconv: New file.
35478         * MODULES.html.sh (Internationalization functions): Add striconv,
35479         xstriconv.
35480
35481 2006-09-06  Bruno Haible  <bruno@clisp.org>
35482
35483         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
35484         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
35485         not using libtool correctly.
35486
35487 2006-09-06  Bruno Haible  <bruno@clisp.org>
35488
35489         * lib/striconv.h: New file.
35490         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
35491         iconvstring.c.
35492         * lib/xstriconv.h: New file.
35493         * lib/xstriconv.c: New file.
35494
35495 2006-09-06  Bruno Haible  <bruno@clisp.org>
35496
35497         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
35498         lib_..._LDFLAGS.
35499
35500 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35501
35502         * lib/argz_.h: Sync from Libtool.
35503
35504         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
35505                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
35506
35507         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
35508
35509 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
35510
35511         * modules/trim: New file.
35512
35513 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
35514
35515         * lib/trim.h: New file.
35516         * lib/trim.c: New file.
35517
35518 2006-09-05  Bruno Haible  <bruno@clisp.org>
35519
35520         * MODULES.html.sh (String handling): Add trim.
35521
35522 2006-09-04  Karl Berry  <karl@gnu.org>
35523
35524         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
35525         until next release.
35526
35527 2006-09-03  Bruno Haible  <bruno@clisp.org>
35528
35529         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
35530         correctly.
35531
35532 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
35533
35534         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
35535         not gl_GETLOADAVG.  Omit unneeded semicolons.
35536         Problems reported by Ralf Wildenhues in
35537         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
35538         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
35539         at the end, which is the usual gnulib style.
35540
35541         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
35542         of doing all the work ourselves.
35543         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
35544         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
35545
35546 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
35547
35548         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
35549         Problem reported by Ralf Wildenhues in
35550         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
35551
35552         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
35553         HAVE_STRUCT_STATFS_F_FSTYPENAME.
35554
35555 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
35556
35557         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
35558         yesterday's patch by changing test -n to test -z.
35559
35560 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
35561
35562         * modules/getloadavg (Files): Add m4/getloadavg.m4.
35563         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
35564         the former is now obsolescent.
35565
35566         * modules/chdir-long (Depends-on): Add fcntl.
35567
35568 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
35569
35570         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
35571         obsolescent, and programs should use gnulib instead.
35572         * m4/getloadavg.m4: New file, with contents taken from Autoconf
35573         but with prefixes changed.
35574
35575 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
35576
35577         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
35578         or stdbool.h, because they might not exist while configuring.
35579
35580         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
35581         Don't include unistd.h or limits.h; not needed, since chdir-long.h
35582         does that for us.
35583         (O_DIRECTORY): Remove.
35584
35585 2006-08-31  Eric Blake  <ebb9@byu.net>
35586
35587         * gnulib-tool: Don't let emacs change spaces to TAB.
35588
35589 2006-08-31  Bruno Haible  <bruno@clisp.org>
35590
35591         * gnulib-tool: When calling func_import more than once, do it in a
35592         subshell.
35593         Reported by Eric Blake <ebb9@byu.net>.
35594
35595 2006-08-31  Bruno Haible  <bruno@clisp.org>
35596
35597         * gnulib-tool (nl): Remove variable.
35598         (sed_transform_lib_file): Use more robust test for config-h module.
35599         (func_import): Fix typo in 2006-08-25 patch.
35600
35601 2006-08-31  Bruno Haible  <bruno@clisp.org>
35602
35603         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
35604         specified, augment Makefile.am variables instead of assigning them.
35605
35606 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
35607
35608         Work around a bug in both the Linux and SunOS 64-bit kernels:
35609         nanosleep mishandles sleeps for longer than 2**31 seconds.
35610         Problem reported by Frank v Waveren in
35611         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
35612         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
35613         Check for nanosleep bug.
35614         (LIB_NANOSLEEP): Append clock_gettime library if needed.
35615
35616 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
35617
35618         Work around a bug in both the Linux and SunOS 64-bit kernels:
35619         nanosleep mishandles sleeps for longer than 2**31 seconds.
35620         Problem reported by Frank v Waveren in
35621         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
35622         * lib/nanosleep.c (BILLION): New constant.
35623         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
35624         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
35625         implementation.
35626
35627 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
35628
35629         * modules/nanosleep (Depends-on): Add gettime.
35630
35631 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
35632         and Simon Josefsson  <jas@extundo.com>
35633         and Oskar Liljeblad  <oskar@osk.mine.nu>
35634
35635         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
35636         * gnulib-tool (func_import): New license type 'unmodifiable license
35637         text'.
35638         * modules/fdl: Use it.  Longer description.
35639         * module/gpl, module/lgpl: New files.
35640
35641 2006-08-30  Jim Meyering  <jim@meyering.net>
35642
35643         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
35644         shadowing the parameter.
35645
35646 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35647
35648         Sync from Libtool:
35649
35650         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35651
35652         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
35653         sharing with gnulib.  Report by Eric Blake.
35654
35655 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
35656
35657         * modules/isapipe: New file.
35658         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
35659
35660 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
35661
35662         * modules/configmake (Makefile.am): Add a comment, and omit
35663         the CONFIGMAKE_ prefix from generated macro names.  Suggested
35664         by Bruno Haible.
35665
35666 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
35667
35668         * m4/isapipe.m4: New file.
35669
35670 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
35671
35672         * lib/isapipe.c, lib/isapipe.h: New files.
35673
35674 2006-08-29  Jim Meyering  <jim@meyering.net>
35675
35676         * modules/configmake (Makefile.am): Make configmake.h depend on
35677         Makefile.  Otherwise, a stale configmake.h could hang around.
35678
35679 2006-08-29  Eric Blake  <ebb9@byu.net>
35680
35681         * lib/error.c (error_at_line, print_errno_message): Match libc, after
35682         resolution of upstream bug 3044.
35683
35684 2006-08-29  Bruno Haible  <bruno@clisp.org>
35685
35686         * modules/localcharset (Depends-on): Add configmake.
35687         (Makefile.am): Remove setting of LIBDIR through DEFS.
35688
35689 2006-08-29  Bruno Haible  <bruno@clisp.org>
35690
35691         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
35692         defined.
35693
35694 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
35695
35696         * modules/fcntl: New file.
35697         * modules/chdir-safer (Depends-on): Add fcntl.
35698         * modules/fts: Likewise.
35699         * modules/mkdir-p: Likewise.
35700
35701         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
35702         This undoes the most recent change, since we're now addressing the
35703         problem in a different way.
35704
35705         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
35706         into output, since the output might be called Makefile.am even
35707         if $makefile_name is something different.
35708         (func_import): Use $makefile_am rather than
35709         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
35710         empty.
35711
35712         * modules/inttypes (Files): Add m4/inttypes-h.m4.
35713
35714 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
35715
35716         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
35717         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
35718         recent change to stdint.m4, since we're now addressing the problem in a
35719         different way.
35720
35721 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
35722
35723         * m4/fcntl_h.m4: New file.
35724
35725 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
35726
35727         * lib/fcntl_.h: New file.
35728         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
35729         the fcntl module.
35730         * lib/dirchownmod.c: Likewise.
35731         * lib/fts.c: Likewise.
35732
35733         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
35734         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
35735         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
35736         just before including <inttypes.h>, to avoid circular inclusion.
35737
35738 2006-08-28  Jim Meyering  <jim@meyering.net>
35739
35740         * doc/visibility.texi: Actually read and correct the grammar of the
35741         sentence affected by yesterday's change.
35742
35743 2006-08-28  Eric Blake  <ebb9@byu.net>
35744
35745         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
35746         needs wrapper.
35747
35748 2006-08-28  Eric Blake  <ebb9@byu.net>
35749
35750         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
35751
35752 2006-08-28  Eric Blake  <ebb9@byu.net>
35753
35754         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
35755
35756 2006-08-28  Bruno Haible  <bruno@clisp.org>
35757
35758         * modules/c-strstr: New file, from GNU gettext.
35759         * MODULES.html.sh (String handling): Add c-strstr.
35760
35761 2006-08-28  Bruno Haible  <bruno@clisp.org>
35762
35763         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
35764         macros.
35765         Reported by Eric Blake.
35766
35767 2006-08-28  Bruno Haible  <bruno@clisp.org>
35768
35769         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
35770         (VASNPRINTF): Return a string of length > INT_MAX without failing.
35771         * lib/vasprintf.c: Include errno.h, limits.h.
35772         (EOVERFLOW): New fallback definition.
35773         (vasprintf): Test here whether the string length is > INT_MAX.
35774         * lib/vsnprintf.c: Include errno.h, limits.h.
35775         (EOVERFLOW): New fallback definition.
35776         (vsnprintf): Fix bug when generated string was too long for the buffer.
35777         Test here whether the string length is > INT_MAX.
35778
35779 2006-08-28  Bruno Haible  <bruno@clisp.org>
35780
35781         * lib/inttypes_.h (SCNX*): Remove definitions.
35782         Reported by Eric Blake.
35783
35784 2006-08-28  Bruno Haible  <bruno@clisp.org>
35785
35786         * lib/c-strstr.h: New file, from GNU gettext.
35787         * lib/c-strstr.c: New file, from GNU gettext.
35788
35789 2006-08-28  Bruno Haible  <bruno@clisp.org>
35790
35791         * gnulib-tool: Reorder some statements.
35792
35793 2006-08-28  Bruno Haible  <bruno@clisp.org>
35794
35795         * gnulib-tool: New option --makefile-name.
35796         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
35797         $makefile_name.
35798         (func_import): Write $makefile_name to the cache file, and read it from
35799         there unless explicitly specified. Use $makefile_name as file name
35800         instead of Makefile.am. Adjust the recommendations accordingly.
35801
35802 2006-08-28  Bruno Haible  <bruno@clisp.org>
35803
35804         * gnulib-tool (func_verify_module): Check against misapplying patch.
35805
35806 2006-08-28  Bruno Haible  <bruno@clisp.org>
35807
35808         * gnulib-tool (func_relativize, func_relconcat): New functions.
35809         Give an error if --local-dir is given with --update.
35810         Remove trailing slashes from $local_gnulib_dir.
35811         (func_import): Store the relativized $local_gnulib_dir in
35812         gnulib-cache.m4, and read it from there if not specified explicitly.
35813
35814 2006-08-28  Bruno Haible  <bruno@clisp.org>
35815
35816         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
35817         is the current directory. Respect also $local_gnulib_dir.
35818
35819 2006-08-28  Bruno Haible  <bruno@clisp.org>
35820             Simon Josefsson  <jas@extundo.com>
35821
35822         BeOS portability.
35823         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
35824
35825 2006-08-27  Jim Meyering  <jim@meyering.net>
35826
35827         * doc/visibility.texi: Remove duplicate word: "pointer".
35828
35829 2006-08-26  Bruno Haible  <bruno@clisp.org>
35830
35831         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
35832         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
35833         (Makefile.am): Create inttypes.h from inttypes_.h.
35834         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
35835
35836         * modules/imaxabs: New file.
35837
35838         * modules/imaxdiv: New file.
35839
35840 2006-08-26  Bruno Haible  <bruno@clisp.org>
35841
35842         * m4/inttypes.m4: New file.
35843         * m4/_inttypes_h.m4: Remove file.
35844         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
35845         PRI_MACROS_BROKEN.
35846         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
35847
35848         * m4/imaxabs.m4: New file.
35849
35850         * m4/imaxdiv.m4: New file.
35851
35852 2006-08-26  Bruno Haible  <bruno@clisp.org>
35853
35854         * lib/inttypes_.h: New file.
35855         * lib/inttypes.h: Remove file.
35856         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
35857
35858         * lib/imaxabs.c: New file.
35859
35860         * lib/imaxdiv.c: New file.
35861
35862 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
35863
35864         New config-h module, so that "make" output needn't be cluttered
35865         by -DHAVE_CONFIG_H.
35866         * MODULES.html.sh (Support for building libraries and executables):
35867         Add config-h.
35868         * modules/config-h: New file.
35869         * gnulib-tool (nl, sed_transform_lib_file): New vars.
35870         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
35871         the config-h module is used.
35872
35873         New configmake module, so that "make" output needn't be cluttered
35874         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
35875         * MODULES.html.sh (Support for building libraries and executables):
35876         Add configmake.
35877         * modules/configmake: New file.
35878
35879 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
35880
35881         * m4/config-h.m4: New file.
35882
35883 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
35884
35885         * config/srclist.txt: Add elisp-comp.
35886
35887 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
35888
35889         * MODULES.html.sh (Support for building libraries and executables):
35890         Add elisp-comp.
35891         * build-aux/elisp-comp: New file.
35892         * modules/elisp-comp: New file.
35893
35894 2006-08-24  Bruno Haible  <bruno@clisp.org>
35895
35896         * gnulib-tool (func_create_testdir): Use non-default values of
35897         sourcebase and m4base.
35898
35899 2006-08-24  Bruno Haible  <bruno@clisp.org>
35900
35901         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
35902         HTML structure.
35903
35904 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
35905
35906         * modules/openat (Depends-on): Add lchown.
35907
35908 2006-08-23  Bruno Haible  <bruno@clisp.org>
35909
35910         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
35911         of gl_LOCK_EARLY instead of gl_LOCK.
35912
35913 2006-08-23  Bruno Haible  <bruno@clisp.org>
35914
35915         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
35916         on OSF/1 to no.
35917         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
35918
35919 2006-08-23  Bruno Haible  <bruno@clisp.org>
35920
35921         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
35922         as unusable.
35923
35924         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
35925         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
35926         (gl_LOCK): New macro.
35927
35928 2006-08-22  Simon Josefsson  <jas@extundo.com>
35929
35930         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
35931         to md5 module.
35932
35933 2006-08-22  Simon Josefsson  <jas@extundo.com>
35934
35935         * MODULES.html.sh: Add "Support for maintaining and release
35936         projects".
35937
35938         * build-aux/gnupload: New file, from coreutils.
35939
35940 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
35941
35942         Avoid the need for AC_LIBSOURCES in m4 macros.
35943         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
35944         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
35945         * modules/check-version (EXTRA_DIST): Add check-version.h.
35946         * modules/crc (EXTRA_DIST): Add crc.h.
35947         * modules/des (EXTRA_DIST): Add des.h.
35948         * modules/gc (EXTRA_DIST): Add gc.h.
35949         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
35950         * modules/getline (EXTRA_DIST): Add getline.h.
35951         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
35952         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
35953         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
35954         * modules/md2 (EXTRA_DIST): Add md2.h.
35955         * modules/md4 (EXTRA_DIST): Add md4.h.
35956         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
35957         * modules/read-file (EXTRA_DIST): Add read-file.h.
35958         * modules/readline (EXTRA_DIST): Add readline.h.
35959         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
35960         rijndael-api-fst.h.
35961
35962 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
35963
35964         * m4/rijndael.m4 (gl_ARCFOUR):
35965         * m4/arctwo.m4 (gl_ARCTWO):
35966         * m4/check-version.m4 (gl_CHECK_VERSION):
35967         * m4/crc.m4 (gl_CRC):
35968         * m4/des.m4 (gl_DES):
35969         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
35970         * m4/gc.m4 (gl_GC):
35971         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
35972         * m4/getline.m4 (gl_FUNC_GETLINE):
35973         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
35974         * m4/hmac-md5.m4 (gl_HMAC_MD5):
35975         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
35976         * m4/md2.m4 (gl_MD2):
35977         * m4/md4.m4 (gl_MD4):
35978         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
35979         * m4/read-file.m4 (gl_FUNC_READ_FILE):
35980         * m4/readline.m4 (gl_FUNC_READLINE):
35981         * m4/rijndael.m4 (gl_RIJNDAEL):
35982         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
35983         to get the necessary .h files and whatnot.
35984
35985 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
35986
35987         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
35988         gnulib rather than the other way around.
35989         * config/srclistvars.sh (COREUTILS): Remove.
35990
35991 2006-08-22  Jim Meyering  <jim@meyering.net>
35992
35993         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
35994
35995         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
35996
35997 2006-08-22  Eric Blake  <ebb9@byu.net>
35998
35999         * modules/regexprops-generic: New file.
36000         * MODULES.html.sh (Support for building documentation): List it.
36001
36002 2006-08-22  Eric Blake  <ebb9@byu.net>
36003
36004         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
36005         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
36006         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
36007         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
36008
36009 2006-08-22  Bruno Haible  <bruno@clisp.org>
36010
36011         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
36012         and lib_LTLIBRARIES like the other lib_* variables.
36013
36014 2006-08-22  Bruno Haible  <bruno@clisp.org>
36015
36016         * build-aux/x-to-1.in: New file, from GNU gettext.
36017
36018 2006-08-22  Bruno Haible  <bruno@clisp.org>
36019
36020         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
36021         <utmpx.h> exists.
36022
36023 2006-08-22  Bruno Haible  <bruno@clisp.org>
36024
36025         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
36026         <utmpx.h> exists.
36027
36028 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
36029
36030         BeOS portability.
36031         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
36032         exist.
36033         Problem reported by Bruno Haible.
36034
36035 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
36036
36037         Avoid the need for AC_LIBSOURCES in m4 macros.
36038         * modules/acl (EXTRA_DIST): Add acl.h.
36039         * modules/argmatch (Files): Add m4/argmatch.m4.
36040         (configure.ac): Add gl_ARGMATCH.
36041         (EXTRA_DIST): Renamed from lib_SOURCES, for
36042         consistency with the other modules.  Remove argmatch.c.
36043         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
36044         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
36045         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
36046         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
36047         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
36048         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
36049         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
36050         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
36051         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
36052         * modules/closeout (EXTRA_DIST): Add closeout.h.
36053         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
36054         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
36055         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
36056         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
36057         dirname.h; remove basename.c and stripslash.c.
36058         * modules/exclude (EXTRA_DIST): Add exclude.h.
36059         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
36060         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
36061         * modules/file-type (EXTRA_DIST): Add file-type.h.
36062         * modules/filemode (EXTRA_DIST): Add filemode.h.
36063         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
36064         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
36065         * modules/fpending (EXTRA_DIST): Add __fpending.h.
36066         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
36067         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
36068         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
36069         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
36070         * modules/getdate (EXTRA_DIST): Add getdate.c.
36071         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
36072         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
36073         * modules/getpass (EXTRA_DIST): Add getpass.h.
36074         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
36075         * modules/group-member (EXTRA_DIST): Add group-member.h.
36076         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
36077         * modules/hash (EXTRA_DIST): Add hash.h.
36078         * modules/human (EXTRA_DIST): Add human.h.
36079         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
36080         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
36081         * modules/lchown (EXTRA_DIST): Add lchown.h.
36082         * modules/long-options (EXTRA_DIST): Add long-options.h.
36083         * modules/lstat (EXTRA_DIST): Add lstat.h.
36084         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
36085         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
36086         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
36087         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
36088         * modules/memxor (EXTRA_DIST): Add memxor.h.
36089         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
36090         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
36091         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
36092         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
36093         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
36094         * modules/physmem (EXTRA_DIST): Add physmem.h.
36095         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
36096         * modules/posixver (EXTRA_DIST): Add posixver.h.
36097         * modules/quote (EXTRA_DIST): Add quote.h.
36098         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
36099         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
36100         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
36101         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
36102         regex_internal.h regexec.c.
36103         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
36104         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
36105         * modules/same (EXTRA_DIST): Add same.h.
36106         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
36107         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
36108         * modules/savedir (EXTRA_DIST): Add savedir.h.
36109         * modules/sha1 (EXTRA_DIST): Add sha1.h.
36110         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
36111         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
36112         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
36113         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
36114         * modules/strdup (EXTRA_DIST): Add strdup.h.
36115         * modules/strftime (EXTRA_DIST): Add strftime.h.
36116         * modules/strndup (EXTRA_DIST): Add strndup.h.
36117         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
36118         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
36119         * modules/time_r (EXTRA_DIST): Add time_r.h.
36120         * modules/timespec (EXTRA_DIST): Add timespec.h.
36121         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
36122         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
36123         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
36124         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
36125         * modules/userspec (EXTRA_DIST): Add userspec.h.
36126         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
36127         * modules/utimens (EXTRA_DIST): Add utimens.h.
36128         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
36129         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
36130         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
36131         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
36132         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
36133         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
36134         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
36135         * modules/yesno (EXTRA_DIST): Add yesno.h.
36136
36137 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
36138
36139         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
36140
36141         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
36142         * m4/dev-ino.m4, same-inode.m4: Remove.
36143
36144         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
36145         * m4/acl.m4 (AC_FUNC_ACL):
36146         * m4/backupfile.m4 (gl_BACKUPFILE):
36147         * m4/c-strtod.m4 (gl_C99_STRTOLD):
36148         * m4/canon-host.m4 (gl_CANON_HOST):
36149         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
36150         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
36151         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
36152         * m4/cloexec.m4 (gl_CLOEXEC):
36153         * m4/close-stream.m4 (gl_CLOSE_STREAM):
36154         * m4/closeout.m4 (gl_CLOSEOUT):
36155         * m4/dirfd.m4 (gl_FUNC_DIRFD):
36156         * m4/dirname.m4 (gl_DIRNAME):
36157         * m4/exclude.m4 (gl_EXCLUDE):
36158         * m4/exitfail.m4 (gl_EXITFAIL):
36159         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
36160         * m4/file-type.m4 (gl_FILE_TYPE):
36161         * m4/filemode.m4 (gl_FILEMODE):
36162         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
36163         * m4/fpending.m4 (gl_FUNC_FPENDING):
36164         * m4/fprintftime.m4 (gl_FPRINTFTIME):
36165         * m4/fts.m4 (gl_FUNC_FTS):
36166         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
36167         * m4/getdate.m4 (gl_GETDATE):
36168         * m4/gethrxtime.m4 (gl_GETHRXTIME):
36169         * m4/getpagesize.m4 (gl_GETPAGESIZE):
36170         * m4/getpass.m4 (gl_FUNC_GETPASS):
36171         * m4/gettime.m4 (gl_GETTIME):
36172         * m4/getugroups.m4 (gl_GETUGROUPS):
36173         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
36174         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
36175         * m4/hard-locale.m4 (gl_HARD_LOCALE):
36176         * m4/hash.m4 (gl_HASH):
36177         * m4/idcache.m4 (gl_IDCACHE):
36178         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
36179         * m4/lchown.m4 (gl_FUNC_LCHOWN):
36180         * m4/long-options.m4 (gl_LONG_OPTIONS):
36181         * m4/lstat.m4 (gl_FUNC_LSTAT):
36182         * m4/md5.m4 (gl_MD5):
36183         * m4/memcasecmp.m4 (gl_MEMCASECMP):
36184         * m4/memcoll.m4 (gl_MEMCOLL):
36185         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
36186         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
36187         * m4/memxor.m4 (gl_MEMXOR):
36188         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
36189         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
36190         * m4/modechange.m4 (gl_MODECHANGE):
36191         * m4/mountlist.m4 (gl_MOUNTLIST):
36192         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
36193         * m4/openat.m4 (gl_FUNC_OPENAT):
36194         * m4/pathmax.m4 (gl_PATHMAX):
36195         * m4/physmem.m4 (gl_PHYSMEM):
36196         * m4/posixtm.m4 (gl_POSIXTM):
36197         * m4/posixver.m4 (gl_POSIXVER):
36198         * m4/quote.m4 (gl_QUOTE):
36199         * m4/quotearg.m4 (gl_QUOTEARG):
36200         * m4/readtokens.m4 (gl_READTOKENS):
36201         * m4/readutmp.m4 (gl_READUTMP):
36202         * m4/regex.m4 (gl_REGEX):
36203         * m4/safe-read.m4 (gl_SAFE_READ):
36204         * m4/safe-write.m4 (gl_SAFE_WRITE):
36205         * m4/same.m4 (gl_SAME):
36206         * m4/save-cwd.m4 (gl_SAVE_CWD):
36207         * m4/savedir.m4 (gl_SAVEDIR):
36208         * m4/settime.m4 (gl_SETTIME):
36209         * m4/sha1.m4 (gl_SHA1):
36210         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
36211         * m4/stat-macros.m4 (gl_STAT_MACROS):
36212         * m4/stat-time.m4 (gl_STAT_TIME):
36213         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
36214         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
36215         * m4/strdup.m4 (gl_FUNC_STRDUP):
36216         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
36217         * m4/strndup.m4 (gl_FUNC_STRNDUP):
36218         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
36219         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
36220         * m4/time_r.m4 (gl_TIME_R):
36221         * m4/timespec.m4 (gl_TIMESPEC):
36222         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
36223         * m4/unlinkdir.m4 (gl_UNLINKDIR):
36224         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
36225         * m4/userspec.m4 (gl_USERSPEC):
36226         * m4/utimecmp.m4 (gl_UTIMECMP):
36227         * m4/utimens.m4 (gl_UTIMENS):
36228         * m4/xalloc.m4 (gl_XALLOC):
36229         * m4/xgetcwd.m4 (gl_XGETCWD):
36230         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
36231         * m4/xreadlink.m4 (gl_XREADLINK):
36232         * m4/xstrtod.m4 (gl_XSTRTOD):
36233         * m4/yesno.m4 (gl_YESNO):
36234         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
36235         to get the necessary .h files and whatnot.
36236
36237 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
36238             Bruno Haible  <bruno@clisp.org>
36239
36240         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
36241         /bin/sh understanding of '!' conditional negation.
36242
36243 2006-08-21  Jim Meyering  <jim@meyering.net>
36244
36245         * modules/openat (Depends-on): Really alphabetize.
36246
36247         * modules/acl (Depends-on): Add error and quote.
36248
36249         * check-module (find_included_lib_files): Add at-func.c to the
36250         ok-to-include-more-than-once white list.
36251
36252         * modules/openat (Depends-on): Add lstat.  Alphabetize.
36253
36254 2006-08-21  Bruno Haible  <bruno@clisp.org>
36255
36256         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36257         Emit a pkgdata_DATA variable only if some snippets add contents to it.
36258         Reported by Martin Lambers <marlam@marlam.de>.
36259
36260 2006-08-21  Bruno Haible  <bruno@clisp.org>
36261
36262         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
36263         specify an installation location, don't emit a noinst_LIBRARIES or
36264         noinst_LTLIBRARIES assignment.
36265
36266 2006-08-21  Bruno Haible  <bruno@clisp.org>
36267
36268         BeOS portability.
36269         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
36270         BeOS has mbrtowc() but no <wctype.h>.
36271
36272 2006-08-21  Bruno Haible  <bruno@clisp.org>
36273
36274         BeOS portability.
36275         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
36276         exist.
36277
36278 2006-08-21  Bruno Haible  <bruno@clisp.org>
36279
36280         BeOS portability.
36281         * lib/mbchar.h: Include <wctype.h> only if it exists.
36282
36283 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
36284
36285         Remove files that are no longer needed by their respective modules.
36286         * m4/obstack.m4: Remove.
36287         * m4/strerror_r.m4: Remove.
36288         * m4/uint32_t.m4: Remove.
36289         * m4/uintptr_t.m4: Remove.
36290         * m4/ullong_max.m4: Remove.
36291         * m4/xstrtoimax.m4: Remove.
36292         * m4/xstrtoumax.m4: Remove.
36293
36294         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
36295         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
36296         dependencies now capture this.
36297
36298         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
36299         Do not use AC_LIBSOURCES, since gnulib modules now do this.
36300         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
36301         * m4/human.m4 (gl_HUMAN): Likewise.
36302         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
36303         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
36304
36305         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
36306
36307         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
36308         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
36309         stdint.
36310         * m4/human.m4 (gl_HUMAN): Likewise.
36311         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
36312         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
36313         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
36314         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
36315         * m4/xstrtol (gl_XSTRTOL): Likewise.
36316
36317         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
36318         AC_TYPE_LONG_LONG_INT.
36319         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
36320         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
36321         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
36322         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
36323
36324         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
36325         on stdbool.
36326
36327         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
36328         (gl_PREREQ_XSTRTOUL): Remove.
36329
36330         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
36331
36332         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
36333         mode.
36334
36335 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
36336
36337         Add and change modules to make it easier for coreutils to use
36338         gnulib-tool.
36339         * modules/backupfile (Files): Remove m4/d-ino.m4.
36340         (Depends-on): Add d-ino.
36341         * modules/cycle-check (Depends-on): Add stdint.
36342         (lib_SOURCES): Add cycle-check.h.
36343         * modules/d-ino: New module.
36344         * modules/d-type: New module.
36345         * modules/error (Files): Remove m4/strerror_r.m4.
36346         * modules/filemode (Files): Add m4/st_dm_mode.m4.
36347         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
36348         m4/inttypes_h.m4, m4/uintmax_t.m4.
36349         (Depends-on): Add stdint.
36350         (lib_SOURCES): Add fsusage.h.
36351         * modules/getcwd (Files): Remove d-ino.m4.
36352         (Depends-on): Add d-ino.
36353         * modules/getndelim2 (Depends-on): Add stdint.
36354         * modules/glob (Files): Remove m4/d-type.m4.
36355         (Depends-on): Add d-type.
36356         * modules/host-os: New module.
36357         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
36358         m4/inttypes_h.m4, m4/uintmax_t.m4.
36359         * Depends-on: Add stdint.
36360         (lib_SOURCES): Add human.h.
36361         * modules/inttostr (Files): Remove m4/intmax_t.m4,
36362         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
36363         m4/uintmax_t.m4, m4/ulonglong.m4.
36364         (Depends-on): Add stdint.
36365         (EXTRA_DIST): Add inttostr.h.
36366         * modules/lchmod: New module.
36367         * modules/link-follow: New module.
36368         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
36369         (Depends-on): Add lchmod.
36370         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
36371         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
36372         (Depends-on): Add stdint.
36373         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
36374         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
36375         (Depends-on): Add stdint.
36376         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
36377         * modules/perl: New module.
36378         * modules/regex (Depends-on): Add stdint.
36379         * modules/rmdir-errno: New module.
36380         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
36381         m4/intmax_t.m4.
36382         (Depends-on): Add stdint.
36383         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
36384         m4/uintmax_t.m4.
36385         (Depends-on): Add stdint.
36386         * modules/unlink-busy: New module.
36387         * modules/utimecmp (Depends-on): Add stdint.
36388         * modules/uptime: New module.
36389         * modules/winsz-ioctl: New module.
36390         * modules/winsz-termios: New module.
36391         * modules/xnanosleep (Depends-on): Add nanosleep.
36392         * modules/ullong_max: Remove.
36393         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
36394         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
36395         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
36396         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
36397         (Depends-on): Add inttypes.
36398         (lib_SOURCES): Add xstrtol.h.
36399         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
36400         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
36401         * MODULES.html.sh: Move 'assert' into the assert section.
36402         Move 'dummy' into the linking section.
36403         Remove ullong_max.
36404         Add section for compatibility checks for POSIX:2001 functions,
36405         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
36406         winsz-ioctl, and winsz-termios into it.
36407         Add lchmod.
36408         Add top-level Misc section and put host-os, perl, and uptime
36409         into it.
36410
36411 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
36412
36413         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
36414         now assume the stdint module.  Do not include inttypes.h.
36415         * lib/fsusage.h: Likewise.
36416         * lib/getndelim2.c: Likewise.
36417         * lib/human.h: Likewise.
36418         * lib/inttostr.h: Likewise.
36419         * lib/obstack.c: Likewise.
36420         * lib/regex_internal.h: Likewise.
36421         * lib/tempname.c: Likewise.
36422         * lib/utimecmp.c: Likewise.
36423         * lib/xstrtol.h: Likewise.
36424
36425         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
36426
36427         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
36428         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
36429         * lib/xtime.h: Likewise.
36430
36431 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
36432
36433         * modules/openat (Files): Add lib/fchmodat.c.
36434         Fixes problem reported by Jay Youngman.
36435
36436 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
36437
36438         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
36439         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
36440
36441 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
36442             Bruno Haible  <bruno@clisp.org>
36443
36444         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
36445         and is a script that invokes bison. Tighten the code. Add comments.
36446
36447 2006-08-18  Jim Meyering  <jim@meyering.net>
36448
36449         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
36450         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
36451         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
36452         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
36453
36454 2006-08-18  Bruno Haible  <bruno@clisp.org>
36455
36456         * modules/bison-i18n: New file.
36457         * MODULES.html.sh (Internationalization functions): Add it.
36458
36459 2006-08-18  Bruno Haible  <bruno@clisp.org>
36460
36461         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
36462         sys/statvfs.h. When getmntinfo was found, check its declaration and
36463         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
36464
36465 2006-08-18  Bruno Haible  <bruno@clisp.org>
36466
36467         * m4/bison-i18n.m4: New file, from bison.
36468
36469 2006-08-18  Bruno Haible  <bruno@clisp.org>
36470
36471         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
36472         (ME_DUMMY): Treat "kernfs" as a dummy.
36473         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
36474
36475 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
36476
36477         Update from coreutils.
36478
36479         2006-08-15  Jim Meyering  <jim@meyering.net>
36480
36481         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
36482
36483         2006-01-17  Jim Meyering  <jim@meyering.net>
36484
36485         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
36486
36487         2006-01-11  Jim Meyering  <jim@meyering.net>
36488
36489         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
36490         Check for the lchmod function.
36491
36492 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
36493
36494         Update from coreutils.
36495
36496         * lib/__fpending.h: Add copyright notice.
36497         * lib/fprintftime.h: Likewise.
36498         * lib/savedir.c: Use (C) in copyright notice.
36499         * lib/savedir.h: Likewise.
36500
36501         2006-08-15  Jim Meyering  <jim@meyering.net>
36502
36503         * lib/at-func.c: New file, with the logic of all emulated at-functions.
36504         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
36505         in support of the EXPECTED_ERRNO macro.
36506         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
36507         definitions.  Instead, define the appropriate symbols and include
36508         "at-func.c".
36509         * lib/mkdirat.c (mkdirat): Likewise.
36510         * lib/fchmodat.c (fchmodat): Likewise.
36511         (ENOSYS): Remove definition.
36512         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
36513         it.  Don't include "unistd--.h" -- it wasn't ever used.
36514
36515         2006-01-17  Jim Meyering  <jim@meyering.net>
36516
36517         Rewrite fts.c not to change the current working directory,
36518         by using openat, fstatat, fdopendir, etc..
36519
36520         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
36521         (HAVE_OPENAT_SUPPORT): Define.
36522         [_LIBC] (fchdir): Don't undef or define; no longer used.
36523         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
36524         Now, this `function' always succeeds, and consumes its file descriptor
36525         parameter -- so callers must not close such FDs.  Update callers.
36526         (diropen_fd, opendirat, cwd_advance_fd): New functions.
36527         (diropen): Add parameter, SP.  Adjust all callers.
36528         Implement using diropen_fd, rather than open.
36529         (fts_open): Initialize new member, fts_cwd_fd.
36530         Remove fts_rft-setting code.
36531         (fts_close): Close fts_cwd_fd, if necessary.
36532         (__opendir2): Define in terms of opendir or opendirat,
36533         depending on whether the FST_NOCHDIR flag is set.
36534         (fts_build): Since fts_safe_changedir consumes its FD, and since
36535         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
36536         and close the dup'd file descriptor upon failure.
36537         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
36538         (fts_safe_changedir): Tweak semantics to reflect that this function
36539         now calls cwd_advance_fd and hence consumes its FD argument.
36540         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
36541         [struct FTS] (fts_rft): Remove now-unused member.
36542         [struct FTS] (fts_cycle.state): Improve comment.
36543
36544         * lib/openat.c (openat_needs_fchdir): New function.
36545         * lib/openat.h (openat_needs_fchdir): Declare it.
36546
36547 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
36548
36549         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
36550         Problem and fix reported by Pádraig Brady in
36551         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
36552
36553 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
36554
36555         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
36556
36557 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
36558
36559         * lib/memcoll.c (memcoll): Optimize for the common case where the
36560         arguments are bytewise equal.
36561
36562 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
36563
36564         * doc/regexprops-generic.texi: Add a copyright notice.
36565
36566 2006-08-15  Bruno Haible  <bruno@clisp.org>
36567
36568         * modules/tmpdir (License): Change to LGPL.
36569
36570 2006-08-15  Bruno Haible  <bruno@clisp.org>
36571
36572         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
36573         module.
36574
36575 2006-08-14  Simon Josefsson  <jas@extundo.com>
36576
36577         * config/srclist.txt: Add gnupload.
36578
36579 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
36580
36581         Change copyright notice from LGPL 2 to GPL 2, since that's the
36582         standard form used in the gnulib repository.
36583         * tests/test-lock.c: Likewise.
36584         * tests/test-stdint.c: Likewise.
36585         * tests/test-tls.c: Likewise.
36586
36587         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
36588         prelude-manager.  User shorter URLs for GNU projects, without '?'.
36589         Add copyright notice.
36590
36591         * check-module: Add copyright notice.  Output a copyright
36592         notice if "--version" is specified.
36593         * modules/COPYING: New file.
36594         * tests/test-getaddrinfo.c: Add copyright notice.
36595         * tests/test-verify.c: Likewise.
36596
36597 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
36598
36599         Change copyright notice from LGPL 2 to GPL 2, since that's the
36600         standard form used in the gnulib repository.
36601         * lib/lock.c: LGPL -> GPL.
36602         * lib/lock.h: Likewise.
36603         * lib/strnlen1.c: Likewise.
36604         * lib/strnlen1.h: Likewise.
36605         * lib/tls.c: Likewise.
36606         * lib/tls.h: Likewise.
36607         * lib/tmpdir.c: Likewise.
36608
36609         * lib/TODO: Remove; this belongs only in coreutils.
36610
36611 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
36612
36613         Add copyright notices to long-enough files that lack them, since
36614         otherwise the files aren't clearly free.  Use the same notice that
36615         getdate.texi already uses.
36616         * doc/alloca-opt.texi: Add copyright notice.
36617         * doc/alloca.texi: Likewise.
36618         * doc/ctime.texi: Likewise.
36619         * doc/functions.texi: Likewise.
36620         * doc/gcd.texi: Likewise.
36621         * doc/gnulib-tool.texi: Likewise.
36622         * doc/inet_ntoa.texi: Likewise.
36623         * doc/visibility.texi: Likewise.
36624
36625         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
36626         * doc/quote.texi: Add copyright notice.
36627
36628         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
36629         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
36630         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
36631         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
36632         is now obsolete, and give a pointer to the Sun list.
36633         Add copyright notice.
36634
36635 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
36636
36637         * config/srclistvars.sh: Add copyright notice.
36638
36639 2006-08-14  Eric Blake  <ebb9@byu.net>
36640
36641         Import the following change from libc:
36642
36643         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
36644
36645         Upstream bug 2997.
36646         * lib/misc/error.c: Add space between program name and message if file
36647         name is missing.
36648
36649 2006-08-12  Karl Berry  <karl@gnu.org>
36650
36651         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
36652         remove, these originate in gnulib now.
36653
36654 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36655
36656         * doc/Makefile (standards.info standards.html standards.dvi):
36657         Also depend on make-stds.texi.
36658
36659 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
36660
36661         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
36662         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
36663
36664         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
36665         in wchar_t.  Problem reported by Eric Blake.
36666
36667         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
36668         LEN is smaller than SIZE.  Suggested by Bruno Haible.
36669         Also, help the compiler to keep LEN in a register.
36670
36671 2006-08-11  Eric Blake  <ebb9@byu.net>
36672
36673         * users.txt: Sort.  Add tar.
36674
36675 2006-08-11  Bruno Haible  <bruno@clisp.org>
36676
36677         * users.txt: New file.
36678
36679 2006-08-11  Bruno Haible  <bruno@clisp.org>
36680
36681         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
36682         before <wchar.h>. Needed for OSF/1 and BSD/OS.
36683
36684 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
36685
36686         * modules/snprintf (Depends-on): Remove minmax.
36687         (Maintainer): Add self and Bruno.
36688
36689 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
36690
36691         * lib/.cppi-disable: Add snprintf.h, socket_.h.
36692         * lib/snprintf.c: Include <errno.h> and <limits.h>.
36693         (EOVERFLOW): Define if the system does not.
36694         Do not include "minmax.h"; it wasn't used.
36695         (snprintf): Don't assume size_t promotes to an unsigned type.
36696         Fix bug when generated string was too long for the buffer: the
36697         buffer's contents are supposed to be the initial prefix of the
36698         output.  Don't assume vasnprintf returns EOVERFLOW if the size
36699         exceeds INT_MAX; do the check ourselves.
36700
36701         Import the following changes from libc:
36702
36703         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
36704
36705         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
36706         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
36707         set wc to the byte which couldn't be converted.
36708         (re_string_reconstruct): Don't clear valid_raw_len before calling
36709         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
36710         tip_context using re_string_context_at.
36711
36712         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
36713
36714         * lib/posix/regex.h: g++ still cannot handled [restrict].
36715
36716         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
36717
36718         * lib/posix/regex.h: Remove special handling for VMS.
36719
36720 2006-08-10  Jim Meyering  <jim@meyering.net>
36721
36722         * modules/same-inode: New module.
36723         * modules/dev-ino: New module.
36724         * modules/cycle-check: Depend on these modules, rather than simply
36725         including their .h files.
36726         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
36727         required via m4/cycle-check.m4.
36728         * modules/same: Depend on new same-inode module, rather than
36729         including same-inode.h.
36730         * modules/chdir-safer: New file.
36731
36732         * modules/chown (Depends-on): Add stat-macros.
36733
36734 2006-08-10  Jim Meyering  <jim@meyering.net>
36735
36736         * m4/cycle-check.m4: New file.
36737         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
36738         * m4/dev-ino.m4, m4/same-inode.m4: New files.
36739
36740 2006-08-10  Eric Blake  <ebb9@byu.net>
36741
36742         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
36743         in from original proposal.
36744
36745 2006-08-10  Eric Blake  <ebb9@byu.net>
36746         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
36747
36748         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
36749         namespace.
36750
36751 2006-08-10  Bruno Haible  <bruno@clisp.org>
36752
36753         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
36754         as well.
36755
36756 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
36757
36758         Sync from coreutils.
36759
36760         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
36761
36762         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
36763         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
36764
36765 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
36766
36767         * modules/restrict: Remove; no longer needed now that we assume
36768         Autoconf 2.59 or later.
36769         * MODULES.html.sh: Remove 'restrict'.
36770         * modules/argp (Depends-on): Remove 'restrict'.
36771         * modules/base64 (Depends-on): Likewise.
36772         * modules/gc (Depends-on): Likewise.
36773         * modules/getaddrinfo (Depends-on): Likewise.
36774         * modules/glob (Depends-on): Likewise.
36775         * modules/inet_ntop (Depends-on): Likewise.
36776         * modules/inet_pton (Depends-on): Likewise.
36777         * modules/memxor (Depends-on): Likewise.
36778         * modules/regex (Depends-on): Likewise.
36779         * modules/strtok_r (Depends-on): Likewise.
36780         * modules/time_r (Depends-on): Likewise.
36781
36782 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
36783
36784         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
36785         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
36786         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
36787         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
36788         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
36789         * m4/memxor.m4 (gl_MEMXOR): Likewise.
36790         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
36791         gl_C_RESTRICT replaced by AC_C_RESTRICT.
36792
36793         Merge from coreutils.
36794         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
36795         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
36796         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
36797         * m4/time_r.m4 (gl_TIME_R): Likewise.
36798
36799 2006-08-09  Karl Berry  <karl@gnu.org>
36800
36801         * config/srclist.txt: no more gettext-tools, per Bruno.
36802
36803 2006-08-08  Eric Blake  <ebb9@byu.net>
36804
36805         * modules/verror: New module.
36806         * MODULES.html.sh: Document it.
36807
36808 2006-08-08  Eric Blake  <ebb9@byu.net>
36809
36810         * lib/verror.h, lib/verror.c: New files.
36811
36812 2006-08-08  Eric Blake  <ebb9@byu.net>
36813
36814         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
36815         verror_at_line output complies with GNU Coding Standards even when
36816         file is NULL.
36817
36818 2006-08-07  Bruno Haible  <bruno@clisp.org>
36819
36820         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
36821         versions of AIX.
36822         Reported by Ralf Wildenhues.
36823
36824 2006-08-07  Bruno Haible  <bruno@clisp.org>
36825
36826         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
36827         in an AC_DEFUN. Needed so that the autoconf snippets can use
36828         AC_REQUIRE.
36829
36830 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36831
36832         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36833         Initialize pkgdata_DATA.
36834         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
36835         overriding it.
36836
36837 2006-08-06  Eric Blake  <ebb9@byu.net>
36838
36839         * lib/error.h: Fold in some upstream changes from glibc.
36840         * lib/error.c: Likewise.
36841
36842 2006-08-04  Bruno Haible  <bruno@clisp.org>
36843
36844         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36845         Make the mostlyclean-local rule depend on mostlyclean-generic.
36846         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
36847
36848 2006-07-31  Bruno Haible  <bruno@clisp.org>
36849
36850         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
36851         <stdlib.h>, <string.h>.
36852
36853 2006-07-30  Bruno Haible  <bruno@clisp.org>
36854
36855         * modules/readlink (License): Change to LGPL.
36856
36857 2006-07-30  Bruno Haible  <bruno@clisp.org>
36858
36859         * modules/javaversion (Makefile.am): Distribute javaversion.java and
36860         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
36861         set PKGDATADIR to point to it.
36862
36863 2006-07-30  Bruno Haible  <bruno@clisp.org>
36864
36865         * modules/csharpexec (configure.ac): Comment out macro invocation.
36866         * modules/javaexec (configure.ac): Likewise.
36867         * modules/javacomp-script (configure.ac): Likewise.
36868
36869         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
36870
36871 2006-07-30  Bruno Haible  <bruno@clisp.org>
36872
36873         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
36874         linked-list.
36875
36876 2006-07-30  Bruno Haible  <bruno@clisp.org>
36877
36878         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
36879
36880 2006-07-30  Bruno Haible  <bruno@clisp.org>
36881
36882         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36883         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
36884         get removed.
36885
36886 2006-07-29  Bruno Haible  <bruno@clisp.org>
36887
36888         Make it possible for gnulib-tool to work with locally modified or
36889         augmented gnulib repositories.
36890         * gnulib-tool (func_usage): Document --local-dir option.
36891         (local_gnulib_dir): New variable.
36892         Handle --local-dir option.
36893         (func_lookup_file): New function.
36894         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
36895         (func_get_description, func_get_filelist, func_get_description,
36896         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
36897         func_get_automake_snippet, func_get_include_directive,
36898         func_get_license, func_get_maintainer): Use func_lookup_file.
36899         (func_import, func_create_testdir): Use func_lookup_file.
36900
36901 2006-07-29  Bruno Haible  <bruno@clisp.org>
36902
36903         * modules/setenv (Depends-on): Add unistd.
36904
36905 2006-07-29  Bruno Haible  <bruno@clisp.org>
36906
36907         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
36908
36909 2006-07-29  Bruno Haible  <bruno@clisp.org>
36910
36911         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
36912
36913 2006-07-29  Bruno Haible  <bruno@clisp.org>
36914
36915         * gnulib-tool (import, update): If there is no Makefile.am, look at
36916         aclocal.m4, instead of bailing out.
36917
36918 2006-07-29  Bruno Haible  <bruno@clisp.org>
36919
36920         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
36921         Categorize the options by when they are useful.
36922
36923 2006-07-29  Bruno Haible  <bruno@clisp.org>
36924
36925         * gnulib-tool (func_usage): Document option --no-libtool.
36926         Handle option --no-libtool.
36927         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
36928         for changed semantics of $libtool variable.
36929         (func_import): Likewise. If libtool is not used, show this through
36930         an option --no-libtool.
36931         (func_create_testdir): Update.
36932
36933 2006-07-29  Bruno Haible  <bruno@clisp.org>
36934
36935         * gnulib-tool (func_import): Extend error message about missing
36936         --doc-base.
36937
36938 2006-07-29  Bruno Haible  <bruno@clisp.org>
36939
36940         * gnulib-tool (func_import): Don't create the $docbase directory if
36941         there is no file to store there.
36942
36943 2006-07-29  Bruno Haible  <bruno@clisp.org>
36944
36945         * gnulib-tool (autoconf_minversion): If a --dir option is given and
36946         relevant, look for configure.ac there, not in the current directory.
36947         Also use a simple search for AC_PREREQ, not "autoconf --trace".
36948
36949 2006-07-29  Bruno Haible  <bruno@clisp.org>
36950
36951         * gnulib-tool (SORT): New variable.
36952         (func_usage): Undocument --assume-autoconf option.
36953         Remove --assume-autoconf option handling.
36954         (autoconf_minversion): Determine from the contents of configure.ac.
36955         (func_import): Remove autoconf_minversion handling.
36956         Suggested by Eric Blake.
36957
36958 2006-07-29  Bruno Haible  <bruno@clisp.org>
36959
36960         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
36961
36962 2006-07-29  Bruno Haible  <bruno@clisp.org>
36963
36964         * config/srclist.txt (*setenv.[ch]): Remove rules.
36965
36966 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36967
36968         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
36969
36970 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36971
36972         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
36973         arpa/inet.h.
36974
36975 2006-07-28  Simon Josefsson  <jas@extundo.com>
36976
36977         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
36978         * modules/inet_pton (Depends-on): Likewise.
36979
36980 2006-07-28  Simon Josefsson  <jas@extundo.com>
36981
36982         * m4/netinet_in_h.m4: New file.
36983
36984 2006-07-28  Simon Josefsson  <jas@extundo.com>
36985
36986         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
36987         #include's.
36988
36989 2006-07-28  Simon Josefsson  <jas@extundo.com>
36990
36991         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
36992         #include's.
36993
36994 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
36995
36996         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
36997         setgid on directories only if they set these bits.
36998         * lib/modechange.h: Remove obsolete comment about masks.
36999
37000 2006-07-28  Eric Blake  <ebb9@byu.net>
37001
37002         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
37003         macro expansion.
37004
37005 2006-07-28  Bruno Haible  <bruno@clisp.org>
37006
37007         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
37008
37009 2006-07-28  Bruno Haible  <bruno@clisp.org>
37010
37011         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
37012
37013 2006-07-28  Bruno Haible  <bruno@clisp.org>
37014
37015         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
37016         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
37017         Define fallbacks.
37018         Avoids link error on FreeBSD 4.x.
37019         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37020
37021         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
37022         encoding.
37023         * lib/mbswidth.c (iswcntrl): Likewise.
37024
37025 2006-07-27  Bruno Haible  <bruno@clisp.org>
37026
37027         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
37028         test.
37029
37030 2006-07-27  Bruno Haible  <bruno@clisp.org>
37031
37032         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
37033         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
37034         defined.
37035
37036 2006-07-26  Eric Blake  <ebb9@byu.net>
37037
37038         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
37039
37040 2006-07-26  Eric Blake  <ebb9@byu.net>
37041
37042         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
37043         like mingw that lack mkstemp.
37044         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
37045         avoid compilation warning on mingw.
37046
37047 2006-07-26  Bruno Haible  <bruno@clisp.org>
37048
37049         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
37050         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
37051         INT_FAST*_MIN, INTPTR_MIN.
37052
37053 2006-07-25  Bruno Haible  <bruno@clisp.org>
37054
37055         * modules/version-etc (Depends-on): Add stdarg.
37056
37057 2006-07-25  Bruno Haible  <bruno@clisp.org>
37058
37059         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
37060         complex commands.
37061
37062 2006-07-25  Bruno Haible  <bruno@clisp.org>
37063
37064         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
37065         defined in <stdarg.h> or config.h.
37066
37067 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
37068
37069         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
37070         (gl_STDIO_SAFER): Remove.
37071
37072 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
37073
37074         * MODULES.html.sh (File stream based Input/Output):
37075         Add fopen-safer, tmpfile-safer; remove stdio-safer.
37076         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
37077         * modules/fopen-safer, modules/tmpfile-safer: New files.
37078         * modules/stdio-safer: Remove.
37079
37080 2006-07-24  Bruno Haible  <bruno@clisp.org>
37081
37082         * modules/tmpdir: New file.
37083         * MODULES.html.sh (File system functions): Add it.
37084
37085 2006-07-24  Bruno Haible  <bruno@clisp.org>
37086
37087         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
37088         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
37089
37090 2006-07-24  Bruno Haible  <bruno@clisp.org>
37091
37092         * modules/clean-temp: New file.
37093
37094 2006-07-24  Bruno Haible  <bruno@clisp.org>
37095
37096         * m4/tmpdir.m4: New file, from GNU gettext.
37097
37098 2006-07-24  Bruno Haible  <bruno@clisp.org>
37099
37100         * lib/tmpdir.h: New file, from GNU gettext.
37101         * lib/tmpdir.c: New file, from GNU gettext.
37102
37103 2006-07-24  Bruno Haible  <bruno@clisp.org>
37104
37105         * lib/clean-temp.h: New file, from GNU gettext.
37106         * lib/clean-temp.c: New file, from GNU gettext.
37107
37108 2006-07-23  Eric Blake  <ebb9@byu.net>
37109
37110         * modules/stdio-safer (Files): Add tmpfile-safer.c.
37111         (Depends-on): Add binary-io.
37112
37113 2006-07-23  Eric Blake  <ebb9@byu.net>
37114
37115         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
37116
37117 2006-07-23  Eric Blake  <ebb9@byu.net>
37118
37119         * lib/tmpfile-safer.c: New file.
37120         * lib/stdio-safer.h (fopen_safer): Add prototype.
37121         * lib/stdio--.h (tmpfile): Make safer.
37122
37123 2006-07-23  Bruno Haible  <bruno@clisp.org>
37124
37125         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
37126         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
37127         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
37128         gl_linked_remove_at): Use it.
37129
37130 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37131         and Simon Josefsson <jas@extundo.com>
37132
37133         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
37134
37135         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
37136
37137 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
37138
37139         * modules/close-stream: New file.
37140         * modules/closeout (Description): Make it clear that it exits
37141         with a diagnostic on error.
37142         (Depends-on): Add close-stream.  Remove fpending, stdbool.
37143         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
37144
37145 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
37146
37147         * m4/close-stream.m4: New file.
37148
37149 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
37150
37151         * lib/close-stream.c, lib/close-stream.h: New files.
37152
37153 2006-07-22  Bruno Haible  <bruno@clisp.org>
37154
37155         Merge from GNU gettext 0.15.
37156
37157         2006-05-01  Bruno Haible  <bruno@clisp.org>
37158
37159                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
37160
37161         2006-07-22  Bruno Haible  <bruno@clisp.org>
37162
37163                 * modules/javaversion: New file.
37164                 * MODULES.html.sh (Java): Add javaversion.
37165
37166         2006-03-12  Bruno Haible  <bruno@clisp.org>
37167
37168                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
37169
37170         2005-12-04  Bruno Haible  <bruno@clisp.org>
37171
37172                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
37173                 (untested).
37174
37175         2006-06-21  Bruno Haible  <bruno@clisp.org>
37176
37177                 Avoid warnings from recent versions of mcs.
37178                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
37179                 -o, -L, -r any more. Use options documented since mcs-1.0
37180                 instead. Similarly for -g.
37181
37182         2005-12-04  Bruno Haible  <bruno@clisp.org>
37183
37184                 * build-aux/csharpcomp.sh.in: Suffix for resources is
37185                 .resources, not .resource.
37186
37187         2005-07-09  Bruno Haible  <bruno@clisp.org>
37188
37189                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
37190                 add a .dll suffix.
37191                 Reported by Mark Junker <mjscod@gmx.de>.
37192
37193         2006-07-22  Bruno Haible  <bruno@clisp.org>
37194
37195                 * modules/gettext: Upgrade to gettext-0.15.
37196                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
37197                 m4/visibility.m4.
37198                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
37199
37200 2006-07-22  Bruno Haible  <bruno@clisp.org>
37201
37202         Merge from GNU gettext 0.15.
37203
37204         2006-03-25  Bruno Haible  <bruno@clisp.org>
37205
37206                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
37207
37208         2006-07-21  Bruno Haible  <bruno@clisp.org>
37209
37210                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
37211                 "1.1".
37212
37213         2006-05-09  Bruno Haible  <bruno@clisp.org>
37214
37215                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
37216                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
37217                 for the conftestver execution.
37218
37219         2006-05-01  Bruno Haible  <bruno@clisp.org>
37220
37221                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
37222                 optional target-version argument. Verify that the compiler
37223                 groks source of the specified source-version, or add -source
37224                 option as necessary. Verify that the compiler produces
37225                 bytecode in the specified target-version, or add -target and
37226                 -source options as necessary. Make the result of the test
37227                 available as variable CONF_JAVAC. Also log error output in
37228                 config.log.
37229
37230         2006-03-11  Bruno Haible  <bruno@clisp.org>
37231
37232                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
37233
37234         2006-05-09  Bruno Haible  <bruno@clisp.org>
37235
37236                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
37237                 CLASSPATH_SEPARATOR to a semicolon.
37238
37239         2006-03-12  Bruno Haible  <bruno@clisp.org>
37240
37241                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
37242                 available as variable CONF_JAVA, for subsequent autoconf
37243                 tests. Also log error output in config.log.
37244
37245         2006-07-19  Bruno Haible  <bruno@clisp.org>
37246
37247                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
37248                 that getline works on glibc2 systems. Needed to avoid trouble
37249                 in relocatable.c.
37250                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
37251
37252         2005-12-04  Bruno Haible  <bruno@clisp.org>
37253
37254                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
37255                 launcher (untested).
37256
37257         2005-12-04  Bruno Haible  <bruno@clisp.org>
37258
37259                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
37260
37261         2006-07-22  Bruno Haible  <bruno@clisp.org>
37262
37263                 * gettext.m4: Update from GNU gettext-0.15.
37264                 * nls.m4: Likewise.
37265                 * po.m4: Likewise.
37266                 * inttypes-pri.m4: Likewise.
37267                 * inttypes-h.m4: Renamed from inttypes.m4.
37268                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
37269
37270 2006-07-22  Bruno Haible  <bruno@clisp.org>
37271
37272         Merge from GNU gettext 0.15.
37273
37274         2005-07-05  Bruno Haible  <bruno@clisp.org>
37275
37276                 * printf-args.c (printf_fetchargs): Work around broken
37277                 definition of wint_t on mingw.
37278
37279         2005-02-12  Bruno Haible  <bruno@clisp.org>
37280
37281                 * xallocsa.h: Add extern "C" for C++.
37282
37283         2006-05-17  Bruno Haible  <bruno@clisp.org>
37284
37285                 Cygwin portability.
37286                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
37287
37288         2006-04-30  Bruno Haible  <bruno@clisp.org>
37289
37290                 * progreloc.c: Include <mach-o/dyld.h> if available.
37291                 (find_executable): Use _NSGetExecutablePath when possible.
37292
37293         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
37294
37295                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
37296                 function.
37297
37298         2005-12-29  Bruno Haible  <bruno@clisp.org>
37299
37300                 * progreloc.c (set_program_name_and_installdir): Fix
37301                 compilation error.
37302
37303         2005-12-04  Bruno Haible  <bruno@clisp.org>
37304
37305                 Cygwin portability.
37306                 * progreloc.c: Include <windows.h> also on Cygwin.
37307                 (find_executable): Add support for Cygwin.
37308                 (set_program_name_and_installdir): Handle also platforms with
37309                 nonempty EXEEXT.
37310
37311         2006-07-11  Bruno Haible  <bruno@clisp.org>
37312
37313                 * javacomp.c: Fix a comment.
37314                 Reported by Jim Meyering.
37315
37316         2006-04-30  Bruno Haible  <bruno@clisp.org>
37317
37318                 * javacomp.h (compile_java_class): Add source_version,
37319                 target_version arguments.
37320                 * javacomp.c: Rewritten to choose only a compiler that
37321                 respects the specified source_version and target_version.
37322
37323         2006-06-27  Bruno Haible  <bruno@clisp.org>
37324
37325                 Assume correct S_ISDIR macro.
37326                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
37327
37328         2006-07-22  Bruno Haible  <bruno@clisp.org>
37329
37330                 * javaversion.h: New file, from GNU gettext.
37331                 * javaversion.c: New file, from GNU gettext.
37332                 * javaversion.java: New file, from GNU gettext.
37333                 * javaversion.class: New file, from GNU gettext.
37334
37335         2006-05-17  Bruno Haible  <bruno@clisp.org>
37336
37337                 Cygwin portability.
37338                 * javaexec.c (execute_java_class): Test for jview program
37339                 also on Cygwin.
37340
37341         2006-04-09  Bruno Haible  <bruno@clisp.org>
37342
37343                 * fatal-signal.c: Don't include string.h.
37344                 (at_fatal_signal): Use a copying loop instead of memcpy.
37345
37346         2005-12-04  Bruno Haible  <bruno@clisp.org>
37347
37348                 * csharpexec.c: Add support for 'clix' launcher (untested).
37349                 (execute_csharp_using_sscli): New function.
37350                 (execute_csharp_program): Call it.
37351
37352         2006-06-21  Bruno Haible  <bruno@clisp.org>
37353
37354                 Avoid warnings from recent versions of mcs.
37355                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
37356                 -o, -L, -r any more. Use options documented since mcs-1.0
37357                 instead. Similarly for -g.
37358
37359         2005-07-09  Bruno Haible  <bruno@clisp.org>
37360
37361                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
37362                 add a .dll suffix.
37363                 Reported by Mark Junker <mjscod@gmx.de>.
37364
37365         2006-06-17  Bruno Haible  <bruno@clisp.org>
37366
37367                 * config.charset: Update for NetBSD 3.0.
37368
37369         2006-05-17  Bruno Haible  <bruno@clisp.org>
37370
37371                 Cygwin portability.
37372                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
37373
37374         2006-05-16  Bruno Haible  <bruno@clisp.org>
37375
37376                 * localcharset.c [CYGWIN]: Include <windows.h>.
37377                 (get_charset_aliases): For Cygwin, return the same CPxxx
37378                 aliases list as under WIN32.
37379                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
37380                 the environment variables. Fall back to GetACP().
37381
37382         2006-04-05  Bruno Haible  <bruno@clisp.org>
37383
37384                 * config.charset: Update Juan Manuel Guerrero's address.
37385
37386         2005-02-12  Bruno Haible  <bruno@clisp.org>
37387
37388                 * allocsa.h: Add extern "C" for C++.
37389
37390         2005-02-10  Bruno Haible  <bruno@clisp.org>
37391
37392                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
37393                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
37394
37395         2006-07-22  Bruno Haible  <bruno@clisp.org>
37396
37397                 * gettext.h: Update to GNU gettext-0.15.
37398
37399 2006-07-22  Bruno Haible  <bruno@clisp.org>
37400
37401         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
37402         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
37403         lib-prefix.m4, longdouble.m4, ssize_t.m4.
37404
37405 2006-07-21  Eric Blake  <ebb9@byu.net>
37406
37407         * modules/stdlib-safer: New file.
37408         * MODULES.html.sh (File stream based Input/Output): Add
37409         stdlib-safer.
37410
37411 2006-07-21  Eric Blake  <ebb9@byu.net>
37412
37413         * lib/stdlib-safer.h: New file from coreutils, required by
37414         stdlib--.h.
37415
37416 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
37417
37418         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
37419
37420 2006-07-20  Bruno Haible  <bruno@clisp.org>
37421
37422         * gnulib-tool: Recognize new option --assume-autoconf.
37423         (autoconf_minversion): New variable.
37424         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
37425
37426 2006-07-20  Bruno Haible  <bruno@clisp.org>
37427
37428         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
37429
37430 2006-07-19  Derek R. Price  <derek@ximbiot.com>
37431
37432         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
37433         Reindent and repaginate.
37434
37435 2006-07-19  Derek Price  <derek@ximbiot.com>
37436
37437         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
37438         Correct grammar.
37439
37440 2006-07-17  Bruno Haible  <bruno@clisp.org>
37441
37442         * modules/list: New file.
37443         * modules/array-list: New file.
37444         * modules/carray-list, modules/carray-list-tests: New files.
37445         * modules/linked-list, modules/linked-list-tests: New files.
37446         * modules/avltree-list, modules/avltree-list-tests: New files.
37447         * modules/rbtree-list, modules/rbtree-list-tests: New files.
37448         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
37449         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
37450         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
37451         * modules/oset: New file.
37452         * modules/array-oset: New file.
37453         * modules/avltree-oset, modules/avltree-oset-tests: New files.
37454         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
37455         * tests/test-carray_list.c: New file.
37456         * tests/test-linked_list.c: New file.
37457         * tests/test-avltree_list.c: New file.
37458         * tests/test-rbtree_list.c: New file.
37459         * tests/test-linkedhash_list.c: New file.
37460         * tests/test-avltreehash_list.c: New file.
37461         * tests/test-rbtreehash_list.c: New file.
37462         * tests/test-avltree_oset.c: New file.
37463         * tests/test-rbtree_oset.c: New file.
37464         * MODULES.html.sh (Container data structures): New section.
37465
37466 2006-07-17  Bruno Haible  <bruno@clisp.org>
37467
37468         * m4/gl_list.m4: New file.
37469
37470 2006-07-17  Bruno Haible  <bruno@clisp.org>
37471
37472         * lib/gl_list.h: New file.
37473         * lib/gl_list.c: New file.
37474         * lib/gl_array_list.h: New file.
37475         * lib/gl_array_list.c: New file.
37476         * lib/gl_carray_list.h: New file.
37477         * lib/gl_carray_list.c: New file.
37478         * lib/gl_linked_list.h: New file.
37479         * lib/gl_linked_list.c: New file.
37480         * lib/gl_anylinked_list1.h: New file.
37481         * lib/gl_anylinked_list2.h: New file.
37482         * lib/gl_avltree_list.h: New file.
37483         * lib/gl_avltree_list.c: New file.
37484         * lib/gl_anyavltree_list1.h: New file.
37485         * lib/gl_anyavltree_list2.h: New file.
37486         * lib/gl_rbtree_list.h: New file.
37487         * lib/gl_rbtree_list.c: New file.
37488         * lib/gl_anyrbtree_list1.h: New file.
37489         * lib/gl_anyrbtree_list2.h: New file.
37490         * lib/gl_anytree_list1.h: New file.
37491         * lib/gl_anytree_list2.h: New file.
37492         * lib/gl_linkedhash_list.h: New file.
37493         * lib/gl_linkedhash_list.c: New file.
37494         * lib/gl_anyhash_list1.h: New file.
37495         * lib/gl_anyhash_list2.h: New file.
37496         * lib/gl_avltreehash_list.h: New file.
37497         * lib/gl_avltreehash_list.c: New file.
37498         * lib/gl_rbtreehash_list.h: New file.
37499         * lib/gl_rbtreehash_list.c: New file.
37500         * lib/gl_anytreehash_list1.h: New file.
37501         * lib/gl_anytreehash_list2.h: New file.
37502
37503         * lib/gl_oset.h: New file.
37504         * lib/gl_oset.c: New file.
37505         * lib/gl_array_oset.h: New file.
37506         * lib/gl_array_oset.c: New file.
37507         * lib/gl_avltree_oset.h: New file.
37508         * lib/gl_avltree_oset.c: New file.
37509         * lib/gl_rbtree_oset.h: New file.
37510         * lib/gl_rbtree_oset.c: New file.
37511         * lib/gl_anytree_oset.h: New file.
37512
37513 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
37514
37515         * m4/mkancesdirs.m4: New file.
37516         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
37517         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
37518         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
37519         it.
37520
37521 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
37522
37523         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
37524         * lib/mkancesdirs.h: New files.
37525         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
37526         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
37527         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
37528         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
37529         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
37530         callers changed.  Revamp internals significantly, by not
37531         attempting to create directories that are temporarily more
37532         permissive than the final results.  Do not attempt to use
37533         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
37534         This removes some race conditions, fixes some bugs, and simplifies
37535         things.  Use new dirchownmod function to do owner and mode changes.
37536         * lib/mkdir-p.h: Likewise.
37537         * lib/modechange.c (octal_to_mode): New function.
37538         (struct mode_change): New member mentioned.
37539         (make_node_op_equals): New arg mentioned.  All callers changed.
37540         (mode_compile): Keep track of which mode bits the user has explicitly
37541         mentioned.
37542         (mode_adjust): New arg DIR, so that we implement the X op correctly.
37543         New arg PMODE_BITS, to keep track of which mode bits the user
37544         mentioned; it treats S_ISUID and S_ISGID speciall.
37545         All callers changed.
37546         * lib/modechange.h: Likewise.
37547
37548 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
37549
37550         * MODULES.html.sh: Add mkancestors.
37551         * modules/mkancesdirs: New module.
37552         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
37553         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
37554         The chdir-safer and afs files are now orphans; I'll remove them
37555         unless someone speaks up.
37556         Add lib/dirchownmod.c, lib/dirchownmod.h.
37557         (Depends-on): Remove alloca, chown, save-cwd, dirname.
37558         Add lchown, mkancesdirs.
37559         (Maintainer): Add self.
37560
37561 2006-07-15  Karl Berry  <karl@gnu.org>
37562
37563         * gnulib-tool: help message wording/arrangement.
37564
37565 2006-07-14  Simon Josefsson  <jas@extundo.com>
37566
37567         * doc/gnulib.texi (Libtool and Windows): New section.
37568
37569 2006-07-12  Simon Josefsson  <jas@extundo.com>
37570
37571         * modules/gendocs (License): Fix license, approved by Karl.
37572
37573 2006-07-12  Eric Blake  <ebb9@byu.net>
37574
37575         * MODULES.html.sh: Add gendocs.
37576
37577 2006-07-11  Eric Blake  <ebb9@byu.net>
37578
37579         * modules/fdl: New module, to install doc/fdl.texi.
37580         * MODULES.html.sh: Add new section for documentation modules.
37581         * gnulib-tool: Avoid space-tab.
37582         (--doc-base): New option, to manage files from doc.
37583
37584 2006-07-11  Eric Blake  <ebb9@byu.net>
37585
37586         * m4/absolute-header.m4: Fix comments to match recent change.
37587
37588 2006-07-11  Eric Blake  <ebb9@byu.net>
37589
37590         * gnulib-tool: List --doc-base before --tests-base.
37591
37592 2006-07-11  Derek R. Price  <derek@ximbiot.com>
37593
37594         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
37595
37596 2006-07-11  Bruno Haible  <bruno@clisp.org>
37597
37598         * README: Mention where to put documentation.
37599
37600 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37601
37602         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
37603
37604 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
37605
37606         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
37607         to stdint.m4.
37608
37609 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
37610
37611         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
37612         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
37613         "no/such/file/stdint.h" when there is no such file, so that
37614         the resulting C code can be parsed by dodgy compilers.
37615         Problems reported by Bob Proulx.
37616
37617 2006-07-10  Derek R. Price  <derek@ximbiot.com>
37618
37619         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
37620         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
37621         macros into the GNU _D_EXACT_NAMLEN.
37622         * lib/savedir.c:  Likewise.
37623         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
37624
37625 2006-07-10  Derek R. Price  <derek@ximbiot.com>
37626         and Paul Eggert  <eggert@cs.ucla.edu>
37627
37628         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
37629         * m4/savedir.m4:
37630         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
37631         macros into the GNU _D_EXACT_NAMLEN.
37632
37633 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
37634
37635         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
37636         around the absolute name, to work around a problem with the HP-UX
37637         11.23 native C compiler, reported by Bob Proulx.
37638
37639 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
37640
37641         * doc/maintain.texi, make-stds.texi: Sync from
37642         <http://savannah.gnu.org/projects/gnustandards>.
37643
37644 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
37645
37646         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
37647
37648 2006-07-09  Jim Meyering  <jim@meyering.net>
37649
37650         * m4/glob.m4: Remove a doubled word in a comment.
37651
37652 2006-07-09  Jim Meyering  <jim@meyering.net>
37653
37654         * lib/argp-pv.c: Remove a doubled word in a comment.
37655         * lib/check-version.c (check_version): Likewise.
37656         * lib/javacomp.c (compile_java_class): Likewise.
37657
37658 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
37659
37660         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
37661         for the benefit of people using Autoconf 2.60.  If you want to
37662         support older Autoconf versions you can copy m4/onceonly_2_57.m4
37663         (or m4/onceonly.m4, if pre-2.57) manually.
37664
37665 2006-07-08  Jim Meyering  <jim@meyering.net>
37666
37667         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
37668         comment.
37669         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
37670         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
37671         comment.
37672
37673 2006-07-08  Jim Meyering  <jim@meyering.net>
37674
37675         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
37676
37677 2006-07-07  Simon Josefsson  <jas@extundo.com>
37678
37679         * tests/test-crc.c: Change expected crc value, the test vector
37680         were probably computed using the old broken crc.c?
37681
37682 2006-07-06  Simon Josefsson  <jas@extundo.com>
37683
37684         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
37685         now the canonical place for the M4 file).
37686
37687         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
37688         from the sys_socket dependency now.
37689
37690         * modules/inet_pton (Files): Ditto.
37691
37692         * modules/inet_ntop (Files): Ditto.
37693
37694 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
37695
37696         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
37697         not gl_PREREQ_GETUSERSHELL.
37698
37699 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37700
37701         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
37702         with only one argument, for Autoconf 2.60.
37703         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
37704         expand to nothing, so add a shell command to avoid syntax error.
37705         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
37706
37707 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37708
37709         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
37710
37711 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
37712
37713         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
37714         no longer needed.  Check for isblank decl.
37715         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
37716         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
37717         of existence.
37718
37719 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
37720
37721         * lib/getloadavg.c: Use __VMS, not VMS.
37722         * lib/getopt.c: Likewise.
37723         * lib/getpagesize.h: Likewise.
37724         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
37725         and probably does not work.
37726
37727 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
37728
37729         * lib/.cppi-disable: Add wcwidth.
37730         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
37731         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
37732         (ISGRAPH): Remove.  All uses changed to isgraph.
37733         (FOLD) [!defined _LIBC]: Remove special case.
37734         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
37735         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
37736         HAVE_ISBLANK.
37737         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
37738         case.
37739
37740 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
37741
37742         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
37743         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
37744         brackets.  Other minor changes to suppress some compiler
37745         warnings.
37746
37747 2006-07-06  Derek R. Price  <derek@ximbiot.com>
37748         and Paul Eggert  <eggert@cs.ucla.edu>
37749
37750         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
37751         of invoking obsolescent AC_HEADER_DIRENT macro.
37752         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
37753         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
37754         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
37755         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
37756         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
37757         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
37758         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
37759         * m4/readdir.m4: Remove; no longer needed.
37760
37761 2006-07-06  Derek R. Price  <derek@ximbiot.com>
37762         and Paul Eggert  <eggert@cs.ucla.edu>
37763
37764         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
37765         Don't worry about this obsolete case any more.
37766         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
37767         directories.
37768         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
37769         worry about this obsolete case any more.
37770         * lib/fts.c: Likewise.
37771         * lib/getcwd.c: Likewise.
37772         * lib/glob.h: Likewise.
37773         * lib/savedir.c: Likewise.
37774
37775 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
37776
37777         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
37778         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
37779         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
37780         needed.
37781         All uses removed.
37782         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
37783         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
37784         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
37785         needed.
37786         * m4/getdate.m4 (gl_GETDATE): Likewise.
37787         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
37788         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
37789         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
37790         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
37791         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
37792         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
37793         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
37794         needed.
37795
37796 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
37797
37798         * lib/memcasecmp.c: Include <limits.h>.
37799         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
37800         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
37801         Don't assume isdigit succeeds only on '0' through '9'.
37802
37803 2006-07-05  Eric Blake  <ebb9@byu.net>
37804
37805         * modules/getaddrinfo (Depends-on): Add snprintf.
37806
37807 2006-07-05  Eric Blake  <ebb9@byu.net>
37808
37809         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
37810         to avoid 'header present but could not be compiled' on cygwin.
37811
37812 2006-07-05  Eric Blake  <ebb9@byu.net>
37813
37814         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
37815         missing from netdb.h.
37816         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
37817
37818 2006-07-05  Derek R. Price  <derek@ximbiot.com>
37819
37820         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
37821         no longer needed.
37822         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
37823         * m4/getdate.m4 (gl_GETDATE): Likewise.
37824         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
37825         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
37826         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
37827         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
37828         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
37829
37830 2006-07-05  Derek R. Price  <derek@ximbiot.com>
37831
37832         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
37833         All uses of is_space replaced by isspace.
37834         * lib/exit.h: Don't talk about STDC_HEADERS.
37835         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
37836         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
37837         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
37838         replaced by isprint etc.
37839         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
37840         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
37841         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
37842         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
37843         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
37844         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
37845
37846 2006-07-05  Bruno Haible  <bruno@clisp.org>
37847
37848         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
37849         the function exists, before testing against AIX.
37850         Reported by Martin Lambers <marlam@marlam.de>.
37851
37852 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
37853
37854         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
37855         From Mark D. Baushke.
37856
37857 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
37858
37859         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
37860         to the absolute name, not just one, to bypass Sun C 5.8's
37861         "warning: #include of /usr/include/... may be non-portable".
37862
37863 2006-07-04  Eric Blake  <ebb9@byu.net>
37864
37865         * modules/dirname-tests: New test module.
37866         * tests/test-dirname.c: New file, replacing dirname.c
37867         TEST_DIRNAME section that was recently deleted.
37868
37869 2006-07-04  Bruno Haible  <bruno@clisp.org>
37870
37871         Assume ANSI C header files and <ctype.h> functions.
37872         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
37873         (mbsnwidth): Use isprint, iscntrl instead.
37874
37875 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
37876
37877         Merge from coreutils.
37878         * MODULES.html.sh: Add xstrtold.
37879         * modules/xstrtold: New file.
37880         * modules/cycle-check (Files): Add lib/same-inode.h.
37881         * modules/dirname (Files): Add m4/double-slash-root.m4.
37882         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
37883         * modules/mkdir-p (Files): Add lib/same-inode.h.
37884         * modules/same (Files): Add lib/same-inode.h.
37885
37886 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
37887
37888         * m4/absolute-header.m4: Renamed from full-header-path.m4.
37889         This is to keep the terminology clean; POSIX talks about
37890         "absolute pathnames", not "full pathnames", but the GNU
37891         Coding Standards say to use "path" for something else;
37892         so use "absolute" to keep both sides happy.
37893         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
37894         Set gl_absolute_header, not gl_full_header_path.
37895         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
37896         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
37897         All uses changed.
37898
37899         Merge from coreutils.
37900
37901         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
37902
37903         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
37904         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
37905         want to require the building of c-strtod.o.
37906         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
37907         needs -lm directly.
37908         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
37909
37910         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
37911
37912         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
37913         --as-needed option if available.  Problem reported by Albert Chin in
37914         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
37915         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
37916         cc merely issues a bunch of annoying warnings for --as-needed
37917         (this problem was reported by Bob Proulx).  Also, try linking with
37918         -lm to detect a bug in binutils 2.16 (this problem was reported
37919         by Ralf Wildenhues).
37920
37921         2006-06-18  Jim Meyering  <jim@meyering.net>
37922
37923         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
37924         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
37925         macro.
37926         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
37927         also check for glibc-2.4's abort-inducing bug.
37928
37929         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
37930         Low-probability clean-up should be to use rmdir to get rid of
37931         the just-created directory, not unlink.
37932
37933         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
37934         configure fail, and request a bug report to inform us about it.
37935         Add a comment that, barring reports to the contrary, in 2007 we'll
37936         assume ftruncate is universally available.
37937
37938         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
37939
37940         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
37941
37942         2006-03-12  Jim Meyering  <jim@meyering.net>
37943
37944         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
37945         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
37946         * m4/same.m4 (gl_SAME): Likewise.
37947         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
37948
37949         2006-03-11  Eric Blake  <ebb9@byu.net>
37950
37951         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
37952         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
37953         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
37954         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
37955
37956 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
37957
37958         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
37959         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
37960         reported by Mark D. Baushke, one in
37961         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
37962
37963         Merge from coreutils.
37964
37965         * lib/.cppi-disable: Add stdint_.h.
37966         * lib/.cvsignore: Add stdint.h.
37967
37968         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
37969
37970         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
37971         both double and long double versions.
37972         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
37973         * lib/xstrtold.c: New file.
37974         * lib/xstrtod.h (xstrtold): New decl.
37975
37976         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
37977
37978         * lib/filemode.c (setst): Remove.
37979         (strmode): Rewrite to avoid setst.  This makes the code shorter,
37980         (arguably) clearer, and the generated code is a bit smaller on my
37981         Debian GNU/Linux stable x86 host.
37982
37983         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
37984
37985         * lib/filemode.c: Include "filemode.h" first, to test the interface.
37986         Assume that filemode.h includes sys/types.h and sys/stat.h.
37987         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
37988         (ftypelet): Reorder to put common cases first, for efficiency.
37989         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
37990         to do 'M'.
37991         (strmode): Renamed from mode_string, and now stores 12 bytes instead
37992         of 10, for compatibility with FreeBSD.  All callers changed.
37993         (filemodestring): Now stores 12 bytes instead of 10, and sets file
37994         types that can't be deduced solely from st_mode.  First arg is now a
37995         const pointer.
37996         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
37997         (strmode): Renamed from mode_string.
37998         (filemodestring): New decl.
37999         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
38000         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
38001         needed.
38002         (S_ISPORT, S_ISWHT): New macros, if not already defined.
38003
38004         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
38005
38006         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
38007         fsusage.h now does that.  Include fsusage.h first, to test interface.
38008         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
38009         at most one method (the old code could have generated decls that
38010         didn't conform to C89, not that this was ever exercised).
38011         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
38012
38013         2006-03-19  Jim Meyering  <jim@meyering.net>
38014
38015         Work even in a chroot where d_ino values for entries in "/"
38016         don't match the stat.st_ino values for the same names.
38017         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
38018         number, iterate through all entries again, using lstat instead.
38019         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
38020         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
38021
38022         * lib/getcwd.c (__getcwd): Clarify a comment.
38023         Use memcpy in place of a call to strcpy.
38024
38025         2006-03-12  Jim Meyering  <jim@meyering.net>
38026
38027         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
38028         matches that of the current directory (which we're about to chdir ".."
38029         out of), then save the dev-ino of the parent, instead.
38030
38031         * lib/same-inode.h (SAME_INODE): New file/macro.
38032         * lib/chdir-safer.c (SAME_INODE): Remove definition.
38033         Include "same-inode.h", instead.
38034         * lib/same.c: Likewise.
38035         * lib/cycle-check.h: Include "same-inode.h".
38036         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
38037         * lib/cycle-check.c (SAME_INODE): Remove definition.
38038         * lib/root-dev-ino.h: Include "same-inode.h".
38039
38040         2006-03-11  Eric Blake  <ebb9@byu.net>
38041
38042         * lib/same.c (same_name): s/base_name/last_component/
38043         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
38044         * lib/filenamecat.c (file_name_concat): Likewise.
38045
38046         2006-03-11  Eric Blake  <ebb9@byu.net>,
38047                     Paul Eggert  <eggert@cs.ucla.edu>
38048
38049         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
38050         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
38051         drive prefix.
38052         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
38053         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
38054         (last_component): New method.
38055         * lib/dirname.c (dir_len): Determine when drive letters need a
38056         subsequent slash.  Preserve // when it is special.
38057         (dir_name): Don't append dot when drive letter is absolute.
38058         [TEST_DIRNAME]: Move into a full-blown gnulib test.
38059         * lib/basename.c (base_name): New semantics - malloc the result.
38060         Preserve // when it is special.  Preserve relative files that look
38061         like drive letters.
38062         (base_len): Preserve // when it is special.
38063         (last_component): New method, similar to old base_name semantics.
38064         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
38065         base_name.  Strip redundant slashes from ///.
38066
38067 2006-07-03  Jim Meyering  <jim@meyering.net>
38068
38069         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
38070         macro is used before the first cycle_check call.
38071
38072 2006-07-03  Eric Blake  <ebb9@byu.net>
38073
38074         * modules/dirname (Depends-on): Add xstrndup.
38075
38076 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
38077
38078         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
38079         test cases, so that config.log is a bit easier to follow.
38080
38081 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
38082
38083         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
38084         both are 64 bits, since this seems to be the tradition, and this
38085         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
38086         we ever run into a host that prefers long long to long in this
38087         case, we'll need another configure-time test.  Problem reported by
38088         Jim Meyering.
38089
38090 2006-07-02  Eric Blake  <ebb9@byu.net>
38091
38092         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
38093
38094 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
38095
38096         * modules/inttypes (Depends-on): No longer depends on stdint.
38097         * modules/stdint (Description): Say more about assumptions.
38098         Say that the fast types might differ.  Say macros are used.
38099         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
38100         (Makefile.am): Revise list of substituted symbols to match
38101         new stdint.m4.
38102         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
38103         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
38104         * tests/test-stdint.c (verify_same_types)
38105         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
38106         the code conforms to C99/C89.
38107         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
38108         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
38109
38110 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
38111
38112         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
38113         but fix a bug, by requiring at least 64 bits.
38114         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
38115         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
38116         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
38117         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
38118
38119         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
38120         changes.  Make 2.59 a prerequisite.  Check and substitute for
38121         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
38122         inttypes.h.  Do not use special include files; just use the
38123         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
38124         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
38125         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
38126         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
38127         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
38128         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
38129         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
38130         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
38131         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
38132         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
38133         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
38134         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
38135         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
38136         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
38137         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
38138         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
38139         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
38140         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
38141         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
38142         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
38143         WINT_MAX.  Check for C99 conformance more strictly, by detecting
38144         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
38145         not check for things that C99 does not require, e.g., int8_t.  If
38146         a test isn't needed unless <stdint.h> isn't working, and is
38147         unlikely to be needed for any other reason, then don't do it
38148         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
38149         size_t, since we assume C89 freestanding at least.  Do not check
38150         for sig_atomic_t, wchar_t, or wint_t, since the code now does
38151         the right thing even if the types are not defined.  Instead use:
38152         (gl_STDINT_TYPE_PROPERTIES): New macro.
38153         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
38154         testing whether <sys/types.h> clashes, as Autoconf does this for
38155         us now.  All uses removed.
38156         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
38157         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
38158         (gl_CHECK_TYPE_SAME):
38159         Remove; no longer needed.
38160         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
38161         exists, since we'll return 0 anyway in that case.
38162         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
38163
38164 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
38165
38166         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
38167         possible collision with system files.
38168         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
38169         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
38170         WCHAR_MIN and WCHAR_MAX in this case.
38171         (<stddef.h>): Do not include; no longer needed.
38172         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
38173         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
38174         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
38175         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
38176         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
38177         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
38178         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
38179         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
38180         !defined(__c99))]: Include in this case too, since it's harmless
38181         now.
38182         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
38183         dangerous to do so.
38184         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
38185         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
38186         (_STDINT_MIN, _STDINT_MAX): New macros.
38187         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
38188         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
38189         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
38190         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
38191         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
38192         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
38193         macros, not typedefs; this simplifies things quite a bit.
38194         Use long int for all types narrower than int64_t.
38195         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
38196         Define in terms of long long int or int64_t or long int,
38197         not int64_t or int32_t.  This saves some compile-time testing.
38198         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
38199         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
38200         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
38201         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
38202         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
38203         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
38204         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
38205         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
38206         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
38207         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
38208         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
38209         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
38210         undef any previous version and define our own version, for
38211         simplicity and consistency with the new macros for types.
38212         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
38213         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
38214         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
38215         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
38216         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
38217         @WINT_T_SUFFIX@ to keep things simple here.
38218         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
38219         Simplify by assuming typical 8/16/32/64 host, since we're
38220         already doing that elsewhere anyway.
38221         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
38222         and assume long long int is 64 bits if available.  This
38223         speeds up 'configure'.
38224
38225 2006-07-01  Eric Blake  <ebb9@byu.net>
38226
38227         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
38228         Reported by Andreas Buening.
38229
38230 2006-07-01  Eric Blake  <ebb9@byu.net>
38231
38232         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
38233
38234 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
38235
38236         * lib/getaddrinfo.c: fixed typo
38237
38238 2006-06-29  Jim Meyering  <jim@meyering.net>
38239
38240         * modules/strftime (Maintainer): Add my name, since with the
38241         FPRINTFTIME changes strftime.c has forked from glibc.
38242
38243 2006-06-29  Eric Blake  <ebb9@byu.net>
38244
38245         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
38246
38247 2006-06-29  Eric Blake  <ebb9@byu.net>
38248
38249         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
38250
38251 2006-06-29  Eric Blake  <ebb9@byu.net>
38252
38253         * lib/stat_.h: New file.
38254
38255 2006-06-29  Eric Blake  <ebb9@byu.net>
38256
38257         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
38258         unused static function.
38259
38260 2006-06-29  Eric Blake  <ebb9@byu.net>
38261
38262         * doc/functions.texi (Function Portability): Document missing lstat
38263         on mingw.
38264
38265 2006-06-29  Eric Blake  <ebb9@byu.net>
38266
38267         * MODULES.html.sh: Add sys_stat.
38268         * modules/sys_stat: New module.
38269         * modules/mkstemp (Depends-on): Add sys_stat.
38270
38271 2006-06-29  Derek R. Price  <derek@ximbiot.com>
38272
38273         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
38274
38275 2006-06-29  Derek R. Price  <derek@ximbiot.com>
38276
38277         * m4/c-bs-a.m4: Removed.
38278
38279 2006-06-29  Derek R. Price  <derek@ximbiot.com>
38280
38281         * lib/strftime.c: Assume strftime() exists.
38282
38283 2006-06-29  Derek Price  <derek@ximbiot.com>
38284
38285         * modules/c-bs-a: Removed - \a is C89.
38286         * MODULES.html.sh: Remove c-bs-a.
38287
38288 2006-06-29  Bruno Haible  <bruno@clisp.org>
38289
38290         * modules/wcwidth (License): Change to LGPL.
38291
38292 2006-06-28  Simon Josefsson  <jas@extundo.com>
38293
38294         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
38295         on _WIN32.
38296
38297         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
38298         getnameinfo.
38299
38300 2006-06-28  Simon Josefsson  <jas@extundo.com>
38301
38302         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
38303
38304 2006-06-28  Simon Josefsson  <jas@extundo.com>
38305
38306         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
38307         functions there.  It will succeed on Windows XP, but on Windows
38308         2000 and (presumably) earlier, it will fail, and use the internal
38309         re-implementation.
38310         (use_win32_p): New function.
38311         (getaddrinfo): Use strtoul on servname, to support numeric ports.
38312         Support AI_NUMERICSERV to disable getservbyname.
38313         (getnameinfo): New function, only supports
38314         NI_NUMERICHOST|NI_NUMERICSERV for now.
38315
38316         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
38317         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
38318         getnameinfo.
38319
38320 2006-06-28  Eric Blake  <ebb9@byu.net>
38321
38322         * modules/wcwidth: New file.
38323         * modules/mbchar (Depends-on): Add wcwidth.
38324         * modules/mbswidth (Depends-on): Add wcwidth.
38325         * MODULES.html.sh: Add wcwidth.
38326
38327 2006-06-28  Eric Blake  <ebb9@byu.net>
38328
38329         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
38330         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
38331
38332 2006-06-28  Eric Blake  <ebb9@byu.net>
38333
38334         * lib/xvasprintf.h: Fix comments.
38335
38336 2006-06-28  Eric Blake  <ebb9@byu.net>
38337
38338         * lib/mbchar.h (wcwidth): Include wcwidth.h.
38339         * lib/mbswidth.c (wcwidth): Move from here...
38340         * lib/wcwidth.h: ...to this new file.
38341
38342 2006-06-28  Derek R. Price  <derek@ximbiot.com>
38343
38344         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
38345
38346         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
38347         it's obsolete.
38348         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
38349
38350 2006-06-28  Derek R. Price  <derek@ximbiot.com>
38351
38352         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
38353         Autoconf 2.60 says this stuff was obsolete.
38354
38355 2006-06-28  Bruno Haible  <bruno@clisp.org>
38356
38357         * modules/wcwidth (Files): Add m4/wchar_t.m4.
38358
38359 2006-06-28  Bruno Haible  <bruno@clisp.org>
38360
38361         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
38362         gt_TYPE_WCHAR_T.
38363
38364 2006-06-28  Bruno Haible  <bruno@clisp.org>
38365
38366         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
38367         declaration for wcwidth.
38368         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
38369
38370 2006-06-28  Bruno Haible  <bruno@clisp.org>
38371
38372         * lib/mkdtemp.c [MINGW]: Include <io.h>.
38373         (mkdir): Define using _mkdir.
38374
38375 2006-06-28  Bruno Haible  <bruno@clisp.org>
38376
38377         * lib/getaddrinfo.h: Fix POSIX URL.
38378         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
38379         _WIN32.
38380         (use_win32_p): Make static.
38381         (getaddrinfo): Reject service name if it is empty or does not consist
38382         solely of decimal digits, or if its value is > 65535.
38383         (getnameinfo): Remove useless casts.
38384
38385 2006-06-27  Simon Josefsson  <jas@extundo.com>
38386
38387         * modules/sys_select: New file, suggested by Bruno Haible, Paul
38388         Eggert and Martin Lambers.
38389
38390 2006-06-27  Simon Josefsson  <jas@extundo.com>
38391
38392         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
38393         Eggert and Martin Lambers.
38394
38395 2006-06-27  Bruno Haible  <bruno@clisp.org>
38396
38397         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
38398         result to 0, not to empty.
38399         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
38400
38401 2006-06-27  Bruno Haible  <bruno@clisp.org>
38402
38403         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
38404
38405 2006-06-26  Simon Josefsson  <jas@extundo.com>
38406
38407         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
38408         present.
38409
38410 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
38411
38412         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
38413         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
38414         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
38415
38416 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
38417
38418         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
38419
38420 2006-06-26  Bruno Haible  <bruno@clisp.org>
38421
38422         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
38423
38424 2006-06-26  Bruno Haible  <bruno@clisp.org>
38425
38426         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
38427
38428 2006-06-26  Bruno Haible  <bruno@clisp.org>
38429
38430         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
38431         SGI C compiler in pre-C99 mode.
38432         Suggested by Mark D. Baushke and Larry Jones.
38433
38434 2006-06-26  Bruno Haible  <bruno@clisp.org>
38435
38436         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
38437         WCHAR_MAX.
38438         Reported by Mark D. Baushke and Larry Jones.
38439
38440 2006-06-26  Bruno Haible  <bruno@clisp.org>
38441
38442         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
38443         in pre-C99 mode.
38444         Suggested by Mark D. Baushke and Larry Jones.
38445
38446 2006-06-23  Simon Josefsson  <jas@extundo.com>
38447             Bruno Haible  <bruno@clisp.org>
38448
38449         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
38450         Emit mostlyclean-local rule.
38451         (func_emit_tests_Makefile_am): Likewise.
38452         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
38453
38454 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
38455
38456         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
38457
38458 2006-06-23  Bruno Haible  <bruno@clisp.org>
38459
38460         * tests/test-stdint.c: Update to match ISO C 99 Technical
38461         Corrigendum 1.
38462
38463 2006-06-23  Bruno Haible  <bruno@clisp.org>
38464
38465         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
38466
38467 2006-06-23  Bruno Haible  <bruno@clisp.org>
38468
38469         * lib/stdint_.h: Treat IRIX like OpenBSD.
38470
38471 2006-06-23  Bruno Haible  <bruno@clisp.org>
38472
38473         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
38474         ISO C 99 Technical Corrigendum 1.
38475
38476 2006-06-22  Simon Josefsson  <jas@extundo.com>
38477
38478         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
38479         MinGW.
38480
38481 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
38482
38483         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
38484         needed.  Some compiler complained about some of them.  Problem reported
38485         by Larry Jones in
38486         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
38487
38488 2006-06-21  Simon Josefsson  <jas@extundo.com>
38489
38490         * tests/test-getaddrinfo.c: New file.
38491
38492         * modules/getaddrinfo-tests: New file.
38493
38494         * MODULES.html.sh: Add inet_pton.
38495
38496         * modules/inet_pton: New file.
38497
38498 2006-06-21  Simon Josefsson  <jas@extundo.com>
38499
38500         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
38501         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
38502         of using the (limited) gnulib implementation on Windows XP.
38503
38504         * m4/inet_pton.m4: New file.
38505
38506 2006-06-21  Simon Josefsson  <jas@extundo.com>
38507
38508         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
38509         variable.
38510
38511         * lib/socket_.h: Don't define WINVER.
38512
38513         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
38514         slightly modified to work in gnulib.
38515
38516 2006-06-21  Simon Josefsson  <jas@extundo.com>
38517
38518         * doc/gnulib.texi (Windows sockets): Add.
38519
38520 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
38521
38522         * lib/read-file.c (fread_file): Start with buffer allocation of
38523         0 bytes rather than 1 byte; this simplifies the code.
38524         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
38525         code to free buffer and save/restore errno.
38526         (internal_read_file): Remove unused local.
38527
38528 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
38529
38530         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
38531         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
38532         Problem reported by Denis Excoffier in
38533         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
38534
38535 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38536
38537         * modules/sys_socket, modules/socklen: Include sys/types since
38538         FreeBSD 4.x's sys/socket.h needs it.
38539
38540 2006-06-19  Simon Josefsson  <jas@extundo.com>
38541
38542         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
38543
38544 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
38545
38546         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
38547
38548 2006-06-19  Bruno Haible  <bruno@clisp.org>
38549
38550         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
38551         and FULL_PATH_INTTYPES_H in angle brackets.
38552         Reported by Mark D. Baushke <mdb@gnu.org>.
38553
38554 2006-06-17  Eric Blake  <ebb9@byu.net>
38555
38556         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
38557         errno.
38558
38559 2006-06-17  Bruno Haible  <bruno@clisp.org>
38560
38561         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
38562         <sys/inttypes.h>.
38563
38564 2006-06-17  Bruno Haible  <bruno@clisp.org>
38565
38566         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
38567         whether errno is declared. Assume <errno.h> declares errno.
38568
38569 2006-06-17  Bruno Haible  <bruno@clisp.org>
38570
38571         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
38572
38573 2006-06-17  Bruno Haible  <bruno@clisp.org>
38574
38575         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
38576         problem on Solaris 2.5.1.
38577
38578 2006-06-16  Eric Blake  <ebb9@byu.net>
38579
38580         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
38581         * lib/unicodeio.c [!defined errno]: Likewise.
38582         * lib/strtol.c [!defined errno]: Likewise.
38583         * lib/strtod.c [!defined errno]: Likewise.
38584
38585 2006-06-15  Eric Blake  <ebb9@byu.net>
38586
38587         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
38588
38589 2006-06-15  Eric Blake  <ebb9@byu.net>
38590
38591         * config/srclist.txt (ssize_t.m4): Lose sync.
38592
38593 2006-06-15  Bruno Haible  <bruno@clisp.org>
38594
38595         * modules/stdint (Files): Include m4/full-header-path.m4,
38596         m4/size_max.m4, m4/wchar_t.m4.
38597         (Makefile.am): Many more substitutions.
38598         * modules/stdint-tests: New file.
38599         * tests/test-stdint.c: New file.
38600
38601 2006-06-15  Bruno Haible  <bruno@clisp.org>
38602
38603         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
38604         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
38605         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
38606         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
38607         gl_CHECK_TYPE_SAME): New macros.
38608
38609 2006-06-15  Bruno Haible  <bruno@clisp.org>
38610
38611         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
38612
38613 2006-06-15  Bruno Haible  <bruno@clisp.org>
38614
38615         * lib/stdint_.h: Rewritten to be fully auto-configured.
38616         Fixes bug on HP-UX/IA64.
38617
38618 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
38619
38620         * lib/getdate.y (__attribute__): Don't define if already defined.
38621         Problem reported by Larry Jones.
38622         * lib/utimens.c (__attribute__): Likewise.
38623
38624 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
38625
38626         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
38627         reported by Andreas Schwab.
38628
38629 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38630             Bruno Haible  <bruno@clisp.org>
38631
38632         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
38633         check for the declaration of strnlen and a run test that exposes the
38634         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
38635         rpl_strndup.
38636
38637 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38638             Bruno Haible  <bruno@clisp.org>
38639
38640         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
38641
38642 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38643
38644         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
38645         compile test, for Tru64 4.0D.
38646
38647 2006-05-28  Karl Berry  <karl@gnu.org>
38648
38649         * config/srclist.txt (printf-args.c): lose sync.
38650
38651 2006-05-26  Martin Lambers  <marlam@marlam.de>
38652
38653         * lib/getpass.c: Updates the test for the native W32 API, and adds
38654         missing includes, thus fixing compilation warnings.
38655
38656 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
38657
38658         * lib/exclude.c (exclude_fnmatch): New function.
38659         (excluded_file_name): Call exclude_fnmatch.
38660         * lib/exclude.h (excluded_file_name): New prototype
38661
38662 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
38663
38664         * lib/tempname.c (small_open, large_open): New macros.
38665         (__open, __open64) [!_LIBC]: Remove.
38666         (__gen_tempname): Use small_open and large_open instead of __open
38667         and __open64.  This fixes a portability bug on HP-UX 11.11i
38668         reported by Simon Wing-Tang in
38669         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
38670
38671 2006-05-24  Bruno Haible  <bruno@clisp.org>
38672
38673         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
38674         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
38675         Reported by Thorsten Maerz <torte@netztorte.de> via
38676         Aaron Stone <aaron@serendipity.cx>.
38677
38678 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
38679
38680         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
38681         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
38682         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
38683         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
38684         not really conditional on the cache.
38685         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
38686
38687 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
38688
38689         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
38690         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
38691         (my_usleep): Don't mishandle maximum value.
38692
38693 2006-05-19  Jim Meyering  <jim@meyering.net>
38694
38695         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
38696
38697 2006-05-17  Bruno Haible  <bruno@clisp.org>
38698
38699         Cygwin portability.
38700         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
38701
38702 2006-05-17  Bruno Haible  <bruno@clisp.org>
38703
38704         * lib/stdint_.h: Fix recognition of Cygwin.
38705
38706 2006-05-15  Bruno Haible  <bruno@clisp.org>
38707
38708         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
38709         on libtool patch by Ralf Wildenhues.
38710
38711 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
38712
38713         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
38714         test for C99 conformance; (bool) 0.5 is an integer constant
38715         expression, but (bool) -0.5 is not.  Problem reported by Fedor
38716         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
38717
38718 2006-05-11  Simon Josefsson  <jas@extundo.com>
38719
38720         * m4/xvasprintf.m4: Fix obvious typo.
38721
38722 2006-05-11  Jim Meyering  <jim@meyering.net>
38723
38724         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
38725         James Lemley.
38726
38727 2006-05-10  Simon Josefsson  <jas@extundo.com>
38728
38729         * lib/md4.c: Typo fix, update copyright years.
38730         (K1, K2): Don't use L because it turn computations into 64-bit on
38731         64-bit platforms.
38732
38733 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
38734
38735         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
38736         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
38737         unwanted sign propagation, e.g., on hosts with 64-bit int.
38738         There still are some problems with reeelly weird theoretical hosts
38739         (e.g., 33-bit int) but it's not worth worrying about now.
38740         * lib/sha1.c (rol): Likewise.
38741         (K1, K2, K3, K4): Remove unnecessary L suffix.
38742
38743 2006-05-10  Bruno Haible  <bruno@clisp.org>
38744
38745         * lib/des.c: Cast to avoid warnings.
38746
38747 2006-05-09  Bruno Haible  <bruno@clisp.org>
38748
38749         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
38750         (Depends-on): Depend also on xsize, stdarg.
38751         (configure.ac): Add gl_XVASPRINTF.
38752
38753 2006-05-09  Bruno Haible  <bruno@clisp.org>
38754
38755         * m4/xvasprintf.m4: New file.
38756
38757 2006-05-09  Bruno Haible  <bruno@clisp.org>
38758
38759         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
38760         (EOVERFLOW): Define fallback value.
38761         (xstrcat): New function.
38762         (xvasprintf): Recognize the special case of a string concatenation.
38763
38764 2006-05-08  Eric Blake  <ebb9@byu.net>
38765
38766         * gnulib-tool (func_version): Base copyright year on CVS date.
38767         (func_emit_copyright_notice): New function.
38768         (func_emit_lib_Makefile_am): Use it.
38769         (func_emit_tests_Makefile_am): Likewise.
38770         (func_import): Likewise.
38771
38772 2006-05-08  Bruno Haible  <bruno@clisp.org>
38773
38774         * modules/stdarg: New file.
38775         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
38776
38777 2006-05-08  Bruno Haible  <bruno@clisp.org>
38778
38779         * m4/stdarg.m4: New file, from GNU gettext.
38780
38781 2006-05-08  Bruno Haible  <bruno@clisp.org>
38782
38783         * config/srclist.txt (build-aux/config.rpath): different from latest
38784         release.
38785
38786 2006-05-08  Bruno Haible  <bruno@clisp.org>
38787
38788         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
38789
38790 2006-05-05  Jim Meyering  <jim@meyering.net>
38791
38792         * m4/warning.m4: New file, derived from bison's file by the same name.
38793
38794 2006-05-03  Bruno Haible  <bruno@clisp.org>
38795
38796         * lib/stdint_.h: Shorter URL.
38797         * lib/inttypes.h: Likewise.
38798
38799 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
38800
38801         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
38802
38803 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
38804
38805         * lib/verify.h: Document the internals better.  Most of this change
38806         was written by Bruno Haible.
38807
38808 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
38809
38810         * doc/verify.texi: New file, partly based on a proposal by
38811         Bruno Haible.
38812
38813 2006-05-02  Bruno Haible  <bruno@clisp.org>
38814
38815         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
38816         test from here...
38817         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
38818
38819 2006-04-29  Bruno Haible  <bruno@clisp.org>
38820
38821         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
38822         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
38823
38824 2006-04-29  Bruno Haible  <bruno@clisp.org>
38825
38826         * gnulib-tool: Make --update option actually work.
38827
38828 2006-04-29  Bruno Haible  <bruno@clisp.org>
38829
38830         * doc/gcd.texi: New file.
38831         * doc/gnulib.texi: Include it.
38832
38833 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
38834
38835         * lib/getdate.y (get_date): When adding relative date, start with the
38836         initial time, not with the result of the first mktime call.
38837
38838 2006-04-25  Bruno Haible  <bruno@clisp.org>
38839
38840         * gnulib-tool (func_import): Output the include directives in three
38841         blocks, sorted separately.
38842         Reported by Ben Pfaff <blp@cs.stanford.edu>.
38843
38844 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
38845
38846         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
38847         to define main with arguments, for C++.  Reported by Eric Blake.
38848         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
38849         Prefer 'int main ()' to 'int main (void)', for C++.
38850         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
38851         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
38852         for 'main', for C99 and C++.
38853
38854 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
38855
38856         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
38857         Don't assume that exit status -1 is valid.
38858         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38859         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
38860         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
38861         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
38862         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
38863         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
38864         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
38865         functions can be used without declaring them, or that you can
38866         exit with status -1.
38867         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
38868
38869 2006-04-24  Karl Berry  <karl@gnu.org>
38870
38871         * config/srclist.txt (longdouble.m4): sync lost.
38872
38873 2006-04-24  Eric Blake  <ebb9@byu.net>
38874
38875         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
38876
38877 2006-04-24  Bruno Haible  <bruno@clisp.org>
38878
38879         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
38880         poll() implementation in AIX.
38881         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38882
38883 2006-04-24  Bruno Haible  <bruno@clisp.org>
38884
38885         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
38886         assigned exactly once.
38887
38888 2006-04-23  Claudio Fontana  <claudio@gnu.org>
38889             Bruno Haible  <bruno@clisp.org>
38890
38891         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
38892         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
38893         for AM_CPPFLAGS.
38894
38895 2006-04-23  Bruno Haible  <bruno@clisp.org>
38896
38897         * modules/copy-file: Depend on unistd.
38898         * modules/execute: Likewise.
38899         * modules/fatal-signal: Likewise.
38900         * modules/findprog: Likewise.
38901         * modules/mkdtemp : Likewise.
38902         * modules/pipe: Likewise.
38903         * modules/wait-process: Likewise.
38904
38905 2006-04-23  Bruno Haible  <bruno@clisp.org>
38906
38907         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
38908         condition was already detected.
38909         Reported by Ben Pfaff <blp@cs.stanford.edu>.
38910
38911 2006-04-23  Bruno Haible  <bruno@clisp.org>
38912
38913         * lib/copy-file.c: Include <unistd.h> unconditionally.
38914         * lib/execute.c: Likewise.
38915         * lib/fatal-signal.c: Likewise.
38916         * lib/findprog.c: Likewise.
38917         * lib/mkdtemp.c: Likewise.
38918         * lib/pipe.h: Likewise.
38919         * lib/pipe.c: Likewise.
38920         * lib/wait-process.h: Likewise.
38921
38922 2006-04-23  Bruno Haible  <bruno@clisp.org>
38923
38924         * gnulib-tool (func_usage): Fix --import description. Document
38925         --update.
38926         (func_import): Create temporary file in a temporary directory, if
38927         --dry-run is specified. Silence errors from 'grep' when there are no
38928         m4 files in $m4dir.
38929         (func_create_testdir): Silence errors from 'grep' when there are no
38930         m4 files in $m4dir.
38931         Reported by Karl Berry <karl@freefriends.org>.
38932
38933 2006-04-20  Bruno Haible  <bruno@clisp.org>
38934
38935         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
38936         one argument, so that the code will be portable to Autoconf 2.60.
38937         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
38938         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
38939         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
38940
38941 2006-04-19  Derek Price  <derek@ximbiot.com>
38942             Eric Blake  <ebb9@byu.net>
38943
38944         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
38945         rather than "/full/path.h".  Update comment to match.  Shorten &
38946         generalize m4_translit call via AS_TR_CPP.
38947
38948 2006-04-19  Derek Price  <derek@ximbiot.com>
38949             Eric Blake  <ebb9@byu.net>
38950
38951         * lib/inttypes.h: Correct grammar in comment.
38952
38953 2006-04-18  Derek Price  <derek@ximbiot.com>
38954             Paul Eggert  <eggert@cs.ucla.edu>
38955
38956         * modules/inttypes: New file.
38957         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
38958
38959 2006-04-18  Derek Price  <derek@ximbiot.com>
38960             Paul Eggert  <eggert@cs.ucla.edu>
38961
38962         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
38963         New files.
38964
38965 2006-04-18  Derek Price  <derek@ximbiot.com>
38966             Paul Eggert  <eggert@cs.ucla.edu>
38967
38968         * lib/inttypes.h: New file.
38969         * lib/strtoimax.c: Assume <inttypes.h>.
38970
38971 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
38972
38973         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
38974         isn't mounted.  Problem reported by Kir Kolyshkin.
38975
38976 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
38977
38978         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
38979         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
38980         Derek R. Price.
38981         * lib/regex.h (RE_DUP_MAX): Update comment to match current
38982         implementation.
38983
38984 2006-04-12  Eric Blake  <ebb9@byu.net>
38985
38986         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
38987         is now done automatically by the corresponding Autoconf macro.
38988
38989 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
38990
38991         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
38992         time_r.h.
38993
38994 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
38995
38996         Merge regex changes from libc, removing some of our
38997         POSIX-conformance changes that were rejected and redoing them in a
38998         less-intrusive way.
38999
39000         * lib/regcomp.c (re_compile_internal, init_dfa):
39001         Length arg is now size_t, not Idx.  All uses changed.
39002         (peek_token): Forward decl now says internal_function.
39003         (__re_error_msgid, __re_error_msgid_idx):
39004         Now static rather than extern with attribute_hidden.
39005         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
39006         For some reason libc prefers K&R style defns for external functions.
39007         (regerror) [!defined _LIBC]: Likewise.
39008         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
39009         (seek_collating_symbol_entry, lookup_collation_sequence_value):
39010         (build_range_exp, build_collating_symbol):
39011         Use K&R-style defn.
39012         (re_compile_fastmap): Use '\0' to memset, not 0.
39013         (utf8_sb_map): Make the calculations more obvious.
39014         (init_dfa, parse_bracket_exp, build_charclass_op):
39015         Call calloc and cast result, as glibc does.
39016         (init_word_char, fetch_token, peek_token, peek_token_bracket):
39017         (build_range_exp, build_collating_symbol):
39018         Now internal functions.
39019
39020         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
39021
39022         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
39023         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
39024         Don't depend on VMS; depend on __VMS instead, for POSIX
39025         namespace cleanness.
39026         (regoff_t): Define to ssize_t, not long int.
39027
39028         Remove the REG_ macros named below.  Instead, make the old names
39029         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
39030         __USE_GNU_REGEX.
39031         (REG_BACKSLASH_ESCAPE_IN_LISTS):
39032         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
39033         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
39034         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
39035         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
39036         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
39037         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
39038         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
39039         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
39040         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
39041         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
39042         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
39043         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
39044         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
39045         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
39046         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
39047         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
39048         (REG_NREGS):
39049         Remove.  All uses replaced by the old RE_* names.
39050         (RE_BACKSLASH_ESCAPE_IN_LISTS):
39051         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
39052         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
39053         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
39054         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
39055         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
39056         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
39057         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
39058         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
39059         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
39060         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
39061         Don't bother having these macros be independent of each others'
39062         values, since they no longer exist in the POSIX name space.
39063
39064         Rename the following member names back to their old names,
39065         unless !__USE_GNU_REGEX.  All uses changed back.
39066         (buffer): Renamed from re_buffer.
39067         (allocated): Renamed from re_allocated.
39068         (used): Renamed from re_used.
39069         (syntax): Renamed from re_syntax.
39070         (fastmap): Renamed from re_fastmap.
39071         (translate): Renamed from re_translate.
39072         (can_be_null): Renamed from re_can_be_null.
39073         (regs_allocated): Renamed from re_regs_allocated.
39074         (fastmap_accurate): Renamed from re_fastmap_accurate.
39075         (no_sub): Renamed from re_no_sub.
39076         (not_bol): Renamed from re_not_bol.
39077         (not_eol): Renamed from re_not_eol.
39078         (newline_anchor): Renamed from re_newline_anchor.
39079         (num_regs): Renamed from rm_num_regs.
39080         (start): Renamed from rm_start.
39081         (end): Renamed from rm_end.
39082
39083         (free_state): Move up a bit.
39084
39085         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
39086         #define to be empty.
39087         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
39088         when that is what is intended.
39089         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
39090         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
39091         (MAX): New macro.
39092         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
39093         All uses changed back to re_malloc, etc.  It's now the caller's
39094         responsibility to check for overflow; all callers changed.
39095         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
39096         (re_x2nrealloc): Remove.
39097         (free_state): Remove decl.
39098
39099         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
39100         (re_set_registers, re_exec):
39101         Use K&R-style defn.
39102
39103         2006-01-31  Roland McGrath  <roland@redhat.com>
39104
39105         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
39106         Reported by Mike Frysinger <vapier@gentoo.org>.
39107
39108         2006-01-15  Andreas Jaeger  <aj@suse.de>
39109
39110         [BZ #1950]
39111         * lib/regex_internal.c (re_string_reconstruct): Adjust for
39112         build_wcs_upper_buffer change.
39113         (build_wcs_upper_buffer): Change return type.
39114
39115         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
39116
39117         * lib/regex_internal.h: Include <stdint.h> if available.
39118
39119         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
39120
39121         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
39122
39123         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
39124
39125         * lib/regcomp.c: Adjust for changed secondary hash function.
39126
39127         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
39128
39129         * lib/regex.h: Pretty printing.
39130         Clean up namespace a bit.
39131
39132         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
39133
39134         * lib/regexec.c (update_cur_sifted_state, check_arrival,
39135         check_arrival_add_next_nodes): Avoid using uninitialized variable.
39136
39137         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
39138                     Ulrich Drepper  <drepper@redhat.com>
39139
39140         [BZ #1302]
39141         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
39142         changed.
39143         (bitset_word_t): Renamed from bitset_word.  All uses changed.
39144
39145         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
39146
39147         [BZ #281]
39148         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
39149         * lib/regcomp.c: Remove unnecessary uses of
39150         unsigned RE_TRANSLATE_TYPE.
39151         * lib/regex_internal.h: Likewise.
39152         * lib/regex_internal.c: Likewise.
39153         * lib/regexec.c: Likewise.
39154         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
39155
39156         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
39157
39158         * lib/regexec.c (find_recover_state): Remove unnecessary
39159         initialization.
39160         (transit_state_bkref): Make DFA a const pointer.
39161         (get_subexp): Likewise.
39162         (check_arrival): Likewise.
39163         (update_cur_sifted_state): Likewise.
39164         (re_search_internal): Likewise.
39165         (prune_impossible_nodes): Likewise.
39166         (acquire_init_state_context): Likewise.
39167         (proceed_next_node): Likewise.
39168         (set_regs): Likewise.
39169         (free_fail_stack_return): Likewise.
39170         (check_arrival_expand_ecl): Mark DFA parameter as const.
39171         (check_arrival_expand_ecl_sub): Likewise.
39172         (check_subexp_limits): Likewise.
39173         (sub_epsilon_src_nodes):  Likewise.
39174         (add_epsilon_src_nodes):  Likewise.
39175         (merge_state_array): Likewise.
39176         (update_regs): Likewise.
39177         (build_trtable): Likewise.
39178         (sift_states_backward): Mark MCTX parameter as const.
39179         (build_sifted_states): Likewise.
39180         (update_cur_sifted_state): Likewise.
39181         (sift_states_mkref): Likewise.
39182         (check_arrival_expand_ecl): Mark eclosure as const.
39183         (check_dst_limits_calc_pos_1): Likewise.
39184         * lib/regex_internal.h (re_match_context_t): Make dfa a const
39185         pointer.
39186
39187         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
39188
39189         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
39190         (transit_state_sb): Likewise.
39191         (transit_state_mb): Likewise.
39192         (sift_states_iter_mb): Likewise.
39193         (check_arrival_add_next_nodes): Likewise.
39194         (check_node_accept_bytes): Change first parameter to pointer-to-const.
39195         [_LIBC] (re_search_2_stub): Use mempcpy.
39196
39197         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
39198         mbrtowc for very simple UTF-8 case.
39199
39200         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
39201         a pointer-to-const.
39202         (re_acquire_state_context): Likewise.
39203         * lib/regex_internal.h: Adjust prototypes.
39204
39205         * lib/regex.c: Prevent using C++ compilers.
39206
39207         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
39208         (re_acquire_state_context): Likewise.
39209
39210 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39211
39212         * modules/regex (Depends-on): Add ssize_t.
39213
39214 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39215
39216         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
39217         translation table.
39218
39219 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39220
39221         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
39222
39223 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
39224             Bruno Haible  <bruno@clisp.org>
39225
39226         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
39227         <sys/types.h> and <inttypes.h>.
39228
39229 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39230
39231         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
39232         `__error_t_defined', so argp.h will not typedef the former.
39233
39234 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
39235
39236         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
39237         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
39238         glibc names.  Even if glibc is changed to conform to POSIX, the
39239         traditional names will be available anyway, since regex depends on
39240         the extensions module.  Also, fix a longstanding typo in the
39241         implementation of Spencer ERE test #75 from grep 2.3.  Problems
39242         reported by Emanuele Giaquinta.  Also, change sense of cached
39243         variable, so that the message makes sense.
39244
39245 2006-03-24  Simon Josefsson  <jas@extundo.com>
39246
39247         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
39248         including some doc fixes.
39249         (base64_encode_alloc): Fix +1 bug on allocation failures.
39250
39251 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39252
39253         * lib/base64.c (base64_encode): Do not read past end of array with
39254         unsanitized input on systems with CHAR_BIT > 8.
39255
39256 2006-03-24  Eric Blake  <ebb9@byu.net>
39257
39258         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
39259
39260 2006-03-22  Karl Berry  <karl@gnu.org>
39261
39262         * config/srclist.txt (*setenv.[ch]): get from coreutils.
39263         * config/srclistvars.sh (COREUTILS): new var.
39264
39265 2006-03-17  Jim Meyering  <jim@meyering.net>
39266
39267         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
39268         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
39269
39270 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
39271
39272         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
39273         no longer needs it.  Instead, check that regoff_t is as least
39274         as wide as ptrdiff_t.
39275
39276         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
39277         so that our regex.h stays compatible with the installed regex.
39278         This is helpful for installers who configure --without-included-regex.
39279         Problem reported by Emanuele Giaquinta.
39280
39281 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
39282
39283         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
39284         Typedef to long int, not to off_, as POSIX will likely change
39285         in that direction.
39286
39287 2006-03-15  Eric Blake  <ebb9@byu.net>
39288
39289         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
39290
39291 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
39292
39293         * lib/argp-help.c (validate_uparams): Fix typo
39294         * lib/argp-parse.c (argp_default_options): Consistently begin help
39295         messages with a lowercase letter.
39296
39297 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
39298
39299         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
39300         overrun buffers and shouldn't be used (much as gets shouldn't be
39301         used).
39302         * lib/time_r.c (asctime_r, ctime_r): Likewise.
39303
39304 2006-03-08  Simon Josefsson  <jas@extundo.com>
39305
39306         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
39307         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39308
39309 2006-03-08  Simon Josefsson  <jas@extundo.com>
39310
39311         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
39312         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39313
39314 2006-03-08  Simon Josefsson  <jas@extundo.com>
39315
39316         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
39317         signal that configure disabled the device.
39318
39319 2006-03-08  Simon Josefsson  <jas@extundo.com>
39320
39321         * build-aux/maint.mk: Fix refresh-po, to handle no translated
39322         languages.
39323
39324 2006-03-07  Simon Josefsson  <jas@extundo.com>
39325
39326         * modules/getopt (Depends-on): Add unistd.
39327
39328         * modules/unistd: New file.
39329
39330 2006-03-07  Simon Josefsson  <jas@extundo.com>
39331
39332         * modules/gc-random: New file.
39333
39334 2006-03-07  Simon Josefsson  <jas@extundo.com>
39335
39336         * m4/unistd_h.m4: New file.
39337
39338 2006-03-07  Simon Josefsson  <jas@extundo.com>
39339
39340         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
39341         test to be side-effect free by storing the result in the cache
39342         variable gl_cv_lib_readline, and moving the assignment of
39343         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
39344         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39345
39346 2006-03-07  Simon Josefsson  <jas@extundo.com>
39347
39348         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
39349         error on missing devices (the functions will return an error).
39350
39351         * m4/gc.m4: Move random stuff to gc-random.m4
39352
39353 2006-03-07  Simon Josefsson  <jas@extundo.com>
39354
39355         * lib/unistd_.h: New file.
39356
39357 2006-03-07  Simon Josefsson  <jas@extundo.com>
39358
39359         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
39360
39361 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
39362
39363         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
39364         Problem reported by Juan Manuel Guerrero.
39365
39366 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
39367
39368         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
39369         the unistd module.
39370         * lib/getlogin_r.c: Likewise.
39371         * lib/getlogin_r.h: Likewise.
39372         * lib/glob.c: Likewise.
39373         * lib/pagealign_alloc.c: Likewise.
39374         * lib/unistd_.h: Remove; no longer needed.
39375
39376 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
39377
39378         * MODULES.html.sh (Support for systems lacking POSIX:2001):
39379         Add unistd.
39380         * modules/c-stack (Depends-on): Add unistd.
39381         * modules/getlogin_r: Likewise.
39382         * modules/glob: Likewise.
39383         * modules/pagealign_alloc: Likewise.
39384         * modules/unistd (Files): Remove lib/unistd_.h.
39385         (EXTRA_DIST): Remove.
39386         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
39387         need unistd_.h.
39388         (MOSTLYCLEANFILES): Remove unistd.h-t.
39389
39390 2006-03-03  Simon Josefsson  <jas@extundo.com>
39391
39392         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
39393
39394 2006-03-03  Simon Josefsson  <jas@extundo.com>
39395
39396         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
39397         libidn and bison.
39398
39399 2006-03-03  Simon Josefsson  <jas@extundo.com>
39400
39401         * build-aux/maint.mk: Add indent target.
39402
39403 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
39404
39405         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
39406         our replacement poll.h in any case, to avoid a differing
39407         declaration from a system header.  Seen on AIX.
39408
39409 2006-03-01  Simon Josefsson  <jas@extundo.com>
39410
39411         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
39412         <kasal@ucw.cz>.
39413
39414 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
39415
39416         * modules/gettime (Depends-on): Add extensions module.
39417         * modules/nanosleep (Depends-on): Likewise.
39418         * modules/settime (Depends-on): Likewise.
39419
39420 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
39421
39422         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
39423         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
39424         pedantically.
39425         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39426         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
39427
39428         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
39429         not "==".  Reported by Ralf Wildenhues.
39430
39431 2006-03-01  Karl Berry  <karl@gnu.org>
39432
39433         * doc/Copyright/request-*: new files, synced from gnuorg.
39434
39435 2006-03-01  Karl Berry  <karl@gnu.org>
39436
39437         * config/srclist.txt (Copyright/*): new entries.
39438
39439 2006-02-28  Simon Josefsson  <jas@extundo.com>
39440
39441         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
39442
39443 2006-02-27  Simon Josefsson  <jas@extundo.com>
39444
39445         * lib/base64.h: Indent #define's.  From Jim Meyering
39446         <jim@meyering.net>.
39447
39448 2006-02-27  Jim Meyering  <jim@meyering.net>
39449
39450         Revert the change of 2006-02-24, so these files can continue
39451         to be sync'd from gettext.
39452         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
39453         of `config.h'.
39454
39455 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
39456
39457         * modules/intprops: New file.
39458         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
39459         Add intprops.
39460         * modules/getloadavg (Files): Remove lib/intprops.h.
39461         (Depends-on): Add intprops.
39462         * modules/human: Likewise.
39463         * modules/inttostr: Likewise.
39464         * modules/openat: Likewise.
39465         * modules/sig2str: Likewise.
39466         * modules/userspec: Likewise.
39467         * modules/utimecmp: Likewise.
39468         * modules/xnanosleep: Likewise.
39469         * modules/xstrtol: Likewise.
39470
39471 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
39472
39473         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
39474         * modules/lock-tests (TESTS): Use $(EXEEXT).
39475         * modules/tls-tests: Likewise.
39476         * modules/argp-tests: Likewise.
39477         (check_PROGRAMS): New var, replacing...
39478         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
39479
39480 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39481
39482         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
39483         `config.h'.
39484
39485 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
39486
39487         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
39488
39489 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39490
39491         Sync from coreutils.
39492         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
39493         gl_CHDIR_SAFER.
39494
39495 2006-02-22  Jim Meyering  <jim@meyering.net>
39496
39497         Sync from coreutils.
39498         * m4/chdir-safer.m4: New file.
39499
39500 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
39501
39502         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
39503         AT_FDCWD exceeds INT_MAX.
39504         * lib/openat.h (AT_FDCWD): Likewise.
39505
39506 2006-02-17  Eric Blake  <address@hidden>
39507
39508         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
39509
39510 2006-02-16  Simon Josefsson  <jas@extundo.com>
39511
39512         * modules/getaddrinfo (Depends-on): Add sys_socket.
39513
39514 2006-02-15  Simon Josefsson  <jas@extundo.com>
39515
39516         * build-aux/maint.mk: Add dsyntax-check rule.
39517
39518 2006-02-15  Eric Blake  <ebb9@byu.net>
39519
39520         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
39521         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
39522         'present but cannot compile' warnings on cygwin.
39523         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
39524         use ws2tcpip.h if sys/socket.h works.
39525         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
39526         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
39527
39528 2006-02-14  Simon Josefsson  <jas@extundo.com>
39529
39530         * modules/maintainer-makefile (Files): Rename.
39531
39532         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
39533         and (the local) Makefile.cfg to maint-cfg.mk.
39534
39535         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
39536         to the latter.
39537
39538         * modules/maintainer-makefile: New module.
39539
39540         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
39541         severaly stripped to make it possible to build it up from scratch
39542         with reliable tests.
39543
39544         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
39545         fixes to permit overriding the default actions when configure and
39546         makefile are not available.
39547
39548 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
39549
39550         Sync from coreutils.
39551         * modules/lstat (Depends-on): Don't depend on xalloc.
39552         (License): Change from GPL to LGPL, since this is now simply a
39553         replacement for a libc function.
39554
39555 2006-02-14  Jim Meyering  <jim@meyering.net>
39556
39557         Sync from coreutils.
39558
39559         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
39560         failure on deficient systems, and simplify gnulib lgpl dependencies.
39561         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
39562         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
39563
39564         * lib/xalloc-die.c: Remove unused definition of N_.
39565
39566 2006-02-14  Jim Meyering  <jim@meyering.net>
39567
39568         Sync from coreutils.
39569         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
39570         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
39571         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
39572         double-quote uses of that variable, to accommodate the rare case in
39573         which getmntent is available in none of the libraries checked.  This
39574         happens at least on FreeBSD 5.0.
39575
39576 2006-02-13  Simon Josefsson  <jas@extundo.com>
39577
39578         * gnulib-tool (Usage): Fix --import, from
39579         karl@freefriends.org (Karl Berry).
39580
39581 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
39582
39583         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
39584
39585 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
39586
39587         * lib/argp-namefrob.h: Restore changes accidentally lost during the
39588         "autoupdate" on 2005-12-12.
39589
39590 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
39591
39592         * modules/closeout (Depends-on): Remove atexit.
39593
39594 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
39595
39596         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
39597         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
39598
39599 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
39600
39601         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
39602         __EXTENSIONS__ if this causes compilation to fail.  Problem
39603         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
39604         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
39605
39606 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
39607
39608         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
39609         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
39610         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
39611         All uses changed.
39612
39613 2006-01-26  Simon Josefsson  <jas@extundo.com>
39614
39615         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
39616         prototype is visible on mingw32.
39617
39618         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
39619         for mingw32.
39620
39621         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
39622         mingw32).
39623
39624 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
39625
39626         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
39627         attempt to open for write; this always fails, at least on POSIX
39628         hosts.  This reinstates the 2006-01-09 change, which was
39629         inadvertently removed.
39630
39631 2006-01-26  Bruno Haible  <bruno@clisp.org>
39632
39633         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
39634         Reported by Paul Eggert.
39635
39636 2006-01-26  Bruno Haible  <bruno@clisp.org>
39637             Paul Eggert  <eggert@cs.ucla.edu>
39638
39639         * lib/stdbool_.h (_Bool)
39640         [(! (defined __cplusplus || defined __BEOS__)
39641           && !defined __GNUC__
39642           && !(defined __HP_cc || defined __xlc__
39643                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
39644                || defined __sgi))]:
39645         #define to signed char in these cases too; this simplifies
39646         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
39647         etc., separately) and makes it more conservative.
39648
39649 2006-01-25  Simon Josefsson  <jas@extundo.com>
39650
39651         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
39652         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
39653         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
39654
39655 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
39656
39657         * lib/argp-namefrob.h: Bugfix. Remove stray #
39658
39659 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
39660
39661         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
39662         so that we test the test.
39663         Check for yet another HP-UX cc bug involving *bool |= bool.
39664
39665 2006-01-25  Karl Berry  <karl@gnu.org>
39666
39667         * config/srclist.txt (vasnprintf.c): sync lost.
39668
39669 2006-01-25  Jim Meyering  <jim@meyering.net>
39670
39671         Sync from the stable (b5) branch of coreutils:
39672
39673         * lib/fts.c (fts_children): Don't let close() clobber errno from
39674         failed fchdir().
39675
39676         * lib/fts.c (fts_stat): When following a symlink-to-directory,
39677         don't necessarily interpret stat-fails+lstat-succeeds as indicating
39678         a dangling symlink.  That can also happen at least for ELOOP.
39679         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
39680         FYI, this bug predates the inclusion of fts.c in coreutils.
39681
39682         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
39683         in their own block, so pre-c99 compilers don't object.
39684
39685         Avoid the double-free (first in fts_read, second in fts_close) that
39686         would occur when an `active' directory is made inaccessible (e.g.,
39687         via chmod a-x) during a traversal.
39688         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
39689         before returning.  Reproduce this failure by
39690         mkdir -p a/b; cd a; chmod a-x . b
39691         Reported by Stavros Passas.
39692
39693 2006-01-25  Jim Meyering  <jim@meyering.net>
39694
39695         * lib/fileblocks.c: Remove more useless parentheses.
39696         * lib/readutmp.h: Likewise.
39697
39698 2006-01-25  Bruno Haible  <bruno@clisp.org>
39699
39700         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
39701         warnings.
39702         Reported by Paul Eggert.
39703
39704 2006-01-25  Bruno Haible  <bruno@clisp.org>
39705
39706         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
39707         rid of a trap command. For Solaris sh.
39708         Reported by Mark D. Baushke <mdb@gnu.org>.
39709
39710 2006-01-24  Simon Josefsson  <jas@extundo.com>
39711
39712         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
39713         Bruno.
39714
39715 2006-01-24  Karl Berry  <karl@gnu.org>
39716
39717         * config/srclist.txt (argp-namefrob.h): sync lost.
39718
39719 2006-01-24  Jim Meyering  <jim@meyering.net>
39720
39721         * modules/openat (Files): Add lib/intprops.h.
39722         From Mark D. Baushke.
39723
39724 2006-01-24  Jim Meyering  <jim@meyering.net>
39725
39726         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
39727         Reported by Mark D. Baushke.
39728
39729 2006-01-24  Jim Meyering  <jim@meyering.net>
39730
39731         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
39732
39733 2006-01-24  Bruno Haible  <bruno@clisp.org>
39734
39735         * modules/strnlen (Maintainer): Change from glibc to all.
39736
39737 2006-01-24  Bruno Haible  <bruno@clisp.org>
39738
39739         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
39740         Patch by Paul Eggert.
39741
39742 2006-01-24  Bruno Haible  <bruno@clisp.org>
39743
39744         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
39745         already has it.
39746         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
39747         2005-11-26.
39748
39749         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
39750         'signed char' to avoid problems with the built-in _Bool type.
39751         Reported by Paul Eggert on 2005-11-26.
39752
39753 2006-01-24  Bruno Haible  <bruno@clisp.org>
39754
39755         * gnulib-tool (func_import): Avoid constructing complicated sed
39756         expressions inside backquote.
39757         Report and solution by Mark D. Baushke <mdb@gnu.org>.
39758
39759 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
39760
39761         These changes imported from libc.
39762         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
39763         test and two separate function calls.
39764         * lib/strndup.c (__strndup): Add libc_hidden_def.
39765
39766 2006-01-23  Simon Josefsson  <jas@extundo.com>
39767
39768         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
39769         Remove the test_*_SOURCES variable: automake infers it by default.
39770         * modules/tls-tests: Likewise.
39771
39772 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
39773
39774         Work around porting bugs reported by Dieter in
39775         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
39776         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
39777         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
39778         Include "getopt.h" first, to check interface.
39779         (getenv): Declare only if defined HAVE_DECL_GETENV &&
39780         !HAVE_DECL_GETENV.
39781         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
39782         (__strndup): Revert to K&R-style function dfns, the glibc style.
39783         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
39784         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
39785         Include strnlen.h first, to get prototype properly.
39786         (strnlen): Renamed from __strnlen.
39787         Remove weak alias.
39788
39789 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
39790
39791         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
39792
39793 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
39794
39795         * config/srclist.txt: Adjust to reflect glibc reorganization.
39796         This affects only comments.
39797
39798 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
39799
39800          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
39801          Reported by Bruce Korb <bkorb@gnu.org>.
39802
39803 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
39804
39805         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
39806         to pacify gcc -Wswitch-default.
39807
39808 2006-01-22  Bruno Haible  <bruno@clisp.org>
39809
39810         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
39811         temporary buffer for sprintf, take into account the precision also
39812         for 'd', 'i', 'u', 'o', 'x', 'X'.
39813
39814 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
39815
39816         * modules/argp-tests: New module
39817         * tests/test-argp.c: New file
39818         * tests/test-argp-2.sh: New file
39819
39820 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
39821
39822         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
39823         (__argp_base_name): Removed
39824         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
39825         typo.
39826         (__argp_base_name): Provide macro definition or extern declaration
39827         depending on the configuration
39828
39829 2006-01-20  Simon Josefsson  <jas@extundo.com>
39830
39831         * modules/inet_ntop (Depends-on): Depend on sys_socket.
39832
39833 2006-01-20  Simon Josefsson  <jas@extundo.com>
39834
39835         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
39836
39837 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
39838
39839         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
39840         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
39841         Suggested by Bruno Haible.
39842
39843 2006-01-20  Karl Berry  <karl@gnu.org>
39844
39845         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
39846         until changes propagate, I guess.
39847
39848 2006-01-19  Simon Josefsson  <jas@extundo.com>
39849
39850         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
39851
39852 2006-01-19  Simon Josefsson  <jas@extundo.com>
39853
39854         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
39855
39856 2006-01-19  Simon Josefsson  <jas@extundo.com>
39857
39858         * gnulib-tool: Set check_PROGRAMS.
39859
39860         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
39861         modules/des-tests, modules/gc-arcfour-tests,
39862         modules/gc-arctwo-tests, modules/gc-des-tests,
39863         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
39864         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
39865         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
39866         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
39867         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
39868         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
39869         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
39870         test_*_SOURCES.
39871
39872 2006-01-18  Simon Josefsson  <jas@extundo.com>
39873
39874         * modules/socklen (Depends-on): Depend on sys_socket.
39875
39876 2006-01-18  Simon Josefsson  <jas@extundo.com>
39877
39878         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
39879         modules/des-tests, modules/gc-arcfour-tests,
39880         modules/gc-arctwo-tests, modules/gc-des-tests,
39881         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
39882         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
39883         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
39884         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
39885         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
39886         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
39887         $(EXEEXT) to automake TESTS variable, for mingw32.
39888
39889 2006-01-17  Simon Josefsson  <jas@extundo.com>
39890
39891         * modules/socklen (Include): Need sys/socket.h.
39892
39893 2006-01-17  Bruno Haible  <bruno@clisp.org>
39894
39895         * modules/ssize_t (Include): Add <sys/types.h>.
39896
39897 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
39898
39899         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
39900         it's not portable and it doesn't work with cross-compiles.
39901         Problem reported by Bruno Haible.  Fix missing-$ typo in
39902         'test "gl_cv_ignore_unused_libraries" ...' that prevented
39903         -zignore from being used with Sun's C compiler.
39904
39905 2006-01-12  Simon Josefsson  <jas@extundo.com>
39906
39907         * lib/base64.c: Fix warning, reported by Bruno Haible
39908         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
39909
39910 2006-01-12  Bruno Haible  <bruno@clisp.org>
39911
39912         * modules/ldd: New file.
39913         * build-aux/ldd.sh.in: New file.
39914         * MODULES.html.sh (Support for building libraries and executables): Add
39915         ldd.
39916
39917 2006-01-12  Bruno Haible  <bruno@clisp.org>
39918
39919         * m4/ldd.m4: New file.
39920
39921 2006-01-12  Bruno Haible  <bruno@clisp.org>
39922
39923         * gnulib-tool (func_import, func_create_testdir): Don't go into an
39924         endless loop while replacing $auxdir with build-aux.
39925
39926 2006-01-11  Simon Josefsson  <jas@extundo.com>
39927
39928         * lib/stdint_.h (SIZE_MAX): Add missing (.
39929
39930 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
39931
39932         Sync from coreutils.
39933         * lib/md5.c: Fix commentary typos.
39934         (alignof, UNALIGNED_P): No need for a GCC-specific version.
39935         * lib/md5.h (__attribute__): Remove; unused.
39936         * lib/sha1.c: Fix commentary to match md5 better.
39937         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
39938         so that we don't need to worry about alignment.  All uses changed.
39939         This merges the 2005-10-28 md5 change into sha1.
39940
39941 2006-01-11  Jim Meyering  <jim@meyering.net>
39942
39943         Sync from coreutils.
39944         * lib/md5.c (OP): Fix spacing.
39945
39946 2006-01-11  Bruno Haible  <bruno@clisp.org>
39947
39948         Ensure automatic ordering between gl_LOCK and gl_ARGP.
39949         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
39950         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
39951
39952 2006-01-11  Bruno Haible  <bruno@clisp.org>
39953
39954         Ensure automatic ordering between gl_LOCK and gl_ARGP.
39955         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
39956         the "early" section as well.
39957
39958 2006-01-11  Bruno Haible  <bruno@clisp.org>
39959
39960         Avoid "ar: no archive members specified" error on MacOS X.
39961         * gnulib-tool (func_modules_add_dummy): New function.
39962         (func_import, func_create_testdir): Invoke it.
39963
39964 2006-01-11  Bruno Haible  <bruno@clisp.org>
39965
39966         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
39967         with $auxdir in AC_CONFIG_FILES statements.
39968
39969 2006-01-11  Bruno Haible  <bruno@clisp.org>
39970
39971         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
39972         Initialize also noinst_HEADERS to empty.
39973
39974 2006-01-11  Bruno Haible  <bruno@clisp.org>
39975
39976         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
39977         variables.
39978         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
39979         autoreconf.
39980
39981 2006-01-11  Bruno Haible  <bruno@clisp.org>
39982
39983         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
39984         overridable by the user.
39985         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39986
39987 2006-01-10  Simon Josefsson  <jas@extundo.com>
39988
39989         * modules/sys_socket: New file.
39990
39991 2006-01-10  Simon Josefsson  <jas@extundo.com>
39992
39993         * m4/sys_socket_h.m4: New file.
39994
39995 2006-01-10  Simon Josefsson  <jas@extundo.com>
39996
39997         * lib/socket_.h: New file.
39998
39999 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
40000
40001         * modules/readutmp (Maintainer): Add myself.
40002
40003 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
40004
40005         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
40006         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
40007         People who are still concerned with buggy memcmp implementations
40008         can invoke gl_FUNC_MEMCMP themselves.
40009
40010 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
40011
40012         * lib/regex_internal.h (BITSET_WORD_BITS):
40013         Work around a bug in 64-bit PGC (before version 6.1-2), where the
40014         preprocessor mishandles large unsigned values as if they were signed.
40015         Problem reported by Claudio Fontana in
40016         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
40017
40018 2006-01-10  Jim Meyering  <jim@meyering.net>
40019
40020         Avoid the double-free (first in fts_read, second in fts_close) that
40021         would occur when an `active' directory is made inaccessible (e.g.,
40022         via chmod a-x) during a traversal.
40023         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
40024         before returning.  Reproduce this failure by
40025         mkdir -p a/b; cd a; chmod a-x . b
40026         Reported by Stavros Passas.
40027
40028         Sync from coreutils.
40029         * lib/sha1.c: Tweak grammar in a comment.
40030
40031 2006-01-10  Jim Meyering  <jim@meyering.net>
40032
40033         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
40034         Patch by Joerg Sonnenberger.
40035
40036 2006-01-10  Bruno Haible  <bruno@clisp.org>
40037
40038         * modules/readutmp: Depend on module free.
40039         * modules/strtok_r: Depend on module restrict.
40040
40041 2006-01-10  Bruno Haible  <bruno@clisp.org>
40042
40043         * modules/gettext (configure.ac): Add an invocation of
40044         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
40045
40046 2006-01-10  Bruno Haible  <bruno@clisp.org>
40047
40048         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
40049         Reported by Werner Lemberg <wl@gnu.org>.
40050
40051 2006-01-10  Bruno Haible  <bruno@clisp.org>
40052
40053         * lib/localcharset.c: Update from GNU gettext.
40054
40055 2006-01-10  Bruno Haible  <bruno@clisp.org>
40056
40057         * lib/argp.h (__const): Remove macro. Use const instead.
40058         * lib/argp-fmtstream.h (__const): Likewise.
40059         * lib/glob_.h (__const): Remove macro.
40060         * lib/glob-libc.h: Use const instead of __const.
40061
40062 2006-01-10  Bruno Haible  <bruno@clisp.org>
40063
40064         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
40065         variable.
40066         Needed to avoid an automake error regarding the 'gettext' module.
40067
40068 2006-01-09  Simon Josefsson  <jas@extundo.com>
40069
40070         * modules/inet_ntop (Depends-on): Add restrict.
40071
40072 2006-01-09  Simon Josefsson  <jas@extundo.com>
40073
40074         * modules/gc-rijndael-tests (License): Put under LGPL.
40075
40076         * modules/gc-des-tests (License): Likewise.
40077
40078         * modules/gc-arcfour-tests (License): Likewise.
40079
40080         * modules/gc-arctwo-tests (License): Likewise.
40081
40082         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
40083
40084         * modules/gc-hmac-sha1-tests (Files): Likewise.
40085
40086         * modules/gc-hmac-md5-tests (License): Likewise.
40087
40088         * modules/gc-sha1-tests (License): Likewise.
40089
40090         * modules/gc-md5-tests (License): Likewise.
40091
40092         * modules/gc-md4-tests (License): Likewise.
40093
40094         * modules/gc-md2-tests (License): Likewise.
40095
40096         * modules/gc-tests (License): Likewise.
40097
40098         * modules/des-tests (License): Likewise.
40099
40100         * modules/md4-tests (License): Likewise.
40101
40102         * modules/md2-tests (License): Likewise.
40103
40104 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40105
40106         Sync from coreutils:
40107
40108         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
40109         * modules/lib-ignore: New file.
40110         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
40111         chdir-safer.m4, lchmod.m4.
40112         * modules/openat: Add mkdirat.c, openat-priv.h.
40113
40114 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40115
40116         Sync from coreutils.
40117         * m4/lib-ignore.m4: New file.
40118         * m4/lchmod.m4: New file.
40119
40120 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40121
40122         Sync from coreutils.
40123         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
40124         for write access: POSIX says that must fail.
40125         * lib/fts.c (diropen): Likewise.
40126         * lib/save-cwd.c (save_cwd): Likewise.
40127         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
40128         well, for minor improvements on hosts that lack O_DIRECTORY.
40129         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
40130         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
40131         Fall back on chown if open failed with EACCES.
40132
40133         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
40134         Report an error at compile-time if only a 1-second nominal clock
40135         resolution is found.
40136
40137         * lib/lchmod.h: New file.
40138         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
40139         (make_dir_parents): Use lchown rather than chown, and
40140         lchmod rather than chmod.
40141
40142         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
40143         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
40144         "proc" reported by n0dalus.
40145
40146         * lib/mountlist.c: Include <limits.h>.
40147         (dev_from_mount_options)
40148         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
40149         New function.  It no longer assumes "dev=" has the System V meaning
40150         on Linux (since it doesn't).  It also parses "dev=" more carefully.
40151         (read_file_system_list)
40152         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
40153         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
40154         dev= in that case.
40155
40156         * lib/posixtm.h (PDS_PRE_2000): New macro.
40157         * lib/posixtm.c (year): Arg is now syntax_bits rather than
40158         allow_century.  All usages changed.  Reject dates outside the range
40159         1969-1999 if PDS_PRE_2000 is used.
40160
40161 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40162
40163         Sync from coreutils.
40164         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
40165         (Time of day items): Mention the possibility of leap seconds.
40166         Problem reported by Dr. David Alan Gilbert.
40167
40168 2006-01-09  Jim Meyering  <jim@meyering.net>
40169
40170         Sync from coreutils.
40171
40172         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
40173
40174         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
40175
40176         * lib/modechange.c (mode_compile): Reject an invalid mode string
40177         that starts with an octal digit.  From Andreas Gruenbacher.
40178
40179         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
40180         and dup to open_safer and dup_safer, respectively.
40181         (openat_permissive): Fix typo in comment.
40182
40183         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
40184         "gettext.h"; either no longer needed or are guaranteed by openat.h.
40185         (_): Remove; no longer needed.
40186         (openat): Renamed from rpl_openat; no need for rpl_openat
40187         since openat.h renames openat for us.
40188         Replace most of the body with a call to openat_permissive,
40189         to avoid duplicate code.
40190         Port to (probably hypothetical) environments were mode_t is
40191         wider than int.
40192         (openat_permissive): Require mode arg, so that we can check
40193         types better.  Put it just after flags.  Change cwd failure
40194         indicator from pointer-to-bool to pointer-to-errno-value.
40195         All callers changed.
40196         Invoke openat_save_fail and/or openat_restore_fail if
40197         cwd_errno is null, so that openat can call us.
40198         (openat_permissive, fdopendir, fstatat, unlinkat):
40199         Simplify errno handling to avoid some duplicate code,
40200         as it's OK to set errno on success.
40201         * lib/openat.h: Revamp code so that function macros depend on
40202         __OPENAT_PREFIX only, not also on AT_FDCWD.
40203         (openat_ro): Remove.  Caller changed to use openat_permissive.
40204         (openat_permissive): Now a macro, if not a function.
40205         (openat_restore_fail, openat_save_fail): Now always functions,
40206         since mkdirat needs them even if __OPENAT_PREFIX is defined.
40207
40208         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
40209         and openat.c.
40210         * lib/mkdirat.c: Include openat-priv.h.
40211         Remove definitions of macros defined therein.
40212         * lib/openat.c: Likewise.
40213
40214         * lib/mkdirat.c (mkdirat): New file and function.
40215         * lib/openat.h (mkdirat): Declare.
40216
40217         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
40218
40219         * lib/openat.h (openat_permissive): Declare.
40220         (openat_ro): Define.
40221
40222         * lib/openat.c (EXPECTED_ERRNO): New macro.
40223         (openat_permissive): New function -- used in remove.c rewrite.
40224         (all functions): Set errno just before returning, only if there
40225         was an actual failure.
40226         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
40227
40228         Emulate openat-family functions using Linux's procfs, if possible.
40229         Idea and some code based on Ulrich Drepper's glibc changes.
40230
40231         * lib/openat.c: (BUILD_PROC_NAME): New macro.
40232         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
40233         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
40234         before falling back on save_cwd and restore_cwd.
40235         (fdopendir, fstatat, unlinkat): Likewise.
40236
40237         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
40238         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
40239
40240         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
40241         as second argument to va_arg.  Otherwise, some versions of gcc
40242         warn that `if this code is reached, the program will abort'.
40243
40244 2006-01-09  Jim Meyering  <jim@meyering.net>
40245
40246         Sync from coreutils.
40247         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
40248         Require openat-priv.h.
40249
40250 2006-01-09  Bruno Haible  <bruno@clisp.org>
40251
40252         * modules/strnlen (Include): Use strnlen.h.
40253
40254 2006-01-09  Bruno Haible  <bruno@clisp.org>
40255
40256         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
40257
40258 2006-01-09  Bruno Haible  <bruno@clisp.org>
40259
40260         * lib/sysexit_.h (EX_OK): New macro.
40261         Suggested by Martin Lambers <marlam@marlam.de>.
40262
40263 2006-01-09  Bruno Haible  <bruno@clisp.org>
40264
40265         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
40266         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
40267
40268 2006-01-09  Bruno Haible  <bruno@clisp.org>
40269
40270         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
40271         numbers.
40272
40273 2006-01-09  Bruno Haible  <bruno@clisp.org>
40274
40275         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
40276         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
40277         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
40278         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
40279
40280 2006-01-09  Bruno Haible  <bruno@clisp.org>
40281
40282         * build-aux/javacomp.sh.in: New file, moved from lib/.
40283         * modules/javacomp-script (Files): Update.
40284         (configure.ac): Add AC_CONFIG_FILES invocation.
40285         (EXTRA_DIST): Remove variable.
40286
40287         * build-aux/javaexec.sh.in: New file, moved from lib/.
40288         * modules/javaexec (Files): Update.
40289         (configure.ac): Add AC_CONFIG_FILES invocation.
40290         (EXTRA_DIST): Remove javaexec.sh.in.
40291
40292         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
40293         * modules/csharpcomp-script (Files): Update.
40294         (configure.ac): Add AC_CONFIG_FILES invocation.
40295         (EXTRA_DIST): Remove variable.
40296
40297         * build-aux/csharpexec.sh.in: New file, moved from lib/.
40298         * modules/csharpexec (Files): Update.
40299         (configure.ac): Add AC_CONFIG_FILES invocation.
40300         (EXTRA_DIST): Remove csharpexec.sh.in.
40301
40302 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
40303
40304         Sync from coreutils.
40305
40306         Add POSIX ACL support
40307         * lib/acl.h (copy_acl, set_acl): Add declarations.
40308         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
40309         systems other than Linux.
40310         (chmod_or_fchmod): New function: use fchmod when possible,
40311         and chmod otherwise.
40312         (file_has_acl): Add a POSIX ACL implementation, with a
40313         Linux-specific subcase.
40314         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
40315         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
40316         acls are unsupported.
40317         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
40318         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
40319         are unsupported.
40320
40321 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
40322
40323         Sync from coreutils.
40324         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
40325
40326 2006-01-07  Bruno Haible  <bruno@clisp.org>
40327
40328         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
40329         gl_EARLY.
40330
40331 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
40332
40333         * lib/strftime.c (tzname): Don't declare if it is already #defined.
40334         Problem reported for Mingw by Mark Junker.
40335
40336 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
40337
40338         * README: Gnulib normally doesn't generate a tarball.
40339
40340 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
40341
40342         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
40343         long int, not int, for nanosecond counts, so that people who are
40344         used to POSIX struct timespec won't be surprised.  Reported by Jim
40345         Meyering.
40346
40347 2005-12-28  Bruno Haible  <bruno@clisp.org>
40348
40349         * build-aux/config.rpath: Update from GNU gettext.
40350
40351 2005-12-16  Jim Meyering  <jim@meyering.net>
40352
40353         * modules/fprintftime: New module.
40354         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
40355
40356 2005-12-16  Jim Meyering  <jim@meyering.net>
40357
40358         * m4/fprintftime.m4: New file.
40359
40360 2005-12-16  Jim Meyering  <jim@meyering.net>
40361
40362         * lib/fprintftime.c, lib/fprintftime.h: New files.
40363
40364 2005-12-15  Simon Josefsson  <jas@extundo.com>
40365
40366         * modules/socklen (configure.ac): Fix M4 macro name, to align with
40367         new m4/socklen.m4.
40368
40369 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
40370
40371         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
40372         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
40373
40374 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
40375
40376         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
40377         * lib/argp-help.c (fill_in_uparams): Check if the constructed
40378         struct uparams is valid. Fall back to the default values if it is
40379         not.
40380
40381 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
40382
40383         * modules/argp (Files): Add argp-pin.c
40384         (Depends-on): dirname
40385         (lib_SOURCES): Add argp-pin.c
40386
40387 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
40388
40389         * m4/argp.m4:  Check if program_invocation_name and
40390         program_invocation_short_name are declared and define appropriate
40391         macros if they are not.
40392
40393 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
40394
40395         * lib/argp-help.c (__argp_base_name): New function
40396         (__argp_short_program_name): Rewrite using __argp_base_name
40397         * lib/argp-namefrob.h: Define program_invocation_name and
40398         program_invocation_short_name if requested
40399         (__argp_base_name): Add prototype
40400         * lib/argp-parse.c (argp_def): Use gettext wrappers
40401         (argp_default_parser): Use __argp_base_name
40402         * lib/argp-pin.c: New file. Defines program_invocation_name and
40403         program_invocation_short_name on systems that lack them.
40404
40405 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
40406
40407         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
40408         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
40409         porting problem reported by Georg Schwarz in
40410         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
40411
40412 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
40413
40414         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
40415         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
40416         porting problem reported by Georg Schwarz in
40417         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
40418
40419 2005-12-05  Bruno Haible  <bruno@clisp.org>
40420
40421         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
40422         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
40423         Reported by Mark Junker <mjscod@gmx.de>.
40424
40425 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
40426
40427         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
40428         Use implementation from Albert Chin, with some
40429         comments/corrections by Stepan Kasal and myself.
40430
40431 2005-12-02  Bruno Haible  <bruno@clisp.org>
40432
40433         * gnulib-tool (func_import): Accept GPLed build tool modules when
40434         --lgpl is given.
40435         * modules/csharpcomp-script: New file.
40436         * modules/csharpcomp: Depend on it.
40437         * modules/javacomp-script: New file.
40438         * modules/javacomp: Depend on it.
40439         Suggested by Simon Josefsson.
40440
40441 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
40442
40443         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
40444         statement, to work around an HP-UX 10.20 compiler bug reported by
40445         Peter O'Gorman.
40446
40447 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
40448
40449         * modules/savedir (Depends-on): Add openat.
40450
40451 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
40452
40453         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
40454         (uintmax_t) [defined uintmax_t]: Do not declare.
40455         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
40456         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
40457         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
40458         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
40459         sake of portability to weird hosts that C allows (though we don't
40460         know of any practical examples).
40461
40462         * lib/savedir.h (fdsavedir): New decl.
40463         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
40464         contains most of the former guts of savedir.
40465         (savedir): Use savedirstream.
40466         Include "openat.h".
40467
40468 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
40469
40470         * modules/obstack (Files): Add m4/ulonglong.m4.
40471         Problem reported by Davide Angelocola.
40472
40473 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
40474
40475         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
40476         coreutils no longer futzes with rounding modes.
40477
40478 2005-11-14  Jim Meyering  <jim@meyering.net>
40479
40480         * lib/mkstemp-safer.c: Include <config.h>, required for possible
40481         replacement of mkstemp.
40482
40483 2005-11-10  Simon Josefsson  <jas@extundo.com>
40484
40485         * lib/readline.c: Remove EOL.
40486
40487 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
40488
40489         * modules/gethrxtime (Depends-on): Add gettime.
40490
40491 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
40492
40493         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
40494         or gettimeofday; no longer needed.
40495
40496 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
40497
40498         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
40499         time business.
40500         (gethrxtime) [! (HAVE_NANOUPTIME
40501         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
40502         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
40503         our own approximation.
40504
40505 2005-11-08  Eric Blake  <ebb9@byu.net>
40506
40507         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
40508
40509 2005-11-08  Eric Blake  <ebb9@byu.net>
40510
40511         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
40512
40513 2005-11-04  Bruno Haible  <bruno@clisp.org>
40514
40515         * gnulib-tool: Implement --update mode.
40516
40517 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
40518
40519         Fix porting problem reported by Theodoros V. Kalamatianos.
40520         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
40521         Don't assume that futimes failing means we must fail.
40522
40523 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
40524
40525         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
40526         variables to suggest the intended function of the PATH_MAX check.
40527
40528 2005-10-30  Kean Johnston  <jkj@sco.com>
40529
40530         Trivial changes to support SCO systems.
40531         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
40532         as PATH_MAX.
40533         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
40534         where __ptr is null when no I/O is pending.
40535
40536 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
40537
40538         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
40539         leave errno alone.  Problem reported by Dmitry V. Levin.
40540
40541 2005-10-28  Simon Josefsson  <jas@extundo.com>
40542
40543         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
40544         Test more.
40545
40546         * tests/test-gc-md2.c, tests/test-md2.c: New files.
40547
40548         * modules/md2, modules/md2-tests: New files.
40549
40550 2005-10-28  Simon Josefsson  <jas@extundo.com>
40551
40552         * m4/inet_ntop.m4: More tests.
40553
40554         * m4/gc-md2.m4, md2.m4: New file.
40555
40556 2005-10-28  Simon Josefsson  <jas@extundo.com>
40557
40558         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
40559         "restrict" keywords, as per POSIX.  Protect the function
40560         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
40561         Don't use K&R prototypes.  Check the sprintf return values.
40562         Re-define EAFNOSUPPORT if not present.  Indent.
40563
40564         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
40565         suggested by Bruno Haible <bruno@clisp.org>.
40566
40567         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
40568
40569         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
40570
40571         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
40572         libgcrypt).
40573
40574         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
40575
40576         * lib/md2.h, lib/md2.c: New files.
40577
40578 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
40579
40580         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
40581         errno alone.  Problem reported by Frederic Jolliton.
40582
40583 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
40584
40585         * modules/verify (License): Change from GPL to LGPL.  This is a
40586         tiny module and there are apparently near-equivalents that are
40587         under the BSD license.
40588
40589 2005-10-24  Simon Josefsson  <jas@extundo.com>
40590
40591         * modules/sha1: Relicense to LGPL.
40592
40593 2005-10-24  Simon Josefsson  <jas@extundo.com>
40594
40595         * lib/md4.h: Shrink buffer size, now that we changed the type.
40596
40597 2005-10-23  Simon Josefsson  <jas@extundo.com>
40598
40599         * gnulib-tool (func_import): Fix --tests-base.
40600
40601 2005-10-22  Simon Josefsson  <jas@extundo.com>
40602
40603         * modules/arcfour (Depends-on): Need stdint.
40604
40605 2005-10-22  Simon Josefsson  <jas@extundo.com>
40606
40607         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
40608         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
40609
40610 2005-10-22  Simon Josefsson  <jas@extundo.com>
40611
40612         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
40613         suggested by Bruno Haible <bruno@clisp.org>.
40614
40615 2005-10-22  Simon Josefsson  <jas@extundo.com>
40616
40617         * lib/crc.h: Include stddef.h, for size_t.
40618
40619 2005-10-22  Simon Josefsson  <jas@extundo.com>
40620
40621         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
40622         arcfour_context struct (simplify test vector testing in GNU
40623         Shishi).
40624
40625 2005-10-21  Simon Josefsson  <jas@extundo.com>
40626
40627         * modules/des, modules/des-tests: New files.
40628
40629         * modules/gc-des, modules/gc-des-tests: New files.
40630
40631         * tests/test-des.c, tests/test-gc-des.c: New file.
40632
40633 2005-10-21  Simon Josefsson  <jas@extundo.com>
40634
40635         * modules/arctwo, modules/arctwo-tests: New files.
40636
40637         * tests/test-arctwo.c: New file.
40638
40639         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
40640
40641         * tests/test-gc-arctwo.c: New file.
40642
40643 2005-10-21  Simon Josefsson  <jas@extundo.com>
40644
40645         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
40646         Bruno Haible <bruno@clisp.org>.
40647
40648         * m4/gc-des.m4: New file.
40649
40650 2005-10-21  Simon Josefsson  <jas@extundo.com>
40651
40652         * m4/arctwo.m4: New file.
40653
40654         * m4/gc-arctwo.m4: New file.
40655
40656 2005-10-21  Simon Josefsson  <jas@extundo.com>
40657
40658         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
40659         block.
40660
40661 2005-10-21  Simon Josefsson  <jas@extundo.com>
40662
40663         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
40664         <bruno@clisp.org>.
40665
40666         * lib/hmac-sha1.c (hmac_sha1): Likewise.
40667
40668         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
40669         Bruno Haible <bruno@clisp.org>.
40670
40671         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
40672         <bruno@clisp.org>.
40673
40674 2005-10-21  Simon Josefsson  <jas@extundo.com>
40675
40676         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
40677
40678 2005-10-21  Simon Josefsson  <jas@extundo.com>
40679
40680         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
40681
40682 2005-10-21  Simon Josefsson  <jas@extundo.com>
40683
40684         * lib/des.h, lib/des.c: New files.
40685
40686         * lib/gc-gnulib.c: Support DES.c
40687
40688 2005-10-21  Simon Josefsson  <jas@extundo.com>
40689
40690         * lib/arctwo.h, lib/arctwo.c: New files.
40691
40692         * lib/gc-gnulib.c: Support ARCTWO.
40693
40694 2005-10-21  Simon Josefsson  <jas@extundo.com>
40695
40696         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
40697         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40698
40699 2005-10-21  Simon Josefsson  <jas@extundo.com>
40700
40701         * gnulib-tool (func_import, func_create_testdir): Define automake
40702         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
40703         Makefile.am snippet),
40704         suggested by Bruno Haible <bruno@clisp.org>.
40705
40706         * modules/gc (Makefile.am): Use it.
40707
40708 2005-10-21  Bruno Haible  <bruno@clisp.org>
40709
40710         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
40711         patch.
40712
40713 2005-10-19  Simon Josefsson  <jas@extundo.com>
40714
40715         * tests/test-gc-rijndael.c: New file.
40716
40717         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
40718
40719 2005-10-19  Simon Josefsson  <jas@extundo.com>
40720
40721         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
40722         interface too.
40723
40724 2005-10-19  Simon Josefsson  <jas@extundo.com>
40725
40726         * tests/test-gc-arcfour.c: New file.
40727
40728         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
40729
40730 2005-10-19  Simon Josefsson  <jas@extundo.com>
40731
40732         * modules/gc-md4, modules/gc-md4-tests: New file.
40733
40734         * tests/test-gc-md4.c: New file.
40735
40736 2005-10-19  Simon Josefsson  <jas@extundo.com>
40737
40738         * m4/gc-md4.m4: New file.
40739
40740 2005-10-19  Simon Josefsson  <jas@extundo.com>
40741
40742         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
40743         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
40744         <kasal@ucw.cz>.
40745
40746 2005-10-19  Simon Josefsson  <jas@extundo.com>
40747
40748         * m4/gc-arcfour.m4: New file.
40749
40750         * m4/gc-rijndael.m4: New file.
40751
40752 2005-10-19  Simon Josefsson  <jas@extundo.com>
40753
40754         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
40755
40756 2005-10-19  Simon Josefsson  <jas@extundo.com>
40757
40758         * lib/gc-gnulib.c: Support ARCFOUR.
40759
40760 2005-10-19  Simon Josefsson  <jas@extundo.com>
40761
40762         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
40763         support.
40764
40765         * lib/gc.h: Add ECB enum type.
40766
40767         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
40768
40769 2005-10-18  Simon Josefsson  <jas@extundo.com>
40770
40771         * tests/test-md5.c: New file.
40772
40773         * modules/md5-tests: New file.
40774
40775 2005-10-18  Simon Josefsson  <jas@extundo.com>
40776
40777         * tests/test-md4.c: New file.
40778
40779         * modules/md4, modules/md4-tests: New files.
40780
40781 2005-10-18  Simon Josefsson  <jas@extundo.com>
40782
40783         * m4/md4.m4: New file.
40784
40785 2005-10-18  Simon Josefsson  <jas@extundo.com>
40786
40787         * lib/md4.h, lib/md4.c: New files, based on md5.?.
40788
40789 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
40790
40791         * gnulib-tool (func_create_testdir): Omit the second check whether
40792         BUILT_SOURCES in nonempty.
40793
40794 2005-10-17  Simon Josefsson  <jas@extundo.com>
40795
40796         * tests/test-rijndael.c: New file.
40797
40798 2005-10-17  Simon Josefsson  <jas@extundo.com>
40799
40800         * modules/sha1: Depend on stdint instead of md5.
40801
40802         * modules/md5: Depend on stdint, remove uint32_t.
40803
40804 2005-10-17  Simon Josefsson  <jas@extundo.com>
40805
40806         * modules/gc-sha1-tests: New file.
40807
40808         * tests/test-gc-sha1.c: New file.
40809
40810 2005-10-17  Simon Josefsson  <jas@extundo.com>
40811
40812         * m4/md5.m4: Remove call to uint32_t.m4.
40813
40814 2005-10-17  Simon Josefsson  <jas@extundo.com>
40815
40816         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
40817
40818         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
40819         md5.h.
40820
40821         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
40822
40823         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
40824
40825 2005-10-17  Simon Josefsson  <jas@extundo.com>
40826
40827         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
40828
40829 2005-10-17  Simon Josefsson  <jas@extundo.com>
40830
40831         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
40832
40833 2005-10-17  Simon Josefsson  <jas@extundo.com>
40834
40835         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
40836
40837         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
40838
40839 2005-10-17  Bruno Haible  <bruno@clisp.org>
40840
40841         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
40842         that it can also be used in a test.
40843
40844 2005-10-16  Bruno Haible  <bruno@clisp.org>
40845
40846         * gnulib-tool (func_emit_tests_Makefile_am): Also define
40847         TESTS_ENVIRONMENT, so that individual tests can augment it.
40848
40849         * gnulib-tool (func_create_testdir): Use an intermediate target for
40850         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
40851         macros, like $(ALLOCA_H), which cannot be passed through the command
40852         line.
40853
40854 2005-10-15  Simon Josefsson  <jas@extundo.com>
40855
40856         * modules/rijndael-tests: New file.
40857
40858         * modules/rijndael: New file.
40859
40860 2005-10-15  Simon Josefsson  <jas@extundo.com>
40861
40862         * m4/rijndael.m4: New file.
40863
40864 2005-10-15  Simon Josefsson  <jas@extundo.com>
40865
40866         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
40867
40868         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
40869
40870 2005-10-14  Simon Josefsson  <jas@extundo.com>
40871
40872         * tests/test-arcfour.c: New file.
40873
40874         * modules/arcfour, modules/arcfour-tests: New files.
40875
40876 2005-10-14  Simon Josefsson  <jas@extundo.com>
40877
40878         * m4/arcfour.m4: New file.
40879
40880 2005-10-14  Simon Josefsson  <jas@extundo.com>
40881
40882         * lib/arcfour.h, lib/arcfour.c: New files.
40883
40884 2005-10-14  Roland McGrath  <roland@redhat.com>
40885
40886         Import from libc.  [BZ #1331]
40887         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
40888         macro argument.
40889         Reported by Matej Vela <vela@debian.org>.
40890
40891 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
40892
40893         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
40894         include <wchar.h>; no longer needed.
40895
40896 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
40897
40898         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
40899
40900 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
40901         and  Ulrich Drepper  <drepper@redhat.com>
40902
40903         Import from libc.
40904         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
40905         instead of inline stream orientation test and two separate
40906         function calls.  Pay no attention to USE_IN_LIBIO.
40907
40908 2005-10-13  Simon Josefsson  <jas@extundo.com>
40909
40910         * modules/gc-hmac-md5-tests: New file.
40911
40912         * tests/test-gc-hmac-sha1.c: New file.
40913
40914         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
40915
40916         * modules/gc-hmac-md5-tests: New file.
40917
40918         * tests/test-gc-md5.c: New file.
40919
40920         * modules/gc-md5-tests: New file.
40921
40922 2005-10-13  Simon Josefsson  <jas@extundo.com>
40923
40924         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
40925         Move memory allocation outside of loop.
40926
40927 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
40928
40929         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
40930         intermediate directory is in a read-only file system.  Problem
40931         reported by Eric Blake.
40932
40933 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
40934
40935         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
40936
40937 2005-10-12  Simon Josefsson  <jas@extundo.com>
40938
40939         * tests/test-hmac-sha1.c: New file.
40940
40941         * modules/hmac-sha1-tests: New file.
40942
40943         * modules/hmac-sha1: New file.
40944
40945 2005-10-12  Simon Josefsson  <jas@extundo.com>
40946
40947         * modules/gc-sha1: New file.
40948
40949 2005-10-12  Simon Josefsson  <jas@extundo.com>
40950
40951         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
40952
40953         * tests/test-gc-pbkdf2-sha1.c: New file.
40954
40955 2005-10-12  Simon Josefsson  <jas@extundo.com>
40956
40957         * modules/gc-md5, modules/gc-hmac-md5: New files.
40958
40959         * modules/gc (Files): Remove md5, memxor and hmac files.
40960
40961 2005-10-12  Simon Josefsson  <jas@extundo.com>
40962
40963         * m4/gc-pbkdf2-sha1.m4: New file.
40964
40965         * m4/gc-hmac-sha1.m4: New file.
40966
40967         * m4/gc-sha1: New file.
40968
40969         * m4/hmac-sha1.m4: New file.
40970
40971 2005-10-12  Simon Josefsson  <jas@extundo.com>
40972
40973         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
40974
40975         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
40976
40977 2005-10-12  Simon Josefsson  <jas@extundo.com>
40978
40979         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
40980         suggested by Bruno Haible <bruno@clisp.org>.
40981
40982 2005-10-12  Simon Josefsson  <jas@extundo.com>
40983
40984         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
40985
40986 2005-10-12  Simon Josefsson  <jas@extundo.com>
40987
40988         * lib/gc-pbkdf2-sha1.c: New file.
40989
40990         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
40991
40992 2005-10-12  Simon Josefsson  <jas@extundo.com>
40993
40994         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
40995
40996         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
40997
40998 2005-10-12  Simon Josefsson  <jas@extundo.com>
40999
41000         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
41001         GC_USE_HMAC_MD5, respectively.
41002
41003         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
41004         (gc_md5): Fix typo.
41005
41006         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
41007
41008         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
41009
41010         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
41011
41012 2005-10-12  Bruno Haible  <bruno@clisp.org>
41013
41014         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
41015         Reported by Stepan Kasal <kasal@ucw.cz>.
41016
41017 2005-10-11  Simon Josefsson  <jas@extundo.com>
41018
41019         * tests/test-crc.c: New file.
41020
41021         * modules/crc, modules/crc-tests: New files.
41022
41023 2005-10-11  Simon Josefsson  <jas@extundo.com>
41024
41025         * m4/crc.m4: New file.
41026
41027 2005-10-11  Simon Josefsson  <jas@extundo.com>
41028
41029         * lib/gc.h: Add gc_hash and gc_hash_buffer.
41030
41031         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
41032
41033         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
41034
41035 2005-10-11  Simon Josefsson  <jas@extundo.com>
41036
41037         * lib/crc.h, lib/crc.c: New files.
41038
41039         * lib/gc.h (gc_hash_buffer): Add doc.
41040
41041 2005-10-11  Bruno Haible  <bruno@clisp.org>
41042
41043         * modules/c-strcasestr: New file.
41044         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
41045
41046 2005-10-11  Bruno Haible  <bruno@clisp.org>
41047
41048         * modules/c-strcase: New file.
41049         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
41050
41051 2005-10-11  Bruno Haible  <bruno@clisp.org>
41052
41053         * lib/strcasecmp.c: Include limits.h.
41054         (strcasecmp): Avoid integer overflow on exotic platforms.
41055         * lib/strncasecmp.c: Include limits.h.
41056         (strncasecmp): Avoid integer overflow on exotic platforms.
41057         Reported by Paul Eggert.
41058
41059 2005-10-11  Bruno Haible  <bruno@clisp.org>
41060
41061         * lib/c-strcasestr.h: New file, from GNU gettext.
41062         * lib/c-strcasestr.c: New file, from GNU gettext.
41063
41064 2005-10-11  Bruno Haible  <bruno@clisp.org>
41065
41066         * lib/c-strcase.h: New file, from GNU gettext.
41067         * lib/c-strcasecmp.c: New file, from GNU gettext.
41068         * lib/c-strncasecmp.c: New file, from GNU gettext.
41069
41070 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
41071
41072         * modules/mempcpy (License): GPL -> LGPL.
41073         * modules/strchrnul (License): Likewise.
41074         * modules/sysexits (License): Likewise.
41075
41076 2005-10-08  Simon Josefsson  <jas@extundo.com>
41077
41078         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
41079
41080 2005-10-07  Simon Josefsson  <jas@extundo.com>
41081
41082         * m4/memxor.m4: Remove gl_C_RESTRICT call.
41083
41084 2005-10-06  Simon Josefsson  <jas@extundo.com>
41085
41086         * tests/test-hmac-md5.c: New file.
41087
41088         * modules/hmac-md5-tests: New file.
41089
41090         * modules/hmac-md5: New file.
41091
41092 2005-10-06  Simon Josefsson  <jas@extundo.com>
41093
41094         * m4/hmac-md5.m4: New file.
41095
41096         * m4/memxor.m4: Require gl_C_RESTRICT.
41097
41098 2005-10-06  Simon Josefsson  <jas@extundo.com>
41099
41100         * lib/memxor.c (memxor): Avoid casts and warnings.
41101
41102 2005-10-06  Simon Josefsson  <jas@extundo.com>
41103
41104         * lib/hmac-md5.c: New file.
41105
41106         * lib/hmac.h: New file.
41107
41108 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
41109
41110         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
41111         promotes to int, not unsigned int, to catch the AIX 5.3
41112         compiler bug.
41113
41114 2005-10-05  Simon Josefsson  <jas@extundo.com>
41115
41116         * modules/memxor: New file.
41117
41118         * modules/iconv (Files): Move config.rpath to havelib, it is used
41119         there.
41120
41121         * modules/havelib (Files): Add config.rpath.
41122
41123 2005-10-05  Simon Josefsson  <jas@extundo.com>
41124
41125         * m4/memxor.m4: New file.
41126
41127 2005-10-05  Simon Josefsson  <jas@extundo.com>
41128
41129         * lib/memxor.c (memxor): Fix compiler error.
41130
41131         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
41132         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
41133
41134         * lib/memxor.h, lib/memxor.c: New files.
41135
41136         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
41137         we assume all systems have it, suggested by Jim Meyering
41138         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
41139         any systems lack sys/socket.h; mingw32 is known to lack it, but we
41140         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
41141         same reasons.
41142
41143 2005-10-05  Simon Josefsson  <jas@extundo.com>
41144
41145         * config/srclist.txt: Add glibc bug 1423 for md5.h.
41146
41147 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
41148
41149         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
41150         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
41151         needed, since the source code now assumes these .h files.
41152
41153 2005-10-05  Derek Price  <derek@ximbiot.com>
41154
41155         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
41156
41157 2005-10-05  Bruno Haible  <bruno@clisp.org>
41158
41159         * modules/stdint (License): Change to LGPL.
41160
41161 2005-10-04  Simon Josefsson  <jas@extundo.com>
41162
41163         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
41164         D. Baushke" <mdb@gnu.org>.
41165
41166 2005-10-04  Bruno Haible  <bruno@clisp.org>
41167
41168         * lib/verify.h (verify_true): Provide alternative definition for C++.
41169
41170 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
41171
41172         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
41173         (SSIZE_MAX): New macro, if not already defined.
41174         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
41175         than 2 GiB.
41176
41177 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
41178
41179         Sync from coreutils.
41180         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
41181         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
41182         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
41183         ULLONG_MAX doesn't work with 2.7.2.1.
41184
41185 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
41186
41187         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
41188         From Ben Pfaff.
41189
41190         * modules/exclude (Depends-on): Depend on verify.
41191         * modules/strtoimax (Depends-on): Likewise.
41192         * modules/utimecmp (Depends-on): Likewise.
41193
41194 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
41195
41196         * lib/exclude.c: Include verify.h.
41197         (verify): Remove.  All callers changed to use verify.h's version.
41198         * lib/strtoimax.c: Likewise.
41199         * lib/utimecmp.c: Likewis.e
41200
41201         Sync from coreutils.
41202         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
41203         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
41204         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
41205         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
41206         bother returning ENOSYS if settimeofday or stime fails; just let
41207         them return whatever errno they want to return.
41208         * lib/utimens.c: Include unistd.h, for dup2.
41209         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
41210         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
41211
41212 2005-10-02  Jim Meyering  <jim@meyering.net>
41213
41214         Sync from coreutils.
41215         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
41216         from glibc-2.2.5 that fails for read-only files.
41217
41218 2005-10-02  Jim Meyering  <jim@meyering.net>
41219
41220         Sync from coreutils.
41221         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
41222         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
41223         `#if HAVE_CONFIG_H'.
41224         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
41225         Remove AT_FDCWD test.
41226         Do not consume the fd unless successful.
41227         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
41228         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
41229         block, so that we don't even try to compile it if settimeofday is
41230         available.  This works around a compilation failure on OSF1 V5.1,
41231         due to stime requiring a `long int*' while tv_sec is `int'.
41232
41233 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
41234
41235         Sync from coreutils.
41236         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
41237         against `yes', rather than just testing for nonempty.
41238
41239 2005-10-01  Simon Josefsson  <jas@extundo.com>
41240
41241         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
41242         and Darwin.
41243
41244         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
41245         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
41246         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
41247         freeaddrinfo and gai_strerror are declared by the POSIX headers.
41248         Check if struct addrinfo is declared.
41249
41250 2005-10-01  Simon Josefsson  <jas@extundo.com>
41251
41252         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
41253         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
41254         AI_* and EAI_* definitions.  Protect function declarations.
41255
41256 2005-10-01  Jim Meyering  <jim@meyering.net>
41257
41258         Sync from coreutils.
41259
41260         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
41261         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
41262         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
41263         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
41264         in the inet and nsl libraries.  Required on Solaris 5.7.
41265
41266 2005-10-01  Jim Meyering  <jim@meyering.net>
41267
41268         Sync from coreutils.
41269         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
41270         in the inet and nsl libraries.  Required on Solaris 5.7.
41271
41272 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
41273
41274         * lib/getdelim.c (getdelim): Remove unused variables.
41275
41276 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
41277
41278         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
41279         so that the code works even with ancient cpp.  Portability problem
41280         with GCC 2.7.2.1 reported by Thomas M.Ott.
41281
41282 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
41283
41284         * modules/regex (Depends-on): Add strcase.
41285
41286         * modules/gethostname (Licence): Change from GPL to LGPL, since
41287         gethostname.c is a trivial implementation of a standard library
41288         function.
41289         * modules/poll (License): Change from GPL to LGPL, since it's
41290         derived from LGPL code.
41291
41292 2005-09-27  Jim Meyering  <jim@meyering.net>
41293
41294         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
41295         HAVE_CONFIG_H.
41296
41297         * lib/intprops.h (signed_type_or_expr__): Define.
41298         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
41299         for unsigned types.
41300
41301 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
41302
41303         * lib/verify.h (verify_expr): Remove, replacing with:
41304         (verify_true): New macro that returns true instead of void.
41305         (verify_type__): Remove.
41306         (verify): Use verify_true rather than verify_type__.
41307
41308 2005-09-26  Bruno Haible  <bruno@clisp.org>
41309
41310         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
41311         is necessary.
41312         (lib_SOURCES): Remove mbchar.c.
41313         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
41314         (Files): Add m4/mbrtowc.m4.
41315         * modules/mbiter: Likewise.
41316         * modules/mbuiter: Likewise.
41317
41318 2005-09-26  Bruno Haible  <bruno@clisp.org>
41319
41320         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
41321         compile mbchar.c if they are not both present.
41322         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
41323         * m4/mbiter.m4 (gl_MBITER): Likewise.
41324         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
41325         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
41326         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
41327
41328 2005-09-25  Jim Meyering  <jim@meyering.net>
41329
41330         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
41331         also uses socklen_t.
41332
41333 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
41334
41335         * lib/utimens.c (ENOSYS): Define if not already defined.
41336         (futimens): Support having a null PATH if the file descriptor
41337         is nonnegative.
41338
41339         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
41340         Remove.
41341         (__attribute): Define to empty unless GCC 3.1 or later.
41342         This works around a core dump on OpenBSD 3.4, which has GCC
41343         2.95.3, which dumps core when given __attribute__(()).  It also
41344         simplifies other tests, since we really don't want to bother with
41345         worrying about which ancient version of GCC supported what.
41346         Original problem reported by Yoann Vandoorselaere, with part of
41347         the fix suggested by Derek Price.
41348
41349 2005-09-24  Jim Meyering  <jim@meyering.net>
41350
41351         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
41352         so we can once again use a positive bitfield width of 1 -- now we
41353         don't have to explain why we were using a bitfield width of 2.
41354
41355 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
41356
41357         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
41358         and similarly for the other external symbols.  Problem reported
41359         by James Gallager.
41360
41361         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
41362         bug reported by Jim Meyering.
41363
41364         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
41365         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
41366         not needed, since socklen is a prerequisite module.
41367
41368 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
41369
41370         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
41371         Problem reported by Eric Blake.
41372         (getaddrinfo): Initialize se so that it's not garbage.
41373         Redo internal storage allocation so that it doesn't make unportable
41374         assumptions about alignment.
41375         Fix a memory leak.
41376
41377         * lib/utimens.c (futimens): Use futimesat if available.
41378         Prefer it to futimes since it doesn't have the futimes bug.
41379
41380         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
41381         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
41382         Instead, declare a function that returns a pointer to an array,
41383         and use verify_type__ to declare the size of the array.
41384         Problem and germ of a solution reported by Bruno Haible.
41385         (verify_type__): Use 2, not 1, for bitfield size, to avoid
41386         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
41387
41388 2005-09-23  Jim Meyering  <jim@meyering.net>
41389
41390         Sync from coreutils.
41391         Correct build failure (socklen_t not defined) on at least
41392         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
41393         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
41394
41395 2005-09-23  Jim Meyering  <jim@meyering.net>
41396
41397         * modules/getaddrinfo (Depends-on): Add socklen.
41398
41399 2005-09-23  Bruno Haible  <bruno@clisp.org>
41400
41401         * tests/test-verify.c: New file.
41402
41403 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
41404
41405         Sync from coreutils.
41406
41407         * modules/argmatch (Depends-on): Add verify.
41408         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
41409         unistd-safer.
41410         * modules/save-cwd (Depends-on): Likewise.
41411
41412         * modules/openat (Files): Add lib/openat-die.c.
41413         (Depends-on): Remove error, exitfail.
41414         Add dirname.
41415
41416         * modules/verify: New file.
41417         * MODULES.html.sh (Diagnostics <assert.h>): New section,
41418         with "verify" module.
41419
41420 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
41421
41422         Sync from coreutils.
41423
41424         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
41425         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
41426         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
41427         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
41428         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
41429         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
41430         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
41431         Don't bother checking for string.h, stdlib.h, unistd.h.
41432         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
41433         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
41434         module's job.
41435         * m4/jm-macros.m4 (gl_MACROS): Likewise.
41436         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
41437
41438         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
41439         (gl_GETDATE): Use it.
41440
41441         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
41442
41443 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
41444
41445         Sync from coreutils.
41446
41447         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
41448         stat-time.h.
41449         * lib/argmatch.h: Include verify.h
41450         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
41451         (ARGMATCH_ASSERT): Remove; unused.
41452         * lib/canonicalize.c: Assume STDC_HEADERS.
41453         * lib/exclude.c: Include "strcase.h".
41454         * lib/regex_internal.h [!defined _LIBC]: Likewise.
41455         * lib/getusershell.c: Include stdio--.h rather than stdio.h
41456         and stdio-safer.h.
41457         (getusershell): Call fopen, not fopen_safer.
41458         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
41459         Do not include unistd-safer.h.
41460         (save_cwd): Don't call fd_safer; no longer needed
41461         now that we include fcntl--.h.
41462
41463         * lib/getdate.y (relative_time): New type.
41464         (RELATIVE_TIME_0): New constant.
41465         (parser_control): Use relative_time instead of doing it ourselves.
41466         (%union): Add new relative_time rel member.
41467         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
41468         Now typeless.
41469         (relunit, relunit_snumber): Now of type rel.
41470         (zone, rel, relunit, get_date): Adjust to above changes.
41471
41472         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
41473         Do not include unistd-safer.h.
41474         (getloadavg): Don't call fd_safer; no longer needed
41475         now that we include fcntl--.h.
41476
41477         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
41478         (make_dir_parents): Treat ENOSYS like EEXIST.
41479
41480         Improve quality of diagnostics on restore_cwd failure.
41481         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
41482         (make_dir_parents): Last arg is now int * (for errno), not bool *.
41483         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
41484         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
41485         each time through the loop.  Do not diagnose restore_cwd failure;
41486         that is the caller's job (and perhaps the caller does not care).
41487
41488         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
41489         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
41490         If the file already exists but is not a directory, don't bother
41491         to try to make its parents.
41492         Close potential file descriptor leak if we can't chdir("/") (!).
41493         Don't always return true if chdir($PWD) fails; return true only
41494         if the requested action was done successfully (except for the
41495         chdir($PWD)).
41496         Don't log final directory unless we actually made it.
41497         Refactor to avoid duplicate code to fix up permissions.
41498         Don't attempt to fix up parent permissions if chdir($PWD) fails.
41499
41500         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
41501         to make it a bit faster and (I hope) clearer.
41502         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
41503         Fix bug in formats like %2N.
41504
41505         * lib/verify.h: New file.
41506
41507 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
41508
41509         Sync from coreutils.
41510         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
41511
41512 2005-09-22  Jim Meyering  <jim@meyering.net>
41513
41514         Sync from coreutils.
41515
41516         * m4/lstat.m4 (gl_FUNC_LSTAT):
41517         Use AC_LIBSOURCES to require lstat.c and lstat.h.
41518         Remove obsolete comment.
41519         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
41520         * m4/xstrtod.m4: Likewise.
41521
41522         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
41523
41524 2005-09-22  Jim Meyering  <jim@meyering.net>
41525
41526         Sync from coreutils.
41527
41528         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
41529
41530         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
41531         the .tm_year member, since otherwise gcc-4.0 would now warn about
41532         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
41533
41534         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
41535         order to avoid an unsuppressible warning from gcc on 64-bit systems.
41536
41537         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
41538         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
41539         when run in a time zone for which daylight savings time is in effect
41540         for the starting date.
41541
41542         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
41543         stop us from restricting permissions of just-created absolute-named
41544         directories.
41545         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
41546         to restore initial working directory.
41547         * lib/mkdir-p.c (make_dir_parents): New parameter:
41548         different_working_dir, to tell caller if/when we change the working
41549         directory and are unable to return to the initial one.
41550         * lib/mkdir-p.h (make_dir_parents): Update prototype.
41551         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
41552         `return false'.  This fixes a bug introduced on 2004-07-30.
41553
41554         * lib/openat.c (fdopendir): Be sure to close the supplied
41555         file descriptor before returning.  This makes our replacement
41556         implementation a little closer to Solaris's, where fdopendir
41557         ties the file descriptor to the returned DIR* pointer.
41558         * lib/openat.c (unlinkat): New function.
41559         * lib/openat.h (unlinkat): Add prototype.
41560         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
41561         (openat_restore_fail): Rename from openat_restore_die.
41562         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
41563
41564         Provide an alternative to exiting immediately upon save_cwd or
41565         restore_cwd failure.  Now, an application can arrange e.g.,
41566         to perform a longjump in that case.
41567         * lib/openat.c: Include dirname.h.
41568         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
41569         (rpl_openat, fdopendir, fstatat): Call openat_save_die
41570         and openat_restore_die rather than calling error directly.
41571         Don't include "error.h" or "exitfail.h"; they're no longer needed.
41572
41573         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
41574         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
41575         define.
41576
41577         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
41578         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
41579                             int utc, int nanoseconds);
41580         Background:
41581         date should not have to allocate a megabyte of virtual memory to
41582         handle a format argument like +%1048575T.  When implemented with
41583         strftime, it must allocate such a buffer, use strftime to fill it
41584         in, print it, then free it.
41585         With fprintftime, it simply prints everything and exits.
41586         With no need for memory allocation, that's one fewer way to fail.
41587         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
41588         optional field width, not before, so we accept %9:z, not %:9z.
41589         (my_strftime): Be sure to use L_('x') for literals.
41590
41591         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
41592         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
41593         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
41594         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
41595         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
41596         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
41597         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
41598         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
41599         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
41600         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
41601         * lib/xgethostname.c, lib/xreadlink.c:
41602         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
41603
41604         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
41605         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
41606         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
41607         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
41608         and don't include <sys/file.h>).
41609
41610 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
41611
41612         Sync from coreutils.
41613
41614         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
41615         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
41616         [!LDAV_DONE]: Avoid unused variable warning.
41617
41618 2005-09-21  Bruno Haible  <bruno@clisp.org>
41619
41620         * lib/unicodeio.h (unicode_to_mb): New declaration.
41621
41622 2005-09-20  Derek Price  <derek@ximbiot.com>
41623
41624         * lib/getaddrinfo.c: Don't include <netdb.h> included from
41625         getaddrinfo.h.
41626
41627 2005-09-20  Bruno Haible  <bruno@clisp.org>
41628
41629         * gnulib-tool: Remove trailing slashes from the values specified for
41630         --source-base, --m4-base, --tests-base, --aux-dir.
41631         Suggested by Simon Josefsson <jas@extundo.com>.
41632
41633 2005-09-20  Bruno Haible  <bruno@clisp.org>
41634
41635         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
41636         func_modules_to_filelist, func_import, func_create_testdir): Make all
41637         sorting results locale-independent, so that gnulib-cache.m4 doesn't
41638         change when gnulib-tool is invoked in a different locale.
41639
41640 2005-09-19  Simon Josefsson  <jas@extundo.com>
41641
41642         * m4/socklen.m4: Fix typo.
41643
41644 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41645
41646         Use a consistent style for including <config.h>.
41647         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
41648         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
41649         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
41650         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
41651         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
41652         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
41653         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
41654         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
41655         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
41656         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
41657         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
41658         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
41659         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
41660         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
41661         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
41662         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
41663         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
41664         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
41665         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
41666         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
41667         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
41668         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
41669         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
41670         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
41671         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
41672         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
41673         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
41674         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
41675         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
41676         lib/xstrtoumax.c, lib/yesno.c:
41677         Standardize inclusion of config.h.
41678         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
41679         lib/inttostr.h:  Removed inclusion of config.h from header files.
41680         * lib/inttostr.c:  Adjusted in-tree users.
41681         * lib/timespec.h: Remove superfluous warning to include config.h.
41682         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
41683         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
41684         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
41685         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
41686         config.h with HAVE_CONFIG_H.
41687
41688 2005-09-19  Jim Meyering  <jim@meyering.net>
41689
41690         * modules/pathmax (License): Change to LGPL.
41691
41692 2005-09-19  Derek Price  <derek@ximbiot.com>
41693
41694         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
41695
41696 2005-09-19  Bruno Haible  <bruno@clisp.org>
41697
41698         * gnulib-tool (import): Provide default for --tests-base.
41699
41700 2005-09-19  Bruno Haible  <bruno@clisp.org>
41701
41702         * doc/quote.texi: New file, extracted from gnulib.texi.
41703         * doc/ctime.texi: New file, extracted from gnulib.texi.
41704         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
41705         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
41706         * doc/gnulib.texi: Include them.
41707
41708 2005-09-18  Bruno Haible  <bruno@clisp.org>
41709
41710         Portability fix.
41711         * gnulib-tool (func_readlink): New function.
41712         (func_ln_if_changed): Use it.
41713
41714 2005-09-18  Bruno Haible  <bruno@clisp.org>
41715
41716         * gnulib-tool: Support --with-tests also with --import.
41717         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
41718         (func_import): Use variables $testsbase and $inctests. Emit a
41719         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
41720         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
41721         SUBDIRS += $testsdir.
41722         (func_create_testdir): Update.
41723
41724 2005-09-18  Bruno Haible  <bruno@clisp.org>
41725
41726         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
41727         instead of $dry_run.
41728         (func_cp_if_changed, func_mv_if_changed): Remove functions.
41729         (func_ln_if_changed): Don't handle dry-run here.
41730         (func_import): In dry-run mode, detect more precisely which actions
41731         would be performed, and don't use "...ing" verbs.
41732
41733 2005-09-18  Bruno Haible  <bruno@clisp.org>
41734
41735         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
41736         (func_import): Use join on two temporary files instead of three nested
41737         loops, in order to determine which files are new or old.
41738
41739 2005-09-18  Bruno Haible  <bruno@clisp.org>
41740
41741         * gnulib-tool (func_import): Comment out code that spits out the
41742         new files with --dry-run.
41743
41744 2005-09-18  Bruno Haible  <bruno@clisp.org>
41745
41746         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
41747
41748 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
41749
41750         * lib/stat-time.h: New file.
41751         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
41752         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
41753         in a different way.
41754         (timespec_cmp): New function.
41755         * lib/utimecmp.c: Include stat-time.h.
41756         (SYSCALL_RESOLUTION): Depend on whether various struct stat
41757         members exist, not on the obsolescent ST_MTIM_NSEC.
41758         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
41759
41760 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
41761
41762         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
41763
41764 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
41765
41766         * MODULES.html.sh (File system functions): Add stat-time.
41767         * modules/stat-time: New file.
41768         * modules/timespec (Files): Remove m4/st_mtim.m4; this
41769         is now done in a different way, by the stat-time module.
41770         * modules/utimecmp (Depends-on): Add stat-time.
41771
41772 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
41773
41774         * m4/st_mtim.m4: Remove.  Superseded by...
41775         * m4/stat-time.m4: New file.
41776         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
41777         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
41778
41779 2005-09-15  Derek Price  <derek@ximbiot.com>
41780
41781         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
41782
41783 2005-09-15  Derek Price  <derek@ximbiot.com>
41784
41785         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
41786         * lib/regex_internal.c: Ditto, using this...
41787         (__GNUC_PREREQ): ...new macro.
41788         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
41789         using...
41790         (__GNUC_PREREQ): ...this new macro.
41791
41792         * lib/strstr.h: Include string.h. Define strstr as a macro here.
41793
41794 2005-09-15  Derek Price  <derek@ximbiot.com>
41795             Paul Eggert  <eggert@cs.ucla.edu>
41796
41797         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
41798         changes, consolidating in...
41799         * lib/regex_internal.h: ...this file.
41800
41801 2005-09-13  Jim Meyering  <jim@meyering.net>
41802
41803         * lib/canon-host.c: Filter through gnu indent and reword comments
41804         slightly.
41805         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
41806
41807 2005-09-13  Derek Price  <derek@ximbiot.com>
41808
41809         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
41810         failure.
41811         Reported by Jim Meyering  <jim@meyering.net>.
41812
41813 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
41814
41815         * lib/base64.c: Typo.
41816         (base64_encode): Put b64str in initialized data section.
41817
41818 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
41819
41820         Merge glibc and coreutils changes into gnulib, plus a few
41821         extra fixes.
41822         * lib/md5.c: Use #error rather than a string.
41823         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
41824         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
41825         (__attribute__): Define to empty for non recent-GCC.
41826         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
41827         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
41828         Renamed from their non-__ counterparts, with new macros replacing
41829         them if not _LIBC.  Add __THROW attribute.
41830         (rol): Remove.
41831         (struct md5_ctx): Align buffer if using GCC.
41832         * lib/sha1.h (struct sha1_ctx): Likewise.
41833         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
41834         The old name was backwards.
41835         (NOTSWAP): Remove; not used.
41836         (rol): New macro, moved here from md5.h.
41837         (sha1_process_block): Remove a FIXME that doesn't make sense.
41838
41839 2005-09-12  Derek Price  <derek@ximbiot.com>
41840
41841         Return usable errors from canon-host.
41842         * lib/canon-host.h: New file.
41843         * lib/canon-host.c (canon_host): Wrap...
41844         (canon_host_r): ...this new function, which now relies exclusively on
41845         getaddrinfo.
41846         (ch_strerror): New function.
41847         (last_cherror): New global.
41848         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
41849         interface.
41850         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
41851         void *.
41852         (freeaddrinfo): Free ai->ai_canonname when set.
41853
41854 2005-09-12  Derek Price  <derek@ximbiot.com>
41855
41856         Make canon-host require getaddrinfo.
41857         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
41858         AC_LIBSOURCE canon-host.h.  Call...
41859         (gl_PREREQ_CANON_HOST): ...this new function, which requires
41860         gl_GETADDRINFO.
41861         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
41862
41863 2005-09-12  Derek Price  <derek@ximbiot.com>
41864
41865         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
41866         LGPL.
41867         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
41868
41869 2005-09-12  Derek Price  <derek@ximbiot.com>
41870
41871         * lib/gai_strerror.c: Include config.h when available.  Include
41872         getaddrinfo.h before other headers to test interface.
41873         Reported by Larry Jones <lawrence.jones@ugs.com>.
41874
41875 2005-09-12  Derek Price  <derek@ximbiot.com>
41876             Paul Eggert  <eggert@cs.ucla.edu>
41877
41878         * modules/glob (Files): Add glob-libc.h.
41879
41880 2005-09-12  Derek Price  <derek@ximbiot.com>
41881             Paul Eggert  <eggert@cs.ucla.edu>
41882
41883         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
41884         glob_.h, glob-libc.h.
41885         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
41886
41887 2005-09-12  Derek Price  <derek@ximbiot.com>
41888             Paul Eggert  <eggert@cs.ucla.edu>
41889
41890         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
41891         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
41892         protecting things that should be done only in gnulib contexts.
41893         * lib/glob_.h: New file, containing only the glob things needed for
41894         gnulib.
41895         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
41896         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
41897         (glob, globfree, glob_pattern_p): Now defined simply in terms of
41898         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
41899         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
41900         and to respect the namespace rules better.
41901
41902 2005-09-08  Simon Josefsson  <jas@extundo.com>
41903
41904         * modules/socklen: New file.
41905
41906 2005-09-08  Simon Josefsson  <jas@extundo.com>
41907
41908         * m4/socklen.m4: New file.
41909
41910 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41911
41912         * modules/utimens (Files): Add m4/utimbuf.m4, since
41913         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
41914         Reported by Sergey Poznyakoff.
41915
41916 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41917
41918         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
41919         definitions, since that's the preferred style in glibc.
41920         Fix a minor spacing issue, and update copyright notice to match
41921         glibc's.
41922
41923 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41924
41925         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
41926
41927 2005-09-06  Simon Josefsson  <jas@extundo.com>
41928
41929         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
41930         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
41931
41932 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
41933
41934         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
41935         warning.
41936
41937 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
41938
41939         * config/srclist.txt: Add glibc bug 1302.
41940
41941 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
41942
41943         Change bitset word type from unsigned int to unsigned long int,
41944         as this has better performance on typical 64-bit hosts.
41945         Port bitset code to hosts with unusual word sizes.
41946         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
41947         (build_collating_symbol):
41948         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
41949         argument is a bitset.  This is merely a style issue, but it makes
41950         it clearer that an entire array is expected.
41951         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
41952         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
41953         Port to the case where bitset_word is not the same as unsigned int.
41954         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
41955         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
41956         Likewise.
41957         * lib/regexec.c (check_dst_limits_calc_pos_1,
41958         check_subexp_matching_top):
41959         (build_trtable, group_nodes_into_DFAstates):
41960         Likewise.
41961         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
41962         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
41963         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
41964         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
41965         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
41966         * lib/regcomp.c (optimize_subexps, lower_subexp):
41967         Work even if bitset_word has holes in its bitwise representation.
41968         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
41969         * lib/regexec.c (check_dst_limits_calc_pos_1,
41970         check_subexp_matching_top):
41971         Likewise.
41972         * lib/regex_internal.c (re_string_reconstruct):
41973         Don't assume UCHAR_MAX == 255.
41974         * lib/regex_internal.h (bitset_set_all): Likewise.
41975         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
41976         All uses changed.
41977         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
41978         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
41979         All uses changed.
41980         (BITSET_WORD_MAX): New macro.
41981         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
41982         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
41983         (bitset_empty, bitset_copy):
41984         Prefer sizeof (bitset) to multiplying it out ourselves.
41985         (bitset_not_merge): Remove; unused.
41986         (bitset_contain): Return bool, not unsigned int with one bit on.
41987         All callers changed.
41988         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
41989         alignment than re_node_set; do this by defining a new internal
41990         type struct dests_alloc and using it to allocate memory.
41991
41992 2005-09-05  Bruno Haible  <bruno@clisp.org>
41993
41994         * gnulib-tool (func_import): Fix comparison in handling of symbolic
41995         links.
41996
41997 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
41998
41999         * modules/size_max (Makefile.am): Add size_max.h
42000
42001 2005-09-04  Derek Price  <derek@ximbiot.com>
42002
42003         * gnulib-tool (func_import): Fix reversed $symbolic logic.
42004
42005 2005-09-03  Simon Josefsson  <jas@extundo.com>
42006
42007         * gnulib-tool: Fix typo.
42008
42009 2005-09-03  Simon Josefsson  <jas@extundo.com>
42010
42011         * config/srclist.txt: Add glibc bug 1293.
42012
42013 2005-09-03  Derek Price  <derek@ximbiot.com>
42014
42015         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
42016         From Larry Jones <lawrence.jones@ugs.com>.
42017
42018 2005-09-02  Simon Josefsson  <jas@extundo.com>
42019
42020         * modules/socklen: New file.
42021
42022 2005-09-02  Simon Josefsson  <jas@extundo.com>
42023
42024         * modules/havelib: New module.
42025
42026         * modules/gettext, modules/iconv, modules/lock, modules/readline:
42027         Use havelib.
42028
42029 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
42030
42031         Check for arithmetic overflow when calculating sizes, to prevent
42032         some buffer-overflow issues.  These patches are conservative, in the
42033         sense that when I couldn't determine whether an overflow was possible,
42034         I inserted a run-time check.
42035         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
42036         macros.
42037         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
42038         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
42039         (re_xnrealloc, re_x2nrealloc): New inline functions.
42040         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
42041         parse_bracket_exp):
42042         (build_equiv_class, build_charclass): Check for arithmetic overflow
42043         in size expression calculations.
42044         * lib/regex_internal.c (re_string_realloc_buffers):
42045         (build_wcs_upper_buffer, re_node_set_add_intersect):
42046         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
42047         (re_dfa_add_node, register_state): Likewise.
42048         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
42049         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
42050         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
42051         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
42052
42053 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
42054
42055         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
42056         m4/ulonglong.m4.  Problem reported by Martin Lambers.
42057
42058 2005-09-02  Bruno Haible  <bruno@clisp.org>
42059
42060         Support for lib vs. lib64 distinction on biarch platforms.
42061         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
42062         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
42063         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
42064
42065 2005-09-02  Bruno Haible  <bruno@clisp.org>
42066
42067         * gnulib-tool (import): In the other first-use case, provide defaults
42068         as well.
42069
42070 2005-09-02  Bruno Haible  <bruno@clisp.org>
42071
42072         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
42073         patches not yet found in the latest gettext release.
42074
42075 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
42076
42077         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
42078         to avoid a collision with bits/local_lim.h in glibc.
42079         All uses changed.  Problem reported by Dmitry V. Levin in
42080         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
42081
42082         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
42083         bugs in int versus size_t comparisons.
42084         (re_string_context_at): Fix bug where the code assumed that
42085         Idx is signed.
42086
42087         Use bool where appropriate.
42088         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
42089         All callers changed.
42090         (calc_eclosure_iter): Likewise, for ROOT arg.
42091         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
42092         (build_charclass_op): Likewise, for NON_MATCH arg.
42093         * lib/regex_internal.c (re_string_allocate, re_string_construct):
42094         (re_string_construct_common): Likewise, for ICASE arg.
42095         * lib/regexec.c (re_search_2_stub, re_search_stub):
42096         Likewise, for RET_LEN arg.
42097         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
42098         (set_regs): Likewise, for FL_BACKTRACK arg.
42099         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
42100         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
42101         (calc_eclosure_iter, parse_bracket_exp):
42102         Use bool for internal variables that are booleans.
42103         * lib/regexec.c (re_search_internal, check_matching,
42104         proceed_next_node):
42105         (set_regs, build_sifted_states, sift_states_bkref):
42106         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
42107         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
42108         (find_collation_sequence_value):
42109         Likewise.
42110         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
42111         (re_node_set_compare):
42112         Return bool, not int. All callers changed.
42113         * lib/regexec.c (check_halt_node_context, check_dst_limits):
42114         (build_trtable, check_node_accept): Likewise.
42115         * lib/regex_internal.h: Include stdbool.h.
42116
42117         Fix bugs uncovered when converting to bool.
42118         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
42119         failure instead of charging ahead blindly.
42120         * lib/regex_internal.c (register_state): Likewise.
42121         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
42122         for freeing internal storage.
42123         (group_nodes_into_DFA_states): Use unsigned int, not int, for
42124         bitset pieces used as boolean, to avoid undefined behavior
42125         on hosts that do int overflow checking.
42126
42127 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
42128
42129         * config/srclist.txt: Add glibc bugs 1285-1287.
42130
42131 2005-09-01  Jim Meyering  <jim@meyering.net>
42132
42133         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
42134         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
42135         Require gl_STAT_MACROS, too.
42136
42137 2005-09-01  Bruno Haible  <bruno@clisp.org>
42138
42139         * gnulib-tool (import): In the first-use case, provide defaults.
42140
42141 2005-09-01  Bruno Haible  <bruno@clisp.org>
42142
42143         * gnulib-tool (func_import): Remove the .tmp files.
42144
42145 2005-09-01  Bruno Haible  <bruno@clisp.org>
42146
42147         * gnulib-tool (func_import): Fix handling of symbolic links.
42148
42149 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42150
42151         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
42152         old glibc regex code mishandles strings longer than 2**31 bytes.
42153         This patch fixes this when the regex code is used in gnulib
42154         (i.e., outside glibc).
42155
42156         This patch should not affect the use of the regex code inside
42157         glibc.  No doubt this problem also needs to be handled for glibc
42158         as well, but the result will be an incompatible change to the
42159         glibc ABI, and the old ABI will have to be supported too.  That
42160         can be the the subject for another patch.
42161
42162         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
42163         governing whether the rest of this patch is active.  By default,
42164         the macro is disabled and the patch has no effect.
42165         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
42166         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
42167         (struct re_pattern_buffer, re_search, re_search_2, re_match):
42168         (re_match_2, re_set_registers): Use the new types.
42169         * lib/regex_internal.h (Idx, re_hashval_t): New types.
42170         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
42171         New macros.
42172         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
42173         (re_string_context_at, bin_tree_t, re_dfastate_t):
42174         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
42175         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
42176         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
42177         (re_string_char_size_at, re_string_wchar_at):
42178         (re_string_elem_size_at):
42179         Use the new types and macros to port to 64-bit hosts.
42180         Use unsigned types for internal values, so that the code
42181         mostly works even for arrays larger than SSIZE_MAX.
42182         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
42183         (search_duplicated_node, calc_eclosure_iter, fetch_number):
42184         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
42185         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
42186         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
42187         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
42188         (calc_inveclosure, parse_dup_op, build_range_exp):
42189         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
42190         (fetch_number, create_token_tree, mark_opt_subexp):
42191         Likewise.
42192         * lib/regex_internal.c (re_string_construct_common,
42193         create_ci_newstate):
42194         (create_cd_newstate, re_string_allocate, re_string_construct):
42195         (re_string_realloc_buffers, build_wcs_upper_buffer):
42196         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
42197         (re_string_reconstruct, re_string_peek_byte_case):
42198         (re_string_fetch_byte_case, re_string_context_at):
42199         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
42200         (re_node_set_init_copy, re_node_set_add_intersect):
42201         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
42202         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
42203         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
42204         (re_acquire_state, re_acquire_state_context, register_state):
42205         Likewise.
42206         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
42207         search_cur_bkref_entry):
42208         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
42209         (re_search_internal, re_search_2_stub, re_search_stub)
42210         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
42211         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
42212         (update_cur_sifted_state, check_dst_limits):
42213         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
42214         (check_subexp_limits, sift_states_bkref, merge_state_array):
42215         (check_subexp_matching_top, get_subexp, get_subexp_sub):
42216         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
42217         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
42218         (expand_bkref_cache, check_node_accept_bytes):
42219         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
42220         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
42221         (acquire_init_state_context, check_halt_node_context):
42222         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
42223         (sift_states_backward, clean_state_log_if_needed):
42224         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
42225         (find_recover_state, transit_state_sb, transit_state_mb):
42226         (transit_state_bkref, build_trtable, match_ctx_clean):
42227         Likewise.
42228         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
42229         to work around an assumption that REG_MISSING is negative.
42230
42231         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
42232         (seek_collating_symbol_entry) [defined _LIBC]:
42233         (lookup_collation_sequence_value) [defined _LIBC]:
42234         (build_range_exp, build_collating_symbol) [defined _LIBC]:
42235         Use prototypes rather than old-style function definitions.
42236         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
42237         (transit_state_sb) [0]:
42238         (find_collation_sequence_value) [defined _LIBC]: Likewise.
42239
42240         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
42241         rm_eo.
42242
42243         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
42244         (optimize_subexps, lower_subexp):
42245         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
42246         since the signed shift might overflow.  Use 1u<<31 instead.
42247         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
42248         Likewise.
42249         * lib/regexec.c (check_dst_limits_calc_pos_1,
42250         check_subexp_matching_top): Likewise.
42251
42252         * lib/regcomp.c (optimize_subexps, lower_subexp):
42253         Use CHAR_BIT rather than 8, for clarity.
42254         * lib/regexec.c (check_dst_limits_calc_pos_1):
42255         (check_subexp_matching_top): Likewise.
42256         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
42257         have to worry about portability issues when shifting it left.
42258         Remove no-longer-needed test for table_size > 0.
42259         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
42260         in a word, as the resulting behavior is undefined.
42261         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
42262         in one case, a <= should have been an <, and in another case the
42263         whole test was missing.
42264         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
42265         the standard name CHAR_BIT.
42266         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
42267         this is not true on one's complement and signed-magnitude hosts.
42268
42269         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
42270         next_last_offset.
42271         (struct re_dfa_t): Remove unused member states_alloc.
42272         * lib/regcomp.c (init_dfa): Don't initialize unused members.
42273
42274 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42275
42276         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
42277         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
42278         and large-file glibc and in 32-bit large-file Solaris.
42279
42280 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42281
42282         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
42283         lengths fit in regoff_t; this isn't true if regoff_t is the same
42284         width as size_t.
42285         * lib/regex.c (re_search_internal): 5th arg is LAST_START
42286         (= START + RANGE) instead of RANGE.  This avoids overflow
42287         problems when regoff_t is the same width as size_t.
42288         All callers changed.
42289         (re_search_2_stub): Check for overflow when adding the
42290         sizes of the two strings.
42291         (re_search_stub): Check for overflow when adding START
42292         to RANGE; if it occurs, substitute the extreme value.
42293
42294 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42295
42296         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
42297
42298 2005-08-31  Jim Meyering  <jim@meyering.net>
42299
42300         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
42301         a pointer-to-const.
42302         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
42303         (register_state): Likewise.
42304         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
42305         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
42306         (group_nodes_into_DFAstates): Likewise.
42307
42308 2005-08-31  Jim Meyering  <jim@meyering.net>
42309
42310         * check-module: Add a FIXME comment.
42311
42312 2005-08-31  Eric Blake  <ebb9@byu.net>
42313
42314         * modules/unistd-safer (Files): Add unistd--.h.
42315         * modules/stdio-safer (Files): Add stdio--.h.
42316
42317 2005-08-31  Derek Price  <derek@ximbiot.com>
42318
42319         * lib/getdelim.c (getdelim): Return EOF on EOF.
42320         Reported by Larry Jones <lawrence.jones@ugs.com>.
42321
42322 2005-08-31  Bruno Haible  <bruno@clisp.org>
42323
42324         Avoid unnecessary diffs in the generated lib/Makefile.am.
42325         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
42326         the generated files.
42327         (func_import): Don't set cmd.
42328
42329 2005-08-31  Bruno Haible  <bruno@clisp.org>
42330
42331         * lib/strstr.c: Include <stddef.h>, for NULL.
42332         * lib/strcasestr.c: Likewise.
42333         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42334
42335 2005-08-31  Bruno Haible  <bruno@clisp.org>
42336
42337         * gnulib-tool: New option --macro-prefix.
42338         (func_import): Use macro_prefix.
42339         (import): Handle option --macro-prefix.
42340
42341 2005-08-31  Bruno Haible  <bruno@clisp.org>
42342
42343         * gnulib-tool (import): Rename most ac_* variables to cached_*.
42344         Also use new variables cached_lgpl, cached_libtool.
42345
42346 2005-08-31  Bruno Haible  <bruno@clisp.org>
42347
42348         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
42349         always instantiating them.
42350
42351 2005-08-31  Bruno Haible  <bruno@clisp.org>
42352
42353         * gnulib-tool (func_import): Read the previous cached settings
42354         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
42355         earlier added by gnulib but are now dropped. Warn when a gnulib file
42356         overwrites a non-gnulib file.
42357
42358 2005-08-31  Bruno Haible  <bruno@clisp.org>
42359
42360         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
42361         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
42362         projects that don't keep autogenerated files in CVS. Put into
42363         actioncmd only the specified modules, not the transitive closure.
42364
42365 2005-08-31  Bruno Haible  <bruno@clisp.org>
42366
42367         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
42368         Create directories that shall be filled.
42369         (import): Don't look for gl_* macros in configure.ac. Recurse across
42370         all directories containing a gnulib-cache.m4 files, if meaningful.
42371
42372 2005-08-31  Bruno Haible  <bruno@clisp.org>
42373
42374         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
42375         (import): Set seen_libtool when we see gl_LIBTOOL.
42376
42377 2005-08-31  Bruno Haible  <bruno@clisp.org>
42378
42379         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
42380         declaration macro definitions from generated gnulib.m4.
42381
42382 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
42383
42384         * lib/iconvme.h: Add prototype for iconv_alloc.
42385
42386 2005-08-29  Simon Josefsson  <jas@extundo.com>
42387
42388         * lib/iconvme.c: Fix errno.
42389
42390 2005-08-29  Bruno Haible  <bruno@clisp.org>
42391
42392         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
42393         that it works when the directory contains spaces.
42394
42395 2005-08-29  Bruno Haible  <bruno@clisp.org>
42396
42397         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
42398
42399 2005-08-29  Bruno Haible  <bruno@clisp.org>
42400
42401         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
42402         Emit more advice.
42403
42404 2005-08-29  Bruno Haible  <bruno@clisp.org>
42405         and Stepan Kasal  <kasal@ucw.cz>
42406
42407         * check-module: If more parameters are given, check each of them
42408         separately; add more exceptions, as noted by Jim Meyering.
42409         (check_module): New procedure.
42410         (%exempt_header): Now contains all exceptions.
42411
42412 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
42413
42414         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
42415
42416 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
42417
42418         * lib/iconvme.c: Split iconv_string into iconv_alloc.
42419
42420 2005-08-28  Bruno Haible  <bruno@clisp.org>
42421
42422         * m4/gnulib-tool.m4: New file.
42423
42424 2005-08-27  Jim Meyering  <jim@meyering.net>
42425
42426         * modules/unistd-safer (Files): Add pipe-safer.c.
42427         * modules/fcntl-safer (Files): Add creat-safer.c.
42428
42429 2005-08-27  Jim Meyering  <jim@meyering.net>
42430
42431         * m4/stdlib-safer.m4: New file.  From coreutils.
42432         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
42433         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
42434         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
42435         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
42436         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
42437
42438 2005-08-27  Jim Meyering  <jim@meyering.net>
42439
42440         * lib/fopen-safer.c: Merge minor changes from coreutils.
42441         * lib/dup-safer.c: Likewise.
42442         * lib/fd-safer.c: Likewise.
42443
42444         Merge from coreutils.
42445         * lib/stdio--.h: New file.
42446         * lib/stdlib--.h: New file.
42447         * lib/mkstemp-safer.c: New file.
42448
42449         GNU tar needs these.
42450         * lib/pipe-safer.c: New file.
42451         * lib/creat-safer.c: New file.
42452         * lib/fcntl--.h (creat): Define to creat_safer.
42453         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
42454         * lib/unistd--.h (pipe): Define to pipe_safer.
42455         * lib/unistd-safer.h: Declare pipe_safer.
42456
42457 2005-08-26  Simon Josefsson  <jas@extundo.com>
42458
42459         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
42460         Haible <bruno@clisp.org>.
42461
42462 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
42463
42464         * lib/regex_internal.h: Remove all references to
42465         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
42466         or better.
42467         (bitset_not, bitset_merge, bitset_not_merge):
42468         (bitset_mask, re_string_allocate, re_string_construct):
42469         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
42470         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
42471         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
42472         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
42473         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
42474         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
42475         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
42476         (re_acquire_state_context):
42477         Remove unnecessary forward decls.
42478         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
42479         Put __attribute at function definition,
42480         now that the function decl has been removed.
42481         * lib/regex_internal.c (re_string_peek_byte_case):
42482         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
42483         Likewise.
42484
42485 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
42486
42487         * m4/regex.m4: Add AC_PREREQ(2.50).
42488         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
42489
42490 2005-08-25  Simon Josefsson  <jas@extundo.com>
42491
42492         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
42493         __fsetlocking.
42494
42495 2005-08-25  Simon Josefsson  <jas@extundo.com>
42496
42497         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
42498         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
42499         GLIBC specific code.
42500
42501 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
42502
42503         Make regex safe for g++.  This fixes one real bug (an "err"
42504         that should have been "*err").  g++ problem reported by
42505         Sam Steingold.
42506         * lib/regex_internal.h (re_calloc): New macro, consistent with
42507         re_malloc etc.  All callers of calloc changed to use re_calloc.
42508         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
42509         not int.  All callers changed.
42510         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
42511         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
42512         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
42513         (find_recover_state): Change "err" to "*err"; this fixes what
42514         appears to be a real bug.
42515         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
42516         versus int.
42517
42518 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
42519
42520         * modules/regex (Depends-on): Add malloc, since the code
42521         assumes that !malloc(0) means failure.
42522
42523 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
42524
42525         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
42526
42527         alloca modernization/simplification for regex.
42528         * lib/regex.c: Remove portability cruft for alloca.  This no longer
42529         needs to be at the start of the file, and can be moved into
42530         regex_internal.h and simplified.
42531         * lib/regex_internal.h: Include <alloca.h>.
42532         (__libc_use_alloca) [!defined _LIBC]: New macro.
42533         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
42534         now works outside glibc.
42535
42536 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
42537
42538         * config/srclist.txt: Add glibc bugs 1241, 1245.
42539
42540 2005-08-25  Jim Meyering  <jim@meyering.net>
42541
42542         * lib/open-safer.c: Include <config.h>.
42543         Otherwise, we'd lose LARGEFILE support in any file using
42544         e.g. "fcntl--.h"
42545
42546 2005-08-25  Bruno Haible  <bruno@clisp.org>
42547
42548         * m4/minmax.m4: Require autoconf 2.52.
42549         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
42550         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
42551         alternatives of translit over the alphabet.
42552         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
42553
42554 2005-08-24  Simon Josefsson  <jas@extundo.com>
42555
42556         * tests/test-getpass.c: New file.
42557
42558 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
42559
42560         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
42561         for GNU regex features.
42562
42563 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
42564
42565         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
42566         * lib/regex.h (regerror): Likewise.
42567
42568         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
42569         requires this.  (The code never needed it.)
42570
42571         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
42572         All uses of recently-renamed identifiers changed to use the new,
42573         POSIX-compliant names.  The code will build and run just fine
42574         without these changes, but it's better to eat our own dog food
42575         and use the standard-conforming names.
42576
42577         * lib/regex.h: Fix a multitude of POSIX name space violations.
42578         These changes have an effect only for programs that define
42579         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
42580         do not change anything for programs compiled in the normal way.
42581         Also, there is no effect on the ABI.
42582
42583         (_REGEX_SOURCE): New macro.
42584         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
42585         defined and _GNU_SOURCE is not; this fixes a name space violation.
42586
42587         Rename the following macros to obey POSIX requirements.
42588         The old names are still visible as macros if _REGEX_SOURCE is defined.
42589         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
42590         RE_BACKSLASH_ESCAPE_IN_LISTS.
42591         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
42592         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
42593         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
42594         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
42595         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
42596         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
42597         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
42598         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
42599         (REG_INTERVALS): renamed from RE_INTERVALS.
42600         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
42601         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
42602         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
42603         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
42604         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
42605         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
42606         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
42607         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
42608         RE_UNMATCHED_RIGHT_PAREN_ORD.
42609         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
42610         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
42611         (REG_DEBUG): renamed from RE_DEBUG.
42612         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
42613         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
42614         unusual, since we can't clash with the POSIX REG_ICASE.
42615         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
42616         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
42617         (REG_NO_SUB): renamed from RE_NO_SUB.
42618         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
42619         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
42620         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
42621         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
42622         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
42623         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
42624         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
42625         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
42626         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
42627         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
42628         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
42629         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
42630         RE_SYNTAX_POSIX_MINIMAL_BASIC.
42631         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
42632         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
42633         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
42634         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
42635         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
42636         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
42637         (REG_FIXED): Renamed from REGS_FIXED.
42638         (REG_NREGS): Renamed from RE_NREGS.
42639
42640         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
42641         of other REG_* macros, since POSIX says the user is allowed to
42642         #undef these macros selectively.
42643
42644         (reg_errcode_t): Update comment stating what other tables need
42645         to be consistent.
42646
42647         Rename the following enum values to obey POSIX requirements.
42648         The old names are still visible as macros.
42649         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
42650         is not defined, since GNU is supposed to be a superset of POSIX as
42651         much as possible, and since we want reg_errcode_t to be a signed
42652         type for implementation consistency.
42653         (_REG_NOERROR): Renamed from REG_NOERROR.
42654         (_REG_NOMATCH): Renamed from REG_NOMATCH.
42655         (_REG_BADPAT): Renamed from REG_BADPAT.
42656         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
42657         (_REG_ECTYPE): Renamed from REG_ECTYPE.
42658         (_REG_EESCAPE): Renamed from REG_EESCAPE.
42659         (_REG_ESUBREG): Renamed from REG_ESUBREG.
42660         (_REG_EBRACK): Renamed from REG_EBRACK.
42661         (_REG_EPAREN): Renamed from REG_EPAREN.
42662         (_REG_EBRACE): Renamed from REG_EBRACE.
42663         (_REG_BADBR): Renamed from REG_BADBR.
42664         (_REG_ERANGE): Renamed from REG_ERANGE.
42665         (_REG_ESPACE): Renamed from REG_ESPACE.
42666         (_REG_BADRPT): Renamed from REG_BADRPT.
42667         (_REG_EEND): Renamed from REG_EEND.
42668         (_REG_ESIZE): Renamed from REG_ESIZE.
42669         (_REG_ERPAREN): Renamed from REG_ERPAREN.
42670         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
42671         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
42672         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
42673         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
42674
42675         (_REG_RE_NAME, _REG_RM_NAME): New macros.
42676         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
42677         changed.  But support the old name if the new one is not defined
42678         and if _REGEX_SOURCE.
42679
42680         Change the following member names in struct re_pattern_buffer.
42681         The old names are still supported if !_REGEX_SOURCE.
42682         The new names are always supported, regardless of _REGEX_SOURCE.
42683         (re_buffer): Renamed from buffer.
42684         (re_allocated): Renamed from allocated.
42685         (re_used): Renamed from used.
42686         (re_syntax): Renamed from syntax.
42687         (re_fastmap): Renamed from fastmap.
42688         (re_translate): Renamed from translate.
42689         (re_can_be_null): Renamed from can_be_null.
42690         (re_regs_allocated): Renamed from regs_allocated.
42691         (re_fastmap_accurate): Renamed from fastmap_accurate.
42692         (re_no_sub): Renamed from no_sub.
42693         (re_not_bol): Renamed from not_bol.
42694         (re_not_eol): Renamed from not_eol.
42695         (re_newline_anchor): Renamed from newline_anchor.
42696
42697         Change the following member names in struct re_registers.
42698         The old names are still supported if !_REGEX_SOURCE.
42699         The new names are always supported, regardless of _REGEX_SOURCE.
42700         (rm_num_regs): Renamed from num_regs.
42701         (rm_start): Renamed from start.
42702         (rm_end): Renamed from end.
42703
42704         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
42705         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
42706         Prepend __ to parameter names.
42707
42708         Undo yesterday's changes.
42709
42710 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
42711
42712         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
42713         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
42714         lib/regex.c.
42715
42716 2005-08-24  Jim Meyering  <jim@meyering.net>
42717
42718         Sync from coreutils.
42719         * m4/fcntl-safer.m4: New file.
42720
42721         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
42722         and object files for this module.
42723
42724 2005-08-24  Jim Meyering  <jim@meyering.net>
42725
42726         Sync from coreutils.
42727         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
42728
42729 2005-08-24  Jim Meyering  <jim@meyering.net>
42730
42731         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
42732         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
42733
42734 2005-08-24  Jim Meyering  <jim@meyering.net>
42735
42736         * modules/fcntl-safer: New module.
42737         * modules/fts (Depends-on): Add fcntl-safer.
42738         * MODULES.html.sh (File descriptor based Input/Output):
42739         Add fcntl-safer.
42740
42741 2005-08-24  Bruno Haible  <bruno@clisp.org>
42742
42743         Support for unit test modules.
42744         * modules/README: Mention tests modules.
42745         * modules/TEMPLATE-TESTS: New file.
42746         * gnulib-tool: New options --extract-tests-module, --with-tests and
42747         --tests-base (unused for the moment).
42748         (testsbase, inctests): New variables.
42749         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
42750         (func_verify_module): Exclude TEMPLATE-TESTS.
42751         (func_verify_nontests_module, func_verify_tests_module): New functions.
42752         (func_get_dependencies): Add implicit dependency for tests modules.
42753         (func_get_tests_module): New function.
42754         (func_modules_transitive_closure): When --with-tests was specified,
42755         include the unit tests as well, unless explicitly avoided.
42756         (func_emit_lib_Makefile_am): Ignore the tests modules here.
42757         (func_emit_tests_Makefile_am): New function.
42758         (func_create_testdir): When --with-tests was specified, emit a
42759         tests/ directory.
42760         * MODULES.html.sh (Future developments): Update.
42761
42762 2005-08-24  Bruno Haible  <bruno@clisp.org>
42763
42764         * modules/tls-tests: New file.
42765         * tests/test-tls.c: New file, from GNU gettext.
42766
42767 2005-08-24  Bruno Haible  <bruno@clisp.org>
42768
42769         * modules/lock-tests: New file.
42770         * tests/test-lock.c: New file, from GNU gettext.
42771
42772 2005-08-24  Bruno Haible  <bruno@clisp.org>
42773
42774         * lib/lock.h: Add multiple inclusion guard.
42775         * lib/tls.h: Add multiple inclusion guard.
42776
42777 2005-08-24  Bruno Haible  <bruno@clisp.org>
42778
42779         * gnulib-tool: Add support for the --aux-dir option to
42780         --create-testdir, --create-megatestdir, --test, --megatest.
42781         (func_create_testdir, func_create_megatestdir): Optionally emit a
42782         AC_CONFIG_AUX_DIR directive.
42783         (create-testdir, create-megatestdir, test, megatest): Provide a
42784         default value for $auxdir.
42785
42786 2005-08-24  Bruno Haible  <bruno@clisp.org>
42787
42788         * gnulib-tool (import): Use compound statement instead of subshell
42789         where possible.
42790
42791 2005-08-24  Bruno Haible  <bruno@clisp.org>
42792
42793         * gnulib-tool (import): Change --aux-dir default to "build-aux".
42794
42795 2005-08-24  Bruno Haible  <bruno@clisp.org>
42796
42797         * gnulib-tool (func_version): Update.
42798
42799 2005-08-24  Bruno Haible  <bruno@clisp.org>
42800
42801         * gnulib-tool (func_import, func_create_testdir,
42802         func_create_megatestdir): Quote all autoconf macro arguments.
42803
42804 2005-08-24  Bruno Haible  <bruno@clisp.org>
42805
42806         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
42807         option --force, because --force causes the aclocal.m4 of each
42808         subdirectory to be newer than the corresponding config.h.in.
42809
42810 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
42811
42812         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
42813         All contents moved to gl_REGEX.
42814         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
42815         assume that it does.
42816
42817 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
42818
42819         * lib/regex.h (REG_NOSYS)
42820         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
42821         Define, since POSIX requires it as of 2001.
42822         (_REG_ENOSYS)
42823         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
42824         New private symbol, used to keep the enum signed in all cases.
42825         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
42826         Youngman in
42827         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
42828
42829         * lib/regex_internal.c (re_string_skip_chars, register_state):
42830         (calc_state_hash):
42831         Remove forward decls; no longer needed now that we use prototypes.
42832         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
42833         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
42834         (clean_state_log_if_needed): Likewise.
42835
42836 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
42837
42838         * config/srclist.txt: Add glibc bugs 1231-1233.
42839
42840 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42841
42842         Fix problems reported by Sam Steingold in
42843         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
42844         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
42845         assumed that reg_errcode_t is a signed type, which is not
42846         necessarily true if _XOPEN_SOURCE is not defined.
42847         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
42848         since some compilers warn about it otherwise.
42849
42850 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42851
42852         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
42853         (init_word_char, create_initial_state, duplicate_node_closure):
42854         (fetch_token, peek_token_bracket, build_range_exp):
42855         (build_collating_symbol): Remove forward decls; no longer needed
42856         now that we use prototypes.
42857
42858         * lib/regcomp.c:
42859         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
42860         (re_compile_fastmap_iter, regcomp, regerror, regfree):
42861         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
42862         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
42863         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
42864         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
42865         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
42866         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
42867         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
42868         (build_range_exp, build_collating_symbol, parse_bracket_exp):
42869         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
42870         (build_charclass, build_charclass_op, fetch_number, create_tree):
42871         (create_token_tree, mark_opt_subexp, duplicate_tree):
42872         Use prototypes rather than old-style definitions.
42873
42874         * lib/regex_internal.c:
42875         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
42876         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
42877         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
42878         (re_string_reconstruct, re_string_peek_byte_case):
42879         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
42880         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
42881         (re_node_set_init_copy, re_node_set_add_intersect):
42882         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
42883         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
42884         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
42885         (re_acquire_state, re_acquire_state_context, register_state):
42886         (create_ci_newstate, create_cd_newstate, free_state):
42887         Likewise.
42888         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
42889         re_search_2):
42890         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
42891         (re_search_internal, prune_impossible_nodes):
42892         (acquire_init_state_context, check_matching, static):
42893         (check_halt_node_context, check_halt_state_context, proceed_next_node):
42894         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
42895         (update_regs, sift_states_backward, build_sifted_states):
42896         (clean_state_log_if_needed, merge_state_array):
42897         (update_cur_sifted_state, add_epsilon_src_nodes):
42898         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
42899         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
42900         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
42901         (find_recover_state, check_subexp_matching_top, transit_state_mb):
42902         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
42903         (check_arrival, check_arrival_add_next_nodes):
42904         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
42905         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
42906         (check_node_accept_bytes, check_node_accept, extend_buffers):
42907         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
42908         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
42909         (sift_ctx_init):
42910         Likewise.
42911
42912         * lib/regex_internal.h:
42913         (re_string_allocate, re_string_construct, re_string_reconstruct):
42914         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
42915         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
42916         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
42917         (re_string_context_at, re_string_peek_byte_case):
42918         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
42919         is defined, since we now use prototypes always.
42920
42921         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
42922         C89 or better.  All uses removed.
42923
42924 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42925
42926         * config/srclist.txt: Add glibc bugs 1220-1227.
42927
42928 2005-08-20  Jim Meyering  <jim@meyering.net>
42929
42930         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
42931         of unused local, dfa.
42932
42933 2005-08-20  Bruno Haible  <bruno@clisp.org>
42934
42935         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
42936
42937 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42938
42939         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
42940         (re_node_set_insert_last, re_dfa_add_node):
42941         Rename local variables to avoid GCC shadowing warnings.
42942
42943 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42944
42945         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
42946         [defined lint]: Suppress bogus uninitialized-variable warnings.
42947
42948         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
42949         and let the caller return REG_ESPACE if out of space.  This
42950         removes an uninitialied-variable warning with GCC 4.0.1, and also
42951         avoids taking the address of a local variable.  All callers
42952         changed.
42953
42954 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42955
42956         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
42957         $LIBCSRC/posix/regexec.c.
42958         Add glibc bug 1217 for regcomp.c.
42959
42960 2005-08-19  Jim Meyering  <jim@meyering.net>
42961
42962         * lib/regexec.c (proceed_next_node): Redo local variables to
42963         avoid GCC shadowing warnings.
42964
42965 2005-08-18  Bruno Haible  <bruno@clisp.org>
42966
42967         * lib/strstr.c (strstr): Fix return value in multibyte case.
42968         * lib/strcasestr.c (strcasestr): Likewise.
42969
42970 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
42971
42972         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
42973
42974 2005-08-17  Jim Meyering  <jim@meyering.net>
42975
42976         Make the %s format (seconds since the epoch) work for a negative
42977         number and when used with a zero-padded field width, e.g. %015s.
42978
42979         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
42980         label so that it precedes the code to set `digits'.  Otherwise,
42981         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
42982         print `00-22'.  Now, it prints `-0022', as it should.
42983
42984 2005-08-17  Bruno Haible  <bruno@clisp.org>
42985
42986         * modules/strstr (Files): Add m4/mbrtowc.m4.
42987         (Depends-on): Add mbuiter.
42988
42989 2005-08-17  Bruno Haible  <bruno@clisp.org>
42990
42991         * modules/strcasestr: New file.
42992         * MODULES.html.sh (String handling, based on ANSI C 89): Add
42993         strcasestr.
42994
42995 2005-08-17  Bruno Haible  <bruno@clisp.org>
42996
42997         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
42998
42999 2005-08-17  Bruno Haible  <bruno@clisp.org>
43000
43001         * modules/mbuiter: New file.
43002         * MODULES.html.sh (Extended multibyte and wide character utilities):
43003         Add mbuiter.
43004
43005 2005-08-17  Bruno Haible  <bruno@clisp.org>
43006
43007         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
43008         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
43009
43010 2005-08-17  Bruno Haible  <bruno@clisp.org>
43011
43012         * m4/strcasestr.m4: New file.
43013
43014 2005-08-17  Bruno Haible  <bruno@clisp.org>
43015
43016         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
43017         * lib/strstr.c: Completely rewritten, with multibyte locale support.
43018
43019 2005-08-17  Bruno Haible  <bruno@clisp.org>
43020
43021         * lib/strcasestr.h: New file.
43022         * lib/strcasestr.c: New file.
43023
43024 2005-08-17  Bruno Haible  <bruno@clisp.org>
43025
43026         * lib/strcasecmp.c: Use mbuiter.h.
43027
43028 2005-08-17  Bruno Haible  <bruno@clisp.org>
43029
43030         * lib/mbuiter.h: New file.
43031
43032 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
43033
43034         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
43035         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
43036         and gl_GETOPT are both invoked via different paths (as happens
43037         with GNU tar CVS because it uses both argp and getopt), the former
43038         wins.
43039
43040 2005-08-16  Bruno Haible  <bruno@clisp.org>
43041
43042         * modules/tls: New file.
43043         * MODULES.html.sh (Multithreading): Add tls.
43044
43045 2005-08-16  Bruno Haible  <bruno@clisp.org>
43046
43047         * modules/strnlen1: New file.
43048         * MODULES.html.sh (String handling): Add strnlen1.
43049
43050 2005-08-16  Bruno Haible  <bruno@clisp.org>
43051
43052         * modules/strcase (Files): Add m4/mbrtowc.m4.
43053         (Depends-on): Add strnlen1, mbchar.
43054
43055 2005-08-16  Bruno Haible  <bruno@clisp.org>
43056
43057         * modules/mbiter: New file.
43058         * MODULES.html.sh (Extended multibyte and wide character utilities):
43059         Add mbiter.
43060
43061 2005-08-16  Bruno Haible  <bruno@clisp.org>
43062
43063         * modules/mbfile: New file.
43064         * MODULES.html.sh (Extended multibyte and wide character utilities):
43065         Add mbfile.
43066
43067 2005-08-16  Bruno Haible  <bruno@clisp.org>
43068
43069         * modules/mbchar: New file.
43070         * MODULES.html.sh (Extended multibyte and wide character utilities):
43071         New section.
43072
43073 2005-08-16  Bruno Haible  <bruno@clisp.org>
43074
43075         * m4/tls.m4: New file, from GNU gettext.
43076
43077 2005-08-16  Bruno Haible  <bruno@clisp.org>
43078
43079         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
43080         always.
43081         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
43082
43083 2005-08-16  Bruno Haible  <bruno@clisp.org>
43084
43085         * m4/mbiter.m4: New file.
43086
43087 2005-08-16  Bruno Haible  <bruno@clisp.org>
43088
43089         * m4/mbfile.m4: New file.
43090
43091 2005-08-16  Bruno Haible  <bruno@clisp.org>
43092
43093         * m4/mbchar.m4: New file.
43094
43095 2005-08-16  Bruno Haible  <bruno@clisp.org>
43096
43097         * lib/tls.h: New file, from GNU gettext.
43098         * lib/tls.c: New file, from GNU gettext.
43099
43100 2005-08-16  Bruno Haible  <bruno@clisp.org>
43101
43102         * lib/strnlen1.h: New file.
43103         * lib/strnlen1.c: New file.
43104
43105 2005-08-16  Bruno Haible  <bruno@clisp.org>
43106
43107         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
43108         (mbi_init): Update.
43109         (mbi_avail, mbi_advance): Let the iteration end before the terminating
43110         NUL byte, not after it.
43111
43112 2005-08-16  Bruno Haible  <bruno@clisp.org>
43113
43114         * lib/strcase.h (strcasecmp): Add note in comments.
43115         * lib/strncasecmp.c: Use code from strcasecmp.c.
43116         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
43117         (strcasecmp): Work correctly in multibyte locales.
43118
43119 2005-08-16  Bruno Haible  <bruno@clisp.org>
43120
43121         * lib/mbiter.h: New file.
43122
43123 2005-08-16  Bruno Haible  <bruno@clisp.org>
43124
43125         * lib/mbfile.h: New file.
43126
43127 2005-08-16  Bruno Haible  <bruno@clisp.org>
43128
43129         * lib/mbchar.h: New file.
43130         * lib/mbchar.c: New file.
43131
43132 2005-08-16  Bruno Haible  <bruno@clisp.org>
43133
43134         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
43135         the valid ones. Makes the comparison operations transitive:
43136         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
43137         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
43138
43139 2005-08-15  Simon Josefsson  <jas@extundo.com>
43140
43141         * modules/ssize_t (License): Change to 'unlimited'.
43142
43143         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
43144
43145 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
43146
43147         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
43148         Add comments for each pending glibc patch.
43149
43150 2005-08-15  Bruno Haible  <bruno@clisp.org>
43151
43152         * lib/regex.h (__restrict_arr): Don't define to __restrict if
43153         __cplusplus is defined.
43154
43155 2005-08-14  Jim Meyering  <jim@meyering.net>
43156
43157         Sync from coreutils.
43158
43159         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
43160         Use the hash-table-based cycle-detection code not just when
43161         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
43162         Reported by James Youngman in
43163         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
43164         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
43165         FTS_TIGHT_CYCLE_CHECK.
43166         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
43167         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
43168         once again.
43169         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
43170         * lib/fts.c (fd_safer): Remove decl.
43171         Include fcntl--.h rather than unistd-safer.h
43172         (fts_safe_changedir): Don't call fd_safer; no longer needed
43173         now that we include fcntl--.h.
43174
43175 2005-08-12  Simon Josefsson  <jas@extundo.com>
43176
43177         * modules/getndelim2: Use ssize_t module.
43178         * modules/getnline: Likewise.
43179         * modules/safe-read: Likewise.
43180         * modules/xreadlink: Likewise.
43181
43182         * modules/ssize_t: New file.
43183
43184 2005-08-12  Simon Josefsson  <jas@extundo.com>
43185
43186         * m4/readline.m4: Look for termcap, curses or ncurses if required.
43187
43188 2005-08-12  Simon Josefsson  <jas@extundo.com>
43189
43190         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
43191         ssize_t.
43192
43193 2005-08-12  Simon Josefsson  <jas@extundo.com>
43194
43195         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
43196         readline, getdelim and check_version.
43197         (Support for systems lacking ISO C 99: Sizes of integer types):
43198         Add size_max.
43199
43200 2005-08-12  Bruno Haible  <bruno@clisp.org>
43201
43202         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
43203
43204 2005-08-11  Simon Josefsson  <jas@extundo.com>
43205
43206         * modules/readline: New file.
43207
43208         * modules/strnlen (Files): Add strnlen.h.
43209
43210 2005-08-11  Simon Josefsson  <jas@extundo.com>
43211
43212         * m4/readline.m4: New file.
43213
43214 2005-08-11  Simon Josefsson  <jas@extundo.com>
43215
43216         * lib/readline.h, readline.c: New file.
43217
43218 2005-08-11  Simon Josefsson  <jas@extundo.com>
43219
43220         * doc/gnulib.texi (Initial import, Finishing touches): Mention
43221         gl_AVOID.
43222
43223 2005-08-11  Bruno Haible  <bruno@clisp.org>
43224
43225         * lib/strnlen.h (strnlen): Change parameter name to match comment.
43226
43227 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
43228
43229         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
43230
43231 2005-08-10  Simon Josefsson  <jas@extundo.com>
43232
43233         * tests/test-iconvme.c: New file.
43234
43235 2005-08-10  Simon Josefsson  <jas@extundo.com>
43236
43237         * m4/strnlen.m4: New file.
43238
43239         * m4/strndup.m4: Don't check for strnlen declaration, done in
43240         strnlen.m4.
43241
43242 2005-08-10  Simon Josefsson  <jas@extundo.com>
43243
43244         * lib/strndup.c: Use strnlen.h.
43245
43246         * lib/strnlen.h: New file.
43247
43248 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
43249
43250         * README: Typos.
43251
43252 2005-08-02  Simon Josefsson  <jas@extundo.com>
43253
43254         * modules/readline: New file.
43255
43256 2005-08-02  Simon Josefsson  <jas@extundo.com>
43257
43258         * modules/getdelim: New file.
43259
43260         * modules/getline: Rewrite, don't use getndelim2.
43261
43262 2005-08-02  Simon Josefsson  <jas@extundo.com>
43263
43264         * m4/getline.m4: Separate out getdelim stuff into separate module.
43265
43266         * m4/getdelim.m4: New file.
43267
43268 2005-08-02  Simon Josefsson  <jas@extundo.com>
43269
43270         * lib/getline.h, getline.c: Rewrite.
43271
43272         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
43273
43274 2005-07-31  Bruno Haible  <bruno@clisp.org>
43275
43276         * lib/lock.h (gl_lock_initializer): New macro.
43277         (gl_lock_define_initialized): Use it.
43278         (gl_rwlock_initializer): New macro.
43279         (gl_rwlock_define_initialized): Use it.
43280         (gl_recursive_lock_initializer): New macro.
43281         (gl_recursive_lock_define_initialized): Use it.
43282
43283 2005-07-30  Karl Berry  <karl@gnu.org>
43284
43285         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
43286         Report from Ben Pfaff, regarding getopt.
43287
43288 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
43289
43290         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
43291         normal way.
43292         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
43293         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
43294         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
43295         (gl_GETOPT): Use the new macros.  Most of the implementation
43296         is moved to the new macros.  This is for programs like Emacs
43297         that don't want all the functionality of gl_GETOPT.
43298
43299 2005-07-26  Bruno Haible  <bruno@clisp.org>
43300
43301         * m4/lock.m4: Update from GNU gettext.
43302
43303 2005-07-26  Bruno Haible  <bruno@clisp.org>
43304
43305         * lib/lock.h: Update from GNU gettext.
43306         * lib/lock.c: Update from GNU gettext.
43307
43308 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
43309
43310         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
43311         obsolescent AC_TRY_RUN.  Include the default includes files, for
43312         'exit'.
43313
43314 2005-07-24  Bruno Haible  <bruno@clisp.org>
43315
43316         * modules/visibility: New file.
43317         * MODULES.html.sh (Misc): Add visibility.
43318
43319 2005-07-24  Bruno Haible  <bruno@clisp.org>
43320
43321         * m4/visibility.m4: New file.
43322
43323 2005-07-24  Bruno Haible  <bruno@clisp.org>
43324
43325         * doc/visibility.texi: New file.
43326
43327 2005-07-22  Bruno Haible  <bruno@clisp.org>
43328
43329         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
43330         $(ALLOCA_H), redundant through BUILT_SOURCES.
43331         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
43332         redundant through BUILT_SOURCES.
43333         * modules/byteswap (Makefile.am): Remove explicit dependency on
43334         $(BYTESWAP_H), redundant through BUILT_SOURCES.
43335         * modules/fnmatch (Makefile.am): Remove explicit dependency on
43336         $(FNMATCH_H), redundant through BUILT_SOURCES.
43337         * modules/getopt (Makefile.am): Remove explicit dependency on
43338         $(GETOPT_H), redundant through BUILT_SOURCES.
43339         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
43340         redundant through BUILT_SOURCES.
43341         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
43342         redundant through BUILT_SOURCES.
43343         * modules/stdbool (Makefile.am): Remove explicit dependency on
43344         $(STDBOOL_H), redundant through BUILT_SOURCES.
43345         * modules/stdint (Makefile.am): Remove explicit dependency on
43346         $(STDINT_H), redundant through BUILT_SOURCES.
43347         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
43348         Remove explicit dependency on $(SYSEXITS_H).
43349         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
43350
43351 2005-07-18  Simon Josefsson  <jas@extundo.com>
43352
43353         * lib/check-version.c (check_version): Accept identical versions too.
43354
43355 2005-07-18  Bruno Haible  <bruno@clisp.org>
43356
43357         * modules/lock: New file.
43358         * MODULES.html.sh (Multithreading): New section.
43359
43360 2005-07-18  Bruno Haible  <bruno@clisp.org>
43361
43362         * m4/lock.m4: New file, from GNU gettext.
43363
43364 2005-07-18  Bruno Haible  <bruno@clisp.org>
43365
43366         * lib/lock.h: New file, from GNU gettext.
43367         * lib/lock.c: New file, from GNU gettext.
43368
43369 2005-07-18  Bruno Haible  <bruno@clisp.org>
43370
43371         * lib/lock.h (gl_once_t): New type.
43372         (gl_once_define, gl_once): New macros.
43373         * lib/lock.c (fresh_once): New variable.
43374         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
43375         functions.
43376
43377 2005-07-16  Simon Josefsson  <jas@extundo.com>
43378
43379         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
43380         workaround, suggested by Bruno.
43381
43382 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
43383
43384         * modules/xalloc (Depends-on): Add xalloc-die.
43385         * modules/xvasprintf (Depends-on): Add xalloc-die.
43386
43387 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
43388
43389         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
43390         with a minor change.
43391
43392 2005-07-15  Bruno Haible  <bruno@clisp.org>
43393
43394         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
43395         When using lib/poll.c, define poll as rpl_poll.
43396
43397 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
43398
43399         * modules/argp (Depends-on): Remove unlocked-io.
43400
43401 2005-07-14  Derek Price  <derek@ximbiot.com>
43402
43403         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
43404         for glob symlink bug.
43405
43406 2005-07-14  Bruno Haible  <bruno@clisp.org>
43407
43408         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
43409         Instead, test for *_unlocked function declarations directly.
43410
43411 2005-07-11  Simon Josefsson  <jas@extundo.com>
43412
43413         * modules/size_max: New file.
43414
43415         * modules/xsize: Depend on size_max module for size_max.m4.
43416
43417 2005-07-11  Simon Josefsson  <jas@extundo.com>
43418
43419         * lib/size_max.h: New file.
43420
43421 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
43422
43423         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
43424         copyright symbol and the year.
43425         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
43426         (version_etc_va): Use parameterized copyright notice.
43427         Reword to conform to the current GNU coding standards.
43428
43429 2005-07-11  Karl Berry  <karl@gnu.org>
43430
43431         * doc/gnulib.texi (Quoting): new node.
43432         (Initial import): more info, from Patrice.
43433
43434 2005-07-11  Bruno Haible  <bruno@clisp.org>
43435
43436         * gnulib-tool (func_usage): Document option --avoid.
43437         (Command line options): Handle --avoid.
43438         (func_acceptable): New function.
43439         (func_modules_transitive_closure): Use it.
43440
43441 2005-07-11  Bruno Haible  <bruno@clisp.org>
43442
43443         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
43444         Reported by Jim Meyering.
43445
43446 2005-07-10  Bruno Haible  <bruno@clisp.org>
43447
43448         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
43449         Needed when size_t is smaller than 'unsigned int'.
43450         Reported by Paul Eggert.
43451
43452 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
43453
43454         * modules/argp (Depends-on): Add unlocked-io
43455
43456 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
43457
43458         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
43459         block of defines.
43460
43461 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
43462
43463         * config/srclist.txt: Comment out regcomp.c, since we have a porting
43464         fix now.
43465
43466 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
43467         and Paul Eggert  <eggert@cs.ucla.edu>
43468
43469         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
43470         in wint_t, not wchar_t.  Remove now-unnecessary cast.
43471
43472 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
43473
43474         * modules/regex (Files): Add lib/regex_internal.c,
43475         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
43476         (Depends-on): Add extensions.
43477         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
43478
43479 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
43480
43481         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
43482         pathconf.
43483         * m4/same.m4 (gl_SAME): Likewise.
43484         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
43485
43486         * m4/regex.m4: Adjust to new libc regex implementation.
43487         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
43488         all the .c and .h parts of (the new) regex.
43489         Quote the m4 stuff better.
43490         Check for RE_ICASE bug of old gnulib.
43491         Check for REG_STARTEND of recent libc.
43492         Rename local variables from jm_* to gl_*.
43493         Quote operand of "test -f".
43494         Say "recent enough" version of libc, not "version 2".
43495         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
43496         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
43497         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
43498         Remove check for btowc, isascii.
43499         Require AM_LANGINFO_CODESET.
43500
43501 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
43502
43503         * lib/regex.c, regex.h: Sync from libc.
43504         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
43505         * lib/regexec.c:
43506         New files, synced from libc, except that regex_internal.h
43507         currently has a small porting fix.
43508
43509 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
43510
43511         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
43512         regex_internal.c, regexec.c.
43513         Add regex_internal.h too, but as a comment, since the libc version
43514         is currently broken in gnulib mode.
43515
43516 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
43517
43518         Support programs like Emacs that use gnulib but not gettext.
43519         * MODULES.html.sh (Internationalization functions): Add gettext-h.
43520         * modules/gettext-h: New file.
43521         * modules/gettext (Files): Remove lib/gettext.h.
43522         (Depends-on): Add gettext-h.
43523         (Makefile.am): Remove lib_SOURCES.
43524         * modules/argmatch, modules/c-stack, modules/closeout:
43525         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
43526         * modules/execute, modules/file-type, modules/getaddrinfo:
43527         * modules/getopt, modules/human, modules/javacomp:
43528         * modules/javaexec, modules/mkdir-p, modules/obstack:
43529         * modules/openat, modules/pagealign_alloc, modules/pipe:
43530         * modules/quotearg, modules/regex, modules/rpmatch:
43531         * modules/unicodeio, modules/userspec, modules/version-etc:
43532         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
43533         * modules/xsetenv:
43534         Depend on gettext-h, not gettext.
43535
43536 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
43537
43538         * gnulib-tool (func_import): Add support for 'public domain' license.
43539         * modules/alloca, modules/atexit, modules/memmove:
43540         Now public domain, not GPL.
43541         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
43542         * modules/realloc, modules/strerror, modules/strtod:
43543         Now LGPL, not GPL.
43544
43545 2005-07-05  Bruno Haible  <bruno@clisp.org>
43546
43547         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
43548         autoconf CVS. Needed for mingw.
43549
43550 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
43551
43552         Remove the dependency of the strftime module on the tzset module.
43553         * modules/strftime (Depends-on): Remove dependency on tzset.
43554
43555 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
43556
43557         Remove the dependency of the strftime module on the tzset module.
43558         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
43559         gl_FUNC_TZSET_CLOBBER.
43560
43561 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
43562
43563         Remove the dependency of the strftime module on the tzset module.
43564         * lib/strftime.c (my_strftime)
43565         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
43566         Copy the input structure, to work around some of the bug with
43567         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
43568         Solaris releases, you should also use the tzset module, but we won't
43569         require it as a dependency any more since we don't want LGPLed code
43570         to depend on GPLed code.
43571
43572 2005-07-02  Jim Meyering  <jim@meyering.net>
43573
43574         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
43575         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
43576         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
43577         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
43578
43579 2005-07-02  Jim Meyering  <jim@meyering.net>
43580
43581         * lib/backupfile.c (backup_args): Change a `0' to NULL.
43582
43583 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
43584
43585         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
43586         declares only 'struct timespec;' (!).
43587
43588 2005-07-01  Jim Meyering  <jim@meyering.net>
43589
43590         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
43591         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
43592         * lib/save-cwd.c, tempname.c:
43593         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
43594         and don't include <sys/file.h>).
43595
43596 2005-06-29  Jim Meyering  <jim@meyering.net>
43597
43598         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
43599         type name.  Use the variable name instead.
43600         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
43601         Likewise.
43602
43603 2005-06-28  Simon Josefsson  <jas@extundo.com>
43604
43605         * modules/check-version (Files): Add check-version.m4.
43606
43607 2005-06-28  Simon Josefsson  <jas@extundo.com>
43608
43609         * m4/check-version.m4: New file, suggested by Jim Meyering
43610         <jim@meyering.net>.
43611
43612 2005-06-28  Simon Josefsson  <jas@extundo.com>
43613
43614         * lib/check-version.h, lib/check-version.c: New files.
43615
43616 2005-06-28  Simon Josefsson  <jas@extundo.com>
43617
43618         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
43619         collision with global variable.  Better indentation.  Don't
43620         increment buffer pointer beyond buffer end.  Based on comments
43621         from Paul Eggert <eggert@cs.ucla.edu>.
43622
43623         * lib/base64.h: Indent.
43624
43625 2005-06-28  Simon Josefsson  <jas@extundo.com>
43626
43627         * doc/gnulib.texi (Library version handling): New section.
43628
43629 2005-06-28  Jim Meyering  <jim@meyering.net>
43630
43631         * check-module (find_included_lib_files): Hard-code another
43632         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
43633         but modules/fts-lgpl (correctly) does not list those files.
43634
43635         * modules/canonicalize (Files): Add lib/pathmax.h.
43636
43637 2005-06-25  Simon Josefsson  <jas@extundo.com>
43638
43639         * modules/check-version: New file.
43640
43641 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
43642
43643         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
43644         initializer of struct addrinfo, as an indication that we don't
43645         care how many members the structure has.
43646
43647 2005-06-24  Derek Price  <derek@ximbiot.com>
43648         and Bruno Haible  <bruno@clisp.org>
43649
43650         Remove stat module & update lstat.
43651         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
43652         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
43653         * m4/stat.m4: Remove this file.
43654
43655 2005-06-24  Derek Price  <derek@ximbiot.com>
43656         and Bruno Haible  <bruno@clisp.org>
43657
43658         Remove stat module & update lstat.
43659         * lib/stat.c: Remove this file...
43660         (slash_aware_lstat): ...moving this content and its support...
43661         * lib/lstat.c (rpl_lstat): ...into here.
43662         * lib/lstat.h: New file.
43663
43664 2005-06-24  Derek Price  <derek@ximbiot.com>
43665         and Bruno Haible  <bruno@clisp.org>
43666
43667         Remove stat module & update lstat.
43668         * config/srclist.txt (libc sources): Remove stat.
43669
43670 2005-06-24  Derek Price  <derek@ximbiot.com>
43671         and Bruno Haible  <bruno@clisp.org>
43672
43673         Remove stat module & update lstat.
43674         * MODULES.html.sh (stat): Remove.
43675         * MODULES.html: Regenerated.
43676         * modules/lstat (Description): Correct function name.
43677         (Files): Add "lstat.h".
43678         (Depends-on): Remove stat, add xalloc, stat-macros.
43679         * modules/stat: Remove this file.
43680         (Include): Add "lstat.h", remove <sys/stat.h>.
43681
43682 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
43683
43684         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
43685         (ranged_convert): Don't save conversion in a temporary struct.
43686         This causes a warning with GCC 4.0.0, and anyway in the typical
43687         case it's not worth the extra 100 bytes or so of code.
43688         (ranged_convert, __mktime_internal): When calling a function via a
43689         pointer P, use P () rather than (*P) (), as we now assume C89 or
43690         better.
43691
43692 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
43693
43694         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
43695         "who -r" failed to give output.  Problem reported by Tim Waugh.
43696
43697         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
43698         (xcalloc): Use it to avoid needless tests.
43699         Problem reported by Jim Meyering.
43700
43701 2005-06-20  Derek Price  <derek@ximbiot.com>
43702
43703         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
43704         unnecessary for Autoconfs > 2.59c.
43705
43706 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
43707
43708         * lib/argp.h (__option_is_short): Check upper limit of
43709         __key. Isprint() requires its argument to have the value
43710         of an unsigned char or EOF.
43711
43712 2005-06-16  Jim Meyering  <jim@meyering.net>
43713
43714         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
43715         when either N or S is zero.
43716
43717 2005-06-16  Derek Price  <derek@ximbiot.com>
43718
43719         * m4/bison.m4: Declare YACC & YFLAGS precious.
43720
43721 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
43722
43723         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
43724         multibyte string or pattern, fall back on unibyte matching.
43725         Problem reported by James Youngman.
43726
43727 2005-06-08  Bruno Haible  <bruno@clisp.org>
43728
43729         * modules/csharpcomp: New file.
43730         * MODULES.html.sh (C#): Add csharpcomp.
43731
43732 2005-06-08  Bruno Haible  <bruno@clisp.org>
43733
43734         * m4/csharpcomp.m4: New file, from GNU gettext.
43735
43736 2005-06-08  Bruno Haible  <bruno@clisp.org>
43737
43738         * lib/csharpcomp.h: New file, from GNU gettext.
43739         * lib/csharpcomp.c: New file, from GNU gettext.
43740         * lib/csharpcomp.sh.in: New file, from GNU gettext.
43741
43742 2005-06-08  Bruno Haible  <bruno@clisp.org>
43743
43744         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
43745         warning on mingw.
43746
43747 2005-06-07  Derek Price  <derek@ximbiot.com>
43748
43749         Sync from CVS.
43750         * lib/glob_.h: Indent nested #ifdef.
43751
43752 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
43753
43754         Sync from coreutils.
43755         Use "file name" when talking about file names, instead of "filename"
43756         or "path", as per the GNU coding standards.
43757         * lib/mkdir-p.c: Renamed from makepath.c.
43758         (make_dir_parents): Renamed from make_path.  All callers changed.
43759         * lib/mkdir-p.h: Likewise.  All includers changed.
43760         * lib/filenamecat.c: Renamed from path-concat.c.
43761         (file_name_concat): Renamed from path_concat.  All callers changed.
43762         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
43763         * lib/filenamecat.h: Likewise.  All includers changed.
43764         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
43765         in comments or local variable names.
43766         * lib/basename.c: Likewise.
43767         * lib/canonicalize.c, canonicalize.h: Likewise.
43768         * lib/dirname.c, dirname.h: Likewise.
43769         * lib/euidaccess.c: Likewise.
43770         * lib/exclude.c: Likewise
43771         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
43772         * lib/fsusage.c, fsuage.h: Likewise.
43773         * lib/fts.c, fts_.h: Likewise.
43774         * lib/getcwd.c: Likewise.
43775         * lib/getloadavg.c: Likewise.
43776         * lib/mkstemp.c: Likewise.
43777         * lib/mountlist.c, mountlist.h: Likewise.
43778         * lib/openat.c, openat.h: Likewise.
43779         * lib/readlink-stub.c: Likewise.
43780         * lib/readutmp.c, readutmp.h: Likewise.
43781         * lib/rename.c: Likewise.
43782         * lib/rmdir.c: Likewise.
43783         * lib/same.c: Likewise.
43784         * lib/savedir.c: Likewise.
43785         * lib/stripslash.c: Likewise.
43786         * lib/tempname.c: Likewise.
43787         * lib/xreadlink.c: Likewise.
43788         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
43789         All uses changed.
43790         * lib/exclude.h: Likewise.
43791
43792         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
43793         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
43794         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
43795         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
43796         * lib/pathmax.h: Include <limits.h> unconditionally, since other
43797         files have been getting away with it for years (MORE/BSD 4.3
43798         is extinct now).
43799         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
43800         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
43801
43802         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
43803         Define to 256, not 255, as per modern POSIX.
43804
43805 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
43806
43807         Sync from coreutils.
43808         Use "file name" when talking about file names, instead of "filename"
43809         or "path", as per the GNU coding standards.
43810         * MODULES.html.sh: mkdir-p renamed from makepath.
43811         filenamecat renamed from path-concat.
43812         * modules/filenamecat: Renamed from modules/path-concat.
43813         (Files): filenamecat.h and filenamecat.c renamed from
43814         path-concat.h and path-concat.c.
43815         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
43816         (Include): filenamecat.h, not path-concat.h.
43817         * modules/mkdir-p: Renamed from modules/makepath.
43818         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
43819         makepath.c.
43820         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
43821         (Include): mkdir-p.h, not makepath.h.
43822
43823 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
43824
43825         Sync from coreutils.
43826         * m4/mkdir-p.m4: Renamed from makepath.m4.
43827         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
43828         Rename files from makepath.c to mkdir-p.c, and from
43829         makepath.h to mkdir-p.h.
43830         * m4/filenamecat.m4: Renamed from path-concat.m4.
43831         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
43832         Rename files from path-concat.c to filenamecat.c,
43833         and from path-concat.h to filenamecat.h.
43834         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
43835         "file name" in local variables or comments.
43836         * m4/rename.m4: Likewise.
43837
43838 2005-06-01  Bruno Haible  <bruno@clisp.org>
43839
43840         * modules/csharpexec: New file.
43841         * MODULES.html.sh (C#): New section.
43842
43843 2005-06-01  Bruno Haible  <bruno@clisp.org>
43844
43845         * m4/csharp.m4: New file, from GNU gettext.
43846         * m4/csharpexec.m4: New file, from GNU gettext.
43847
43848 2005-06-01  Bruno Haible  <bruno@clisp.org>
43849
43850         * lib/csharpexec.h: New file, from GNU gettext.
43851         * lib/csharpexec.c: New file, from GNU gettext.
43852         * lib/csharpexec.sh.in: New file, from GNU gettext.
43853
43854 2005-05-31  Derek Price  <derek@ximbiot.com>
43855             Paul Eggert  <eggert@cs.ucla.edu>
43856
43857         Sync from cvs.
43858         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
43859
43860 2005-05-31  Derek Price  <derek@ximbiot.com>
43861             Paul Eggert  <eggert@cs.ucla.edu>
43862
43863         Sync from cvs.
43864         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
43865
43866 2005-05-29  Derek Price  <derek@ximbiot.com>
43867
43868         * config/srclist.txt (glob_.h, glob.c): Add these files.
43869
43870 2005-05-29  Derek Price  <derek@ximbiot.com>
43871
43872         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
43873         * modules/glob: New file.
43874         * modules/getlogin_r: Add link to POSIX spec in description.
43875
43876 2005-05-29  Derek Price  <derek@ximbiot.com>
43877             Paul Eggert  <eggert@cs.ucla.edu>
43878
43879         * m4/glob.m4: New file.
43880
43881 2005-05-29  Derek Price  <derek@ximbiot.com>
43882             Paul Eggert  <eggert@cs.ucla.edu>
43883
43884         * lib/glob_.h, lib/glob.c: New files.
43885
43886 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
43887
43888         * modules/fts (Files): Remove m4/inttypes-pri.m4.
43889         * modules/fts-lgpl (Depends-on): Remove gettext.
43890
43891 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
43892
43893         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
43894         and don't require gt_INTTYPES_PRI.
43895
43896 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
43897
43898         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
43899
43900         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
43901         the configuration hassle isn't worth it.
43902         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
43903         (LONGEST_MODIFIER, PRIuMAX): Remove.
43904
43905 2005-05-27  Bruno Haible  <bruno@clisp.org>
43906
43907         * lib/getlogin_r.h: Remove second include of <stddef.h>.
43908
43909 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
43910
43911         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
43912         _POSIX_PTHREAD_SEMANTICS for Solaris.
43913
43914 2005-05-25  Derek Price  <derek@ximbiot.com>
43915
43916         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
43917
43918 2005-05-25  Derek Price  <derek@ximbiot.com>
43919             Paul Eggert  <eggert@cs.ucla.edu>
43920
43921         * modules/getlogin_r, m4/getlogin_r.m4: New files.
43922         * lib/getlogin_r.c, getlogin_r.h: New files.
43923
43924 2005-05-25  Bruno Haible  <bruno@clisp.org>
43925             Derek Price  <derek@ximbiot.com>
43926
43927         * lib/getlogin_r.h: Simplify API documentation.
43928
43929 2005-05-23  Derek Price  <derek@ximbiot.com>
43930
43931         * modules/minmax (Files): Add m4/minmax.m4.
43932         (configure.ac): Add gl_MINMAX.
43933
43934 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
43935
43936         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
43937         so that unistd-safer.h (GPL'ed code) need not be included.
43938
43939 2005-05-22  Bruno Haible  <bruno@clisp.org>
43940
43941         * m4/minmax.m4: New file.
43942         Based on a patch by Derek Price <derek@ximbiot.com>.
43943
43944 2005-05-22  Bruno Haible  <bruno@clisp.org>
43945
43946         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
43947         (INT64_MIN): Fix definition.
43948         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
43949
43950         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
43951         NEED_SIGNED_INT_TYPES.
43952
43953         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
43954         HAVE_SYSTEM_INTTYPES.
43955
43956 2005-05-22  Bruno Haible  <bruno@clisp.org>
43957
43958         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
43959         Also include <sys/param.h> if it defines MIN, MAX.
43960         Based on a patch by Derek Price <derek@ximbiot.com>.
43961
43962 2005-05-21  Jim Meyering  <jim@meyering.net>
43963
43964         * modules/fts (Files): Add m4/inttypes-pri.m4.
43965         (Depends-on): Add lstat and remove gettext.  Alphabetize.
43966
43967 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
43968
43969         New fts module.
43970         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
43971         (setup_dir, free_dir): New functions.
43972         (enter_dir, leave_dir): Define trivial
43973         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
43974         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
43975         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
43976         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
43977         Move to fts-cycle.c.
43978         (fts_open): Use setup_dir.
43979         (fts_close): Use free_dir.
43980         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
43981         This adds a label and some gotos, but the alternatives were messier.
43982         Check for memory allocation failure when entering a dir.
43983         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
43984         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
43985         (FTS): New member fts_cycle, that is a union that contains the
43986         old active_dir_ht and cycle_state.  All uses changed to mention
43987         fts_cycle.ht and fts_cycle.state.
43988         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
43989         fts.c, with the following changes:
43990         (setup_dir, free_dir): New functions.
43991         (enter_dir): Now returns bool.  Return true if successful, false
43992         if memory exhausted.  All callers changed.
43993         Do not bother partly cleaning up on
43994         memory allocation failure; that is free_dir's job.
43995         However, free ad if hash_insert fails, to avoid memory leak.
43996         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
43997         fts->fts_options to see which union member to use.
43998
43999 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
44000
44001         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
44002         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
44003
44004 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
44005
44006         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
44007
44008 2005-05-20  Jim Meyering  <jim@meyering.net>
44009
44010         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
44011         Now a macro, to pacify GCC.
44012
44013 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
44014
44015         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
44016         of -1.
44017
44018 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
44019
44020         * lib/chown.c (rpl_chown): Return -1 on failure.
44021
44022 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44023
44024         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
44025         Don't check for stddef.h.
44026         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
44027         don't use its results.
44028         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
44029         since we include them unconditionally.  Don't require
44030         AM_STDBOOL_H, since stdbool is a prerequisite.
44031         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
44032         since we assume C89 or better.
44033         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
44034         as we don't use their results.
44035         Don't check for fchdir, memmove, memset, strrchr, as we use
44036         them unconditionally.
44037         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
44038         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
44039
44040 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44041
44042         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
44043         Include <stddef.h> unconditionally, since we assume C89 now.
44044         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
44045         * lib/fts.c: Include fts_.h first, to check interface.
44046         Do not include intprops.h; no longer needed.
44047         Include cycle-check.h and hash.h, since fts_.h no longer does.
44048         Remove unnecessary casts of closedir to void.
44049         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
44050         decide whether to decrement nlinks.
44051         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
44052         (FTS): Use struct hash_table * instead of Hash_table, so that
44053         we no longer need to include hash.h here.
44054
44055 2005-05-18  Jim Meyering  <jim@meyering.net>
44056
44057         * modules/dirfd (License): Change to LGPL.  Most of the code
44058         is already in the public domain.
44059
44060 2005-05-18  Jim Meyering  <jim@meyering.net>
44061
44062         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
44063         Reported by Yoann Vandoorselaere.
44064
44065 2005-05-17  Jim Meyering  <jim@meyering.net>
44066
44067         * m4/fts.m4: New file, from coreutils.
44068
44069 2005-05-17  Jim Meyering  <jim@meyering.net>
44070
44071         * lib/fts.c, lib/fts_.h: New files, from coreutils.
44072
44073 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44074
44075         Sync from coreutils.
44076         * m4/unlinkdir.m4: New file.
44077
44078 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44079
44080         Sync from coreutils.
44081         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
44082         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
44083         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
44084         White space changes only.
44085         * lib/makepath.c (make_path): Port to hosts where leading "//" is
44086         special.
44087         * lib/yesno.c: Include getline.h, not ctype.h.
44088         (yesno): Don't remove leading white space; POSIX doesn't allow it.
44089         Use getline to remove arbitrary restriction on response length.
44090
44091 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44092
44093         * config/srclist-update: Spell out "Street" in FSF postal
44094         mail address; this is the style the FSF seems to prefer.
44095
44096         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
44097         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
44098         this updates FSF postal mail address.
44099
44100         Sync from coreutils.
44101         * modules/unlinkdir: New file.
44102         * modules/yesno (Depends-on): Add getline.
44103         * MODULES.html.sh (File system functions): Add unlinkdir.
44104
44105 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
44106
44107         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
44108         lib/strsep.h:
44109         Change the initial comment to refer to GPL, not LGPL.
44110         gnulib-tool will change it to LGPL as needed.
44111
44112         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
44113         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
44114         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
44115         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
44116         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
44117         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
44118         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
44119         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
44120         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
44121         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
44122         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
44123         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
44124         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
44125         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
44126         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
44127         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
44128         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
44129         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
44130         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
44131         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
44132         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
44133         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
44134         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
44135         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
44136         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
44137         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
44138         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
44139         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
44140         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
44141         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
44142         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
44143         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
44144         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
44145         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
44146         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
44147         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
44148         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
44149         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
44150         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
44151         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
44152         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
44153         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
44154         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
44155         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
44156         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
44157         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
44158         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
44159         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
44160         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
44161         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
44162         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
44163         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
44164         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
44165         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
44166         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
44167         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
44168         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
44169         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
44170         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
44171         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
44172         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
44173         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
44174         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
44175         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
44176         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
44177         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
44178         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
44179         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
44180         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
44181         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
44182         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
44183         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
44184         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
44185         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
44186         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
44187         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
44188         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
44189         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
44190         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
44191         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
44192         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
44193         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
44194         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
44195         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
44196         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
44197         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
44198         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
44199         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
44200         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
44201         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
44202         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
44203         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
44204         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
44205         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
44206         lib/yesno.c, lib/yesno.h:
44207         Update FSF postal mail address.
44208
44209 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
44210
44211         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
44212         tests/test-memmem.c, tests/test-stpncpy.c:
44213         Update FSF postal mail address.
44214
44215 2005-05-13  Bruno Haible  <bruno@clisp.org>
44216
44217         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
44218         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
44219         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
44220         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
44221         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
44222         Add support for 64-bit integers in the MSVC compiler.
44223
44224 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
44225
44226         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
44227
44228 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
44229
44230         * gnulib-tool (func_import): Sort and uniquify recommended includes.
44231
44232 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
44233
44234         * doc/getdate.texi (General date syntax): Don't say that date
44235         date --iso-8601=ns generates acceptable dates; it doesn't yet.
44236         Problem reported by Nic Ferrier.
44237
44238 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44239
44240         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
44241         specified in ai_socktype. Fix invalid ai_protocol
44242         check. ai_protocol is usually set to 0 or depending on
44243         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
44244         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
44245         ai_socktype / ai_protocol in the returned addrinfo structure.
44246
44247 2005-05-10  Simon Josefsson  <jas@extundo.com>
44248
44249         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
44250         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44251
44252 2005-05-10  Karl Berry  <karl@gnu.org>
44253
44254         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
44255         (from http://www.gnu.org/licenses).
44256         * doc/COPYING.LIB: also rename to COPYING.LESSER.
44257         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
44258         fdl.texi suffices.
44259
44260 2005-05-10  Karl Berry  <karl@gnu.org>
44261
44262         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
44263         (COPYING.DOC): remove.
44264
44265         * config/srclist-update: new FSF address.
44266
44267 2005-05-10  Derek Price  <derek@ximbiot.com>
44268
44269         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
44270         possible.
44271
44272 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44273             Bruno Haible  <bruno@clisp.org>
44274
44275         * modules/inet_ntop: New file.
44276         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44277         inet_ntop.
44278
44279 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44280             Bruno Haible  <bruno@clisp.org>
44281
44282         * m4/inet_ntop.m4: New file.
44283
44284 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44285             Bruno Haible  <bruno@clisp.org>
44286
44287         * lib/inet_ntop.h: New file.
44288         * lib/inet_ntop.c: New file, from glibc with modifications.
44289
44290 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
44291
44292         * modules/time_r (License): Change to LGPL.
44293         * modules/extensions (License): Change to LGPL.  Actually,
44294         the license is more permissive than that, but currently gnulib-tool
44295         doesn't know how to handle more-permissive licenses.
44296
44297         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
44298         Problem reported by Dave Love.
44299
44300 2005-05-08  Jim Meyering  <jim@meyering.net>
44301
44302         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
44303         blank.
44304
44305 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
44306
44307         * modules/argmatch (Depends-on): Add stdbool.
44308         * modules/backupfile (Depends-on): Likewise.
44309         * modules/chdir-long (Depends-on): Likewise.
44310         * modules/closeout (Depends-on): Likewise.
44311         * modules/cycle-check (Depends-on): Likewise.
44312         * modules/dirname (Depends-on): Likewise.
44313         * modules/fnmatch (Depends-on): Likewise.
44314         * modules/fsusage (Depends-on): Likewise.
44315         * modules/fwriteerror (Depends-on): Likewise.
44316         * modules/getcwd (Depends-on): Likewise.
44317         * modules/getloadavg (Depends-on): Likewise.
44318         * modules/hard-locale (Depends-on): Likewise.
44319         * modules/makepath (Depends-on): Likewise.
44320         * modules/mountlist (Depends-on): Likewise.
44321         * modules/nanosleep (Depends-on): Likewise.
44322         * modules/posixtm (Depends-on): Likewise.
44323         * modules/quotearg (Depends-on): Likewise.
44324         * modules/readtokens (Depends-on): Likewise.
44325         * modules/readtokens0 (Depends-on): Likewise.
44326         * modules/readutmp (Depends-on): Likewise.
44327         * modules/save-cwd (Depends-on): Likewise.
44328         * modules/strftime (Depends-on): Likewise.
44329         * modules/userspec (Depends-on): Likewise.
44330         * modules/utimecmp (Depends-on): Likewise.
44331         * modules/xgetcwd (Depends-on): Likewise.
44332         * modules/xnanosleep (Depends-on): Likewise.
44333         * modules/xstrtod (Depends-on): Likewise.
44334         * modules/yesno (Depends-on): Likewise.
44335
44336 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
44337
44338         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
44339         needless checks.
44340
44341 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
44342
44343         Merge from coreutils.  Among other things,
44344         add bulletproofing for cases where stdin, stdout, or stderr are closed.
44345         * lib/fd-safer.c: New file.
44346         * lib/fcntl-safer.h, open-safer.c: Remove.
44347         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
44348         * lib/dup-safer.c: Include unistd-safer.h first.
44349         Don't include errno.h.
44350         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
44351         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
44352         * lib/file-type.c: Rely on file-type.h change.
44353         * lib/getloadavg.c: Include unistd-safer.h.
44354         (getloadavg): Use safer open.
44355         * lib/getusershell.c: Include "stdio-safer.h".
44356         (getusershell): Use safer fopen.
44357         * lib/long-options.c (long_options): Use NULL rather than 0.
44358         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
44359         'free'.
44360         * lib/modechange.c: Likewise.
44361         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
44362         (MODE_DONE): New constant.
44363         (struct mode_change): Remove 'next' member.
44364         (make_node_op_equals): New function; like the old one of the
44365         same name, except it allocates an array.
44366         (mode_compile, mode_create_from_ref): Use it.
44367         (mode_compile): Allocate result as an array, not a linked list.
44368         Parse octal string ourself, so that we catch mistakes like "+0".
44369         (mode_adjust): Arg is an array, not a linked list.
44370         * lib/modechange.c: Include stat-macros.h, xalloc.h.
44371         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
44372         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
44373         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
44374         Remove.  This is now stat-macros.h's job.
44375         (talloc): Remove.  All callers replaced by xalloc, so that
44376         our invokers don't have to worry about reporting memory failures.
44377         (make_node_op_equals): Remove.
44378         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
44379         New constants.
44380         (struct mode_change): Moved here from modechange.h.
44381         (mode_append_entry): Remove.
44382         (mode_compile): Remove MASKED_OPS arg, since it encouraged
44383         apps to have incorrect behavior.  Use simpler algorithm for head
44384         and tail.  Don't futz with umask; that's now the job of mode_adjust.
44385         Detect more invalid usages rather than having somewhat-random behavior.
44386         Don't insert an "a=" action, as that leads to incorrect behavior.
44387         (mode_compile, mode_create_from_ref): Return NULL on error instead
44388         of an enum, since now there's only one way to have an error.  All
44389         callers changed.
44390         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
44391         at the correct time.  Simplify calculation of "+u" and its ilk.
44392         Don't mishandle "+X".
44393         (mode_free): Remove "register" and localize decls.
44394         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
44395         (struct mode_change): Move to modechange.c; callers don't
44396         need to see this stuff.
44397         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
44398         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
44399         (mode_change, mode_adjust): Reflect the new signatures noted above.
44400         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
44401         that might redefine system include files.
44402         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
44403         (my_usleep): Use NULL rather than (void *) 0.
44404         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
44405         Use siginterrupt to specify that system calls should be interrupted.
44406         (rpl_nanosleep): Move initialization of suspended closer to call of
44407         my_usleep.
44408         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
44409         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
44410         (desirable_utmp_entry): New function.
44411         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
44412         using x2nrealloc, to simplify logic.
44413         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
44414         size calculation.  Do not assume utmp file is a regular file.
44415         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
44416         (READ_UTMP_CHECK_PIDS): New constant.
44417         * lib/save-cwd.c: Include unistd-safer.h.
44418         (save_cwd): Use fd_safer.
44419         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
44420         [!_LIBC] Include "stat-macros.h" instead.
44421         * lib/unistd-safer.h (fd_safer): New decl.
44422
44423 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
44424
44425         * modules/getloadavg (Depends-on): Add unistd-safer.
44426         * modules/getusershell (Depends-on): Add stdio-safer.
44427         * modules/lstat (Depends-on): Remove xalloc.
44428         * modules/mkstemp (Depends-on): Add stat-macros.
44429         * modules/modechange (Depends-on): Remove xstrtol.
44430         Add stat-macros, xalloc.
44431         * modules/save-cwd (Depends-on): Add unistd-safer.
44432         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
44433         * modules/unistd-safer (Files): Add lib/fd-safer.c
44434         (Makefile.am): Remove lib_SOURCES.
44435
44436         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
44437         Remove fcntl-safer; unistd-safer supersedes it.
44438
44439 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
44440
44441         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
44442         AC_HEADER_STAT.
44443         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
44444         (gl_PREREQ_CHOWN): Remove.
44445         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
44446         it.  Don't require AC_HEADER_STAT.
44447         (gl_PREREQ_LSTAT): Remove.
44448         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
44449         Don't require AC_HEADER_STAT.
44450         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
44451         (gl_PREREQ_RMDIR): Remove.
44452         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
44453         mention stat-macros.h or AC_HEADER_STAT, since we'll make
44454         the stat-macros module a prerequisite.
44455         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
44456         * m4/filemode.m4 (gl_FILEMODE): Likewise.
44457         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
44458         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
44459         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
44460         variable names.
44461         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
44462         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
44463         variable prefixes.
44464         * m4/fcntl-safer.m4: Remove.
44465         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
44466         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
44467         Invoke gl_PREREQ_FD_SAFER.
44468         (gl_PREREQ_FD_SAFER): New macro.
44469         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
44470         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
44471         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
44472         Remove duplicate call to AC_LIBOBJ(readutmp).
44473         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
44474
44475         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
44476         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
44477
44478 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
44479
44480         * MODULES.html.sh (Misc): Add byteswap.
44481
44482 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
44483
44484         * modules/getcwd (Depends-on): Add extensions.
44485         * modules/openat (Depends-on): Likewise.
44486
44487 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
44488
44489         * modules/byteswap: New file.
44490
44491 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
44492
44493         * m4/byteswap.m4: New file.
44494
44495 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
44496
44497         * lib/byteswap_.h: New file.
44498
44499 2005-04-25  Karl Berry  <karl@gnu.org>
44500
44501         * m4/gettext.m4: Update from GNU gettext 0.14.4.
44502
44503 2005-04-25  Albert Chin  <china@thewrittenword.com>
44504
44505         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
44506         Toolkit C bug.
44507
44508 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
44509
44510         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
44511         (func_ln_if_changed) Remove forcibly for no error message
44512         in case file does not exist.
44513
44514 2005-04-19  Simon Josefsson  <jas@extundo.com>
44515
44516         * gnulib-tool (Options): Make --symlink mean --symbolic.
44517
44518 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
44519
44520         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
44521
44522 2005-04-16  Simon Josefsson  <jas@extundo.com>
44523
44524         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
44525
44526 2005-04-15  Simon Josefsson  <jas@extundo.com>
44527
44528         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
44529
44530 2005-04-15  Simon Josefsson  <jas@extundo.com>
44531
44532         * gnulib-tool: Rename --symlink to --symbolic.
44533
44534 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
44535
44536         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
44537         symbolic links to files instead of copying/moving.  Add --aux-dir,
44538         specifying directory relative --dir where auxiliary build tools
44539         are placed.
44540
44541 2005-04-14  Bruno Haible  <bruno@clisp.org>
44542
44543         * modules/allocsa (License): Change to LGPL.
44544         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
44545
44546 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
44547
44548         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
44549         that "UTC +1 second" continues to work.  Problem reported
44550         by Dmitry V. Levin.
44551         (relunit_snumber): New rule.
44552         (relunit): Use it.
44553
44554 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
44555
44556         * lib/getdate.y (universal_time_zone_table): New constant.
44557         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
44558         universal_time_zone_table.
44559         (lookup_zone): Prefer universal_time_zone_table to
44560         local_time_zone_table, so that "GMT" time stamps are allowed in
44561         London during the summer.  Problem reported by Ian Abbott.
44562
44563 2005-04-12  Jim Meyering  <jim@meyering.net>
44564
44565         * lib/human.c (humblock): Set *options even when returning due to
44566         xstrtoumax conversion failure.  Thanks to a used-uninitialized
44567         warning from gcc-4.
44568
44569 2005-04-09  Jim Meyering  <jim@meyering.net>
44570
44571         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
44572         -Wuninitialized: initialize tm0.tm_year.
44573
44574 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
44575
44576         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
44577         count, since there's no maximum.  All uses changed.
44578         Add member dsts_seen.
44579         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
44580         not being INT_MAX.
44581         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
44582         Use pc_rels_seen to decide whther a date is absolute.
44583
44584         * lib/getdate.y (number): Don't overwrite year.
44585         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
44586         check.
44587
44588 2005-04-02  Simon Josefsson  <jas@extundo.com>
44589
44590         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
44591         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
44592
44593 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
44594
44595         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
44596         where no absolute path name can be longer than PATH_MAX.
44597
44598 2005-03-27  Jim Meyering  <jim@meyering.net>
44599
44600         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
44601
44602 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
44603
44604         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
44605         "one's complement" -> "ones' complement" in comment, as per Knuth.
44606         "value of type" -> "type or expression" in comment.
44607         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
44608
44609 2005-03-26  Jim Meyering  <jim@meyering.net>
44610
44611         Comment nits.
44612         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
44613         Correct typos: s/or/of/.
44614
44615 2005-03-26  Jim Meyering  <jim@meyering.net>
44616
44617         * modules/check-include-files: Move to ../ and rename to...
44618         * check-module: ...this.
44619
44620 2005-03-25  Jim Meyering  <jim@meyering.net>
44621
44622         * modules/xvasprintf (Files): Add xalloc.h.
44623
44624 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
44625
44626         * modules/gettext (Files): config/config.rpath ->
44627         build-aux/config.rpath
44628         * modules/iconv (Files): Likewise.
44629         Problem reported by Oskar Liljeblad.
44630
44631 2005-03-23  Jim Meyering  <jim@meyering.net>
44632
44633         * modules/check-include-files: New script to check for
44634         missing dependencies, multiple includes, etc.
44635
44636         * modules/c-strtold (Depends-on): Add xalloc.
44637         * modules/c-strtod (Depends-on): Add xalloc.
44638         * modules/hash (Depends-on): Add xalloc.
44639         (Files): Remove lib/xalloc.h.
44640
44641         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
44642         * modules/userspec (Files): Add lib/inttostr.h.
44643
44644 2005-03-23  Jim Meyering  <jim@meyering.net>
44645
44646         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
44647
44648 2005-03-22  Jim Meyering  <jim@meyering.net>
44649
44650         * modules/stat-macros: New module.
44651         * modules/canonicalize, modules/euidaccess, modules/file-type,
44652         * modules/filemode, modules/lchown, modules/makepath,
44653         * modules/rmdir, modules/stat: Depend on new stat-macros module
44654         rather than listing lib/stat-macros.h manually.
44655         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
44656
44657 2005-03-22  Jim Meyering  <jim@meyering.net>
44658
44659         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
44660
44661 2005-03-22  Bruno Haible  <bruno@clisp.org>
44662
44663         * config/srclist.txt: Replace target directory 'config' with
44664         'build-aux'.
44665         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
44666         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
44667         ../build-aux/.
44668
44669 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
44670
44671         * modules/chdir-long (Depends-on): Add mempcpy.
44672
44673         * modules/acl, modules/backupfile, modules/c-strtod,
44674         modules/c-strtold, modules/canon-host, modules/canonicalize,
44675         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
44676         modules/exclude, modules/exitfail, modules/file-type,
44677         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
44678         modules/getdate, modules/getline, modules/getpagesize,
44679         modules/getpass, modules/getugroups, modules/group-member,
44680         modules/hard-locale, modules/hash, modules/human, modules/idcache,
44681         modules/inttostr, modules/long-options, modules/makepath,
44682         modules/md5, modules/memcasecmp, modules/memcoll,
44683         modules/modechange, modules/mountlist, modules/path-concat,
44684         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
44685         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
44686         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
44687         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
44688         modules/strftime, modules/strndup, modules/strverscmp,
44689         modules/timespec, modules/unlocked-io, modules/userspec,
44690         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
44691         modules/yesno:
44692         Remove lib_SOURCES line from Makefile.am section, as this is now
44693         done automatically by the corresponding Autoconf macro.
44694
44695 2005-03-21  Jim Meyering  <jim@meyering.net>
44696
44697         Changes imported from coreutils.
44698
44699         * lib/cycle-check.c: Don't include xalloc.h.
44700
44701         * lib/path-concat.c: Don't include assert.h.
44702         (path_concat): Remove assertion that would have triggered
44703         for ABASE starting with more than one slash.
44704         Reported by Andreas Schwab.
44705
44706         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
44707         properly when ABASE is an absolute file name.
44708         Correct the description of this function.
44709         Include <assert.h>.
44710         Add an assertion and a test driver.
44711         This fixes a bug introduced on 2004-07-02.
44712         Andreas Schwab reported the resulting failure of cp --parents:
44713         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
44714
44715 2005-03-21  Jim Meyering  <jim@meyering.net>
44716
44717         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
44718         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
44719
44720 2005-03-21  Jim Meyering  <jim@meyering.net>
44721         and  Paul Eggert  <eggert@cs.ucla.edu>
44722
44723         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
44724         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
44725         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
44726         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
44727         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
44728         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
44729         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
44730         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
44731         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
44732         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
44733         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
44734         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
44735         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
44736         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
44737         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
44738         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
44739         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
44740         for these modules.
44741
44742 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
44743
44744         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
44745         (which shouldn't happen), generate nothing instead of returning 0
44746         immediately, so that nstrftime (NULL, ...) doesn't return 0.
44747
44748 2005-03-16  Bruno Haible  <bruno@clisp.org>
44749
44750         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
44751         HAVE_LONGLONG_64BIT.
44752
44753 2005-03-16  Bruno Haible  <bruno@clisp.org>
44754
44755         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
44756         HAVE_LONGLONG_64BIT.
44757
44758 2005-03-16  Bruno Haible  <bruno@clisp.org>
44759
44760         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
44761         HAVE_LONGLONG_64BIT.
44762
44763 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
44764
44765         * lib/strftime.c (my_strftime): Prepend space to format so that we can
44766         reliably distinguish strftime failure from empty output on POSIX
44767         hosts.
44768
44769 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
44770
44771         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
44772         (iconv_string): Don't guess a size-zero buffer, as that might cause
44773         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
44774         result would be 'too large', where 'too large' is (heuristically)
44775         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
44776         overflow concerns.  This will prevent some unwanted malloc failures
44777         when the inputs are very large.
44778
44779 2005-03-15  Karl Berry  <karl@gnu.org>
44780
44781         * config/srclist.txt (config.rpath): from gettext.
44782         * config/config.rpath: update.
44783
44784 2005-03-15  Bruno Haible  <bruno@clisp.org>
44785
44786         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
44787         to 'negate'.
44788
44789         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
44790         variable.
44791
44792         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
44793         results.
44794
44795 2005-03-14  Simon Josefsson  <jas@extundo.com>
44796
44797         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
44798         <fx@gnu.org>.
44799
44800 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
44801
44802         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
44803         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
44804         intprops.h.
44805         * lib/strtol.c: Likewise.
44806
44807 2005-03-14  Jim Meyering  <jim@meyering.net>
44808
44809         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
44810         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
44811         to be nonzero so that we (and caller) can detect the difference
44812         between a valid zero-length expansion and an error return, even
44813         when the underlying strftime fails before writing anything into
44814         that location.
44815
44816 2005-03-14  Bruno Haible  <bruno@clisp.org>
44817
44818         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
44819         Update from GNU gettext 0.14.3.
44820
44821 2005-03-10  Jim Meyering  <jim@meyering.net>
44822
44823         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
44824
44825 2005-03-10  Jim Meyering  <jim@meyering.net>
44826
44827         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
44828         so that this module works on systems without fchdir.
44829
44830 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
44831
44832         Factor int-properties macros into a single file, except for
44833         glibc-related files.
44834         * lib/intprops.h: New file.
44835         * lib/getloadavg.c: Include it instead of limits.h.
44836         (INT_STRLEN_BOUND): Remove.
44837         * lib/human.c: Include intprops.h.
44838         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
44839         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
44840         302/1000.
44841         * lib/inttostr.h: Include intprops.h instead of limits.h.
44842         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
44843         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
44844         for consistency with intprops.h.
44845         (time_t_is_integer, twos_complement_arithmetic): Use them.
44846         * lib/sig2str.h: Include <signal.h>, intprops.h.
44847         (INT_STRLEN_BOUND): Remove.
44848         * lib/strftime.c (TYPE_SIGNED): Remove.
44849         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
44850         * lib/strtol.c: Adjust comments to match intprops.h.
44851         * lib/userspec.c: Include intprops.h.
44852         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
44853         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
44854         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
44855         instead of rolling our own expressions.
44856         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
44857
44858         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
44859         instead of int.
44860         (my_strftime): Do not mishandle years close to INT_MAX, by doing
44861         the right thing even if adding 1900 would overflow.  Similarly
44862         for tm_mon + 1 and tm_yday + 1.
44863         Make %Y always equivalent to %C%y, and similarly for %G and %g.
44864         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
44865         (DO_SIGNED_NUMBER): New macro.
44866         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
44867
44868 2005-03-07  Bruno Haible  <bruno@clisp.org>
44869
44870         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
44871
44872 2005-03-07  Bruno Haible  <bruno@clisp.org>
44873
44874         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
44875
44876 2005-03-04  Derek R. Price  <derek@ximbiot.com>
44877
44878         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
44879         (func_import): Only replace files via --import when they have actually
44880         changed.
44881
44882 2005-03-03  Derek R. Price  <derek@ximbiot.com>
44883
44884         * m4/mmap-anon.m4: New file.
44885         * m4/pagealign_alloc.m4: New file.
44886
44887 2005-03-03  Derek R. Price  <derek@ximbiot.com>
44888             Bruno Haible  <bruno@clisp.org>
44889
44890         * modules/pagealign_alloc: New file.
44891         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
44892
44893 2005-03-03  Derek R. Price  <derek@ximbiot.com>
44894             Bruno Haible  <bruno@clisp.org>
44895
44896         * lib/pagealign_alloc.h: New file.
44897         * lib/pagealign_alloc.c: New file.
44898
44899 2005-03-03  Bruno Haible  <bruno@clisp.org>
44900
44901         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
44902         Use an all-permissive copyright notice, recommended by RMS.
44903
44904 2005-03-02  Bruno Haible  <bruno@clisp.org>
44905
44906         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
44907         of AIX, the replacement has to be done only after <string.h> is
44908         included, therefore not in config.h. stpncpy.h does the replacement,
44909         and stpncpy.c uses it.
44910
44911 2005-03-02  Bruno Haible  <bruno@clisp.org>
44912
44913         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
44914         stpncpy.c uses it.
44915
44916 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
44917
44918         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
44919         The workaround isn't strictly needed for POSIX conformance, and
44920         it's too much of a pain to configure and maintain.  We'll ask
44921         people to fix their kernels instead.
44922         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
44923         (NANOSLEEP_BUG_WORKAROUND): Remove.
44924         (xnanosleep): Remove the workaround.
44925
44926 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
44927
44928         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
44929         Reported by Derek Price.
44930         (Include): Add "timespec.h".
44931
44932         * modules/xnanosleep (Depends-on): Remove gethrxtime.
44933
44934 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
44935
44936         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
44937         to detect nanosleep bug.
44938
44939 2005-03-01  Bruno Haible  <bruno@clisp.org>
44940
44941         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
44942
44943 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
44944
44945         * modules/gethrxtime: New file.
44946         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
44947         (Depends-on): Add gethrxtime.
44948         (configure.ac): Add gl_XNANOSLEEP.
44949         (Makefile.am): Remove lib_SOURCES line.
44950
44951 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
44952
44953         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
44954         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
44955
44956 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
44957
44958         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
44959         * lib/timespec.h (gettime): Return void, since it always
44960         succeeds now.  All uses changed.
44961         * lib/gettime.c (gettime) Likewise.
44962         [HAVE_NANOTIME]: Prefer nanotime.
44963         Assume gettimeofday succeeds, as POSIX requires.
44964         Assime time () succeeds, since other code already does.
44965         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
44966         (timespec_subtract): Remove.
44967         (NANOSLEEP_BUG_WORKAROUND): New constant.
44968         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
44969         things considerably.  Use it only on GNU/Linux hosts, since the
44970         workaround shouldn't be needed elsewhere.
44971
44972 2005-02-24  Bruno Haible  <bruno@clisp.org>
44973
44974         * modules/gettext (Files): Add m4/glibc2.m4.
44975
44976 2005-02-24  Bruno Haible  <bruno@clisp.org>
44977
44978         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
44979         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
44980         * m4/progtest.m4:
44981         Update from GNU gettext 0.14.2.
44982         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
44983
44984 2005-02-24  Bruno Haible  <bruno@clisp.org>
44985
44986         * lib/localcharset.c: Update from GNU gettext 0.14.2.
44987         * lib/config.charset: Update from GNU gettext 0.14.2.
44988
44989 2005-02-24  Bruno Haible  <bruno@clisp.org>
44990
44991         * lib/gettext.h: Update from GNU gettext 0.14.2.
44992
44993 2005-02-23  Simon Josefsson  <jas@extundo.com>
44994
44995         * m4/iconvme.m4: New file.
44996
44997 2005-02-23  Jim Meyering  <jim@meyering.net>
44998
44999         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
45000         change.
45001         Thanks to Bruno Haible for catching it.
45002
45003 2005-02-22  Simon Josefsson  <jas@extundo.com>
45004
45005         * modules/iconvme: New file.
45006
45007         * MODULES.html.sh: Add iconvme.
45008
45009 2005-02-22  Simon Josefsson  <jas@extundo.com>
45010
45011         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
45012
45013 2005-02-22  Simon Josefsson  <jas@extundo.com>
45014
45015         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
45016
45017 2005-02-22  Jim Meyering  <jim@meyering.net>
45018
45019         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
45020         s/ifndef/ifdef/.
45021
45022 2005-02-20  Neil Conway  <neilc@samurai.com>
45023
45024         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
45025         returned by OSX/Darwin if the specified buffer is not large
45026         enough for the hostname.
45027
45028 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45029
45030         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
45031         pass it to _help, otherwise the latter coredumps trying to
45032         dereference state.root_argp.
45033
45034 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
45035
45036         * modules/chdir-long (Depends-on): Add memrchr.
45037         * modules/memrchr (Files): Add lib/memrchr.h.
45038         (Include): "memrchr.h".
45039
45040 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
45041
45042         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
45043
45044 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
45045
45046         * lib/memrchr.h: New file.
45047         * lib/chdir-long.c: Include it.
45048         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
45049         Don't bother including stddef.h.
45050
45051 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
45052
45053         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
45054         inclusion.
45055         Include <sys/types.h>, for dev_t.
45056         (ME_DUMMY, ME_REMOTE): Move from here....
45057         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
45058         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
45059         Dmitry V. Levin.
45060         Include mountlist.h first, to test the interface.
45061
45062 2005-01-29  Bruno Haible  <bruno@clisp.org>
45063
45064         * lib/progname.c (program_name): Initialize.
45065         Needed when linking statically on MacOS X.
45066
45067 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
45068
45069         Sync from coreutils.
45070         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
45071         (Depends-on): Add c-strtod.
45072         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
45073
45074 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
45075
45076         Sync from coreutils.
45077         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
45078
45079         Remove files that are specific to coreutils.
45080         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
45081
45082 2005-01-28  Bruno Haible  <bruno@clisp.org>
45083
45084         * modules/javacomp: New file.
45085         * MODULES.html.sh (Java): Add javacomp.
45086
45087 2005-01-28  Bruno Haible  <bruno@clisp.org>
45088
45089         * m4/javacomp.m4: New file, from GNU gettext.
45090
45091 2005-01-28  Bruno Haible  <bruno@clisp.org>
45092
45093         * lib/javacomp.sh.in: New file, from GNU gettext.
45094         * lib/javacomp.h: New file, from GNU gettext.
45095         * lib/javacomp.c: New file, from GNU gettext.
45096
45097 2005-01-26  Simon Josefsson  <jas@extundo.com>
45098
45099         * lib/gai_strerror.c: Use GPL in header.
45100
45101 2005-01-26  Bruno Haible  <bruno@clisp.org>
45102
45103         * modules/javaexec: New file.
45104         * MODULES.html.sh (Java): Add javaexec.
45105
45106 2005-01-26  Bruno Haible  <bruno@clisp.org>
45107
45108         * m4/javaexec.m4: New file, from GNU gettext.
45109
45110 2005-01-26  Bruno Haible  <bruno@clisp.org>
45111
45112         * lib/javaexec.sh.in: New file, from GNU gettext.
45113         * lib/javaexec.h: New file, from GNU gettext.
45114         * lib/javaexec.c: New file, from GNU gettext.
45115
45116 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45117
45118         * modules/lchown (Depends-on): Remove lchown.h
45119
45120 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45121
45122         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
45123         must be defined if the header file was not found, in order
45124         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
45125
45126 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45127
45128         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
45129         initializers for struct pentry_state.
45130         (__argp_error): Check return value of __asprintf
45131         (__argp_failure): Translate error message
45132
45133         * lib/argp-parse.c: Removed braces around the expansion of N_()
45134
45135 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45136
45137         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
45138         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
45139         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
45140         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
45141         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
45142         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
45143         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
45144         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
45145         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
45146         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
45147         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
45148         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
45149         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
45150         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
45151         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
45152         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
45153         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
45154         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
45155         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
45156         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
45157         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
45158         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
45159         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
45160         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
45161         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
45162         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
45163         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
45164         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
45165         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
45166         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
45167         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
45168         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
45169         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
45170         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
45171         xstrtol.m4, xstrtoumax.m4, yesno.m4:
45172         Use an all-permissive copyright notice, recommended by RMS.
45173
45174 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
45175
45176         * modules/chdir-long (Depends-on): Remove mempcpy.
45177
45178 2005-01-21  Jim Meyering  <jim@meyering.net>
45179
45180         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
45181         same value as for Solaris 9.
45182
45183         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
45184         component length.  This included changing the parameter to be
45185         of type `char *' rather than `char const *'.
45186         * lib/chdir-long.h (chdir_long): Update prototype.
45187
45188         * lib/openat.c (fdopendir, fstatat): New functions.
45189         * lib/openat.h: Include headers required for use of DIR and struct
45190         stat.
45191         [AT_SYMLINK_NOFOLLOW]: Define.
45192         (fdopendir, fstatat): Add prototypes.
45193
45194 2005-01-21  Bruno Haible  <bruno@clisp.org>
45195
45196         * modules/classpath: New file.
45197         * MODULES.html.sh (Java): Add classpath.
45198
45199 2005-01-21  Bruno Haible  <bruno@clisp.org>
45200
45201         * lib/classpath.h: New file, from GNU gettext.
45202         * lib/classpath.c: New file, from GNU gettext.
45203
45204 2005-01-20  Simon Josefsson  <jas@extundo.com>
45205
45206         * modules/version-etc-fsf: New file.
45207
45208 2005-01-20  Simon Josefsson  <jas@extundo.com>
45209
45210         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
45211         * lib/version-etc.c: Remove version_etc_copyright.
45212         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
45213         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
45214
45215 2005-01-20  Simon Josefsson  <jas@extundo.com>
45216
45217         * lib/base64.h (isbase64): Add.
45218
45219         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
45220         using a unsigned prototype, don't inline.
45221         (base64_decode): Use it.
45222
45223 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
45224
45225         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
45226         it.
45227
45228 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
45229
45230         * lib/save-cwd.c (save_cwd): Remove code to support the case
45231         where fchdir is missing or flaky.
45232
45233 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
45234
45235         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
45236
45237 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
45238
45239         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
45240         AC_LIBSOURCES now does this.
45241         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
45242         with new ullong_max module.
45243
45244 2005-01-19  Bruno Haible  <bruno@clisp.org>
45245
45246         * modules/sh-quote: New file.
45247         * MODULES.html.sh (Executing programs): Add sh-quote.
45248
45249 2005-01-19  Bruno Haible  <bruno@clisp.org>
45250
45251         * lib/sh-quote.h: New file, from GNU gettext.
45252         * lib/sh-quote.c: New file, from GNU gettext.
45253
45254 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
45255
45256         Merge from coreutils.
45257         * m4/ullong_max.m4: New file.
45258         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
45259         (gl_MACROS): Assume localeconv exists.
45260
45261 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
45262
45263         Merge changes from coreutils, as described below in several
45264         changelogs dated today.
45265
45266         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
45267         (O_DIRECTORY): Remove; not needed here, since "." must be
45268         a directory.  All uses removed.
45269         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
45270         universal on Suns, and we also need to test for IRIX.
45271         Revamp code to use 'if' rather than '#if'.
45272         Avoid unnecessary comparison of cwd->desc to 0.
45273
45274         * lib/utimens.c (futimens): Robustify the previous patch, by checking
45275         for known valid error numbers rather than observed invalid ones.
45276
45277 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
45278
45279         * modules/ullong_max: New file.
45280
45281         * modules/chdir-long, modules/openat: New files.
45282         * modules/save-cwd (Depends-on): Depend on chdir-long.
45283         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
45284
45285 2005-01-18  Jim Meyering  <jim@meyering.net>
45286
45287         Merge from coreutils.
45288         * m4/chdir-long.m4, m4/openat.m4: New files.
45289         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
45290         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
45291         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
45292         is sane and DOES follow symlinks.  Besides, testing 20 different
45293         systems found no broken chown implementations.
45294         Prompted by a change in rsync's copy of this macro.
45295         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
45296
45297         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
45298
45299         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
45300         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
45301         NULL-means-set-to-current-time semantics.
45302         Remove temporary file immediately, rather than waiting
45303         for configure's at-exit trap code to do it.
45304
45305 2005-01-18  Jim Meyering  <jim@meyering.net>
45306
45307         * lib/version-etc.c (version_etc_copyright): Update copyright date.
45308
45309         * lib/utimens.c (futimens): Account for the fact that futimes
45310         can also fail with errno == ENOSYS or errno == ENOENT.
45311         Patch from Dmitry V. Levin.
45312
45313         Change the name of the robust chdir function from chdir to chdir_long.
45314         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
45315         (restore_cwd): Use chdir_long, not chdir.
45316         * lib/chdir-long.c: Renamed from chdir.c.
45317         * lib/chdir-long.h: Renamed from chdir.h.
45318         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
45319         Hurd.
45320
45321 2005-01-18  Bruno Haible  <bruno@clisp.org>
45322
45323         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
45324         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
45325         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
45326         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
45327         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
45328         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
45329         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
45330         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
45331         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
45332         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
45333         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
45334         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
45335         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
45336         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
45337         Use an all-permissive copyright notice, recommended by RMS.
45338
45339 2005-01-18  Bob Proulx  <bob@proulx.com>
45340
45341         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
45342         simplify offsetof() macro construct to avoid compile failure with
45343         native HP-UX 11.0 ANSI C compiler.
45344
45345 2005-01-17  Bruno Haible  <bruno@clisp.org>
45346
45347         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
45348         redundant because stpncpy.m4 takes care of it.
45349
45350 2005-01-17  Bruno Haible  <bruno@clisp.org>
45351
45352         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
45353
45354 2005-01-17  Bruno Haible  <bruno@clisp.org>
45355
45356         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
45357         used.
45358
45359 2005-01-17  Bruno Haible  <bruno@clisp.org>
45360
45361         * lib/fwriteerror.h (fwriteerror): Change specification to include
45362         fclose.
45363         * lib/fwriteerror.c: Include <stdbool.h>.
45364         (fwriteerror): At the end, close the file stream. Record whether
45365         stdout was already closed.
45366
45367 2005-01-17  Bruno Haible  <bruno@clisp.org>
45368
45369         * lib/execute.c (environ): Declare if needed.
45370         * lib/pipe.c (environ): Likewise.
45371         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
45372
45373 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45374
45375         * modules/argp: Depend on vsnprintf
45376
45377 2005-01-10  Jim Meyering  <jim@meyering.net>
45378
45379         * modules/closeout (Depends-on): Add atexit.
45380
45381 2005-01-06  Bruno Haible  <bruno@clisp.org>
45382
45383         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
45384
45385 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
45386
45387         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
45388         definitions to be after all include files, to avoid collisions.
45389         Problem reported by Bob Proulx.
45390
45391 2005-01-04  Jim Meyering  <jim@meyering.net>
45392
45393         Changes imported from coreutils.
45394         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
45395         as the mkstemp template, use a temporary directory and an
45396         8.3-friendly template to avoid trouble on systems like DJGPP.
45397         Reported by Juan M. Guerrero via Stepan Kasal.
45398         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
45399         close. Remove the temporary directory right away, rather than waiting
45400         for configure's at-exit trap code to do it.
45401         Suggestion from Stepan Kasal.
45402
45403 2005-01-01  Simon Josefsson  <jas@extundo.com>
45404
45405         * gnulib-tool: Print #include directives when --import'ing.
45406
45407 2004-12-28  Simon Josefsson  <jas@extundo.com>
45408
45409         * tests/test-base64.c: Include required header files.  Remove
45410         unused variables.
45411
45412 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
45413
45414         * modules/error (Depends-on): Remove gettext.
45415
45416 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
45417
45418         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
45419         not needed.  This removes a dependency on the gettext module.
45420         [defined _LIBC]: Do not include <libintl.h>; not needed.
45421
45422 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
45423
45424         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
45425         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
45426
45427 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
45428
45429         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
45430         HAVE_DECL_STRTOLD.
45431
45432 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
45433
45434         * modules/getdate (Depends-on): Remove alloca-opt.
45435
45436 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
45437
45438         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
45439
45440 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
45441
45442         * lib/argp-parse.c: Include <stddef.h>.
45443         (alignof, alignto): New macros.
45444         (parser_init): Don't assume that void * is aligned sufficiently
45445         for struct option.
45446
45447         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
45448         need to extend the stack.
45449         (YYINITDEPTH): New macro, so that the initial stack isn't overly
45450         large.
45451
45452 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45453
45454         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
45455
45456 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
45457
45458         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
45459         (2004-10-24) change.  Apparently this was a false alarm.
45460
45461         * modules/getdate: Depend on alloca-opt, not alloca.
45462
45463 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
45464
45465         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
45466         Remove now-obsolete comment about AIX.
45467         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
45468         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
45469         (YYMAXDEPTH): New macro.
45470
45471 2004-12-18  Simon Josefsson  <jas@extundo.com>
45472
45473         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
45474
45475 2004-12-18  Bruno Haible  <bruno@clisp.org>
45476
45477         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
45478
45479 2004-12-18  Bruno Haible  <bruno@clisp.org>
45480
45481         * lib/fatal-signal.c (fatal_signals): Make non-const.
45482         (init_fatal_signals): New function.
45483         (uninstall_handlers, install_handlers): Ignore signals that were set to
45484         SIG_IGN.
45485         (at_fatal_signal): Call init_fatal_signals.
45486         (init_fatal_signal_set): Likewise. Ignore signals that were set to
45487         SIG_IGN.
45488         Reported by Paul Eggert.
45489
45490 2004-12-18  Bruno Haible  <bruno@clisp.org>
45491
45492         * doc/alloca.texi: New file.
45493         * doc/alloca-opt.texi: New file.
45494
45495 2004-12-17  Jim Meyering  <jim@meyering.net>
45496
45497         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
45498         Otherwise, install-sh could exit with improper exit status when
45499         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
45500
45501 2004-12-16  Simon Josefsson  <jas@extundo.com>
45502
45503         * tests/test-base64.c: Add license.
45504
45505 2004-12-15  Stepan Kasal  <address@hidden>
45506
45507         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
45508
45509 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
45510
45511         * modules/getcwd (Files): Add m4/d-ino.m4.
45512         Suggested by Mark D. Baushke.
45513
45514 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
45515
45516         * lib/getdate.y (textint): New member "negative".
45517         (time_zone_hhmm): New function.
45518         Expect 14 shift-reduce conflicts, not 13.
45519         (o_colon_minutes): New rule.
45520         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
45521         (yylex): Set the "negative" member of signed numbers.
45522
45523 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
45524
45525         * doc/getdate.texi (Time of day items, Time zone items):
45526         Describe new formats +00:00, UTC+00:00.
45527
45528 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
45529
45530         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
45531         spurious "-l"s.  Problem reported by Stepan Kasal.
45532
45533 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
45534
45535         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
45536         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
45537
45538 2004-12-04  Simon Josefsson  <jas@extundo.com>
45539
45540         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
45541         Vandoorselaere <yoann@prelude-ids.org>.
45542
45543 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
45544
45545         Changes imported from coreutils.
45546         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
45547         exist.
45548         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
45549
45550 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
45551
45552         Changes imported from coreutils.
45553         * lib/hard-locale.c: Assume <locale.h> exists.
45554         Include "strdup.h".
45555         (GLIBC_VERSION): New macro.
45556         (hard_locale): Assume setlocale exists.
45557         Rewrite to avoid #ifdef.
45558         Use strdup rather than malloc + strcpy.
45559         * lib/human.c: Assume <locale.h> exists.
45560         (human_readable): Assume localeconv exists.
45561
45562 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
45563
45564         * modules/hard-locale (Depends-on): Add strdup.
45565
45566 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
45567
45568         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
45569         convert T2, not T.  (Imported from libc.)
45570
45571 2004-11-30  Simon Josefsson  <jas@extundo.com>
45572
45573         * modules/restrict (License): Change to LGPL.
45574
45575 2004-11-30  Simon Josefsson  <jas@extundo.com>
45576
45577         * m4/restrict.m4: Add copyright and copying conditions.
45578
45579 2004-11-30  Simon Josefsson  <jas@extundo.com>
45580
45581         * m4/base64.m4: New file.
45582
45583 2004-11-30  Simon Josefsson  <jas@extundo.com>
45584
45585         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
45586         base64.
45587
45588         * tests/test-base64.c: New file.
45589
45590         * modules/base64: New file.
45591
45592 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
45593
45594         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
45595         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
45596
45597         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
45598
45599 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
45600
45601         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
45602         (__getcwd.c): Don't restore errno; glibc doesn't.
45603         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
45604         first, falling back to our code only if its results look suspicious.
45605         Ensure that the resulting buffer is only as large as necessary.
45606
45607         * lib/readutmp.c: Include readutmp.h first.
45608         Include <errno.h>, since readutmp.h no longer does that.
45609         * lib/readutmp.h: Don't include <errno.h>,
45610         <sys/param.h>, <time.h>; not needed to establish interface.
45611         (errno): Remove decl.
45612         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
45613         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
45614         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
45615
45616 2004-11-28  Simon Josefsson  <jas@extundo.com>
45617
45618         * lib/base64.h, base64.c: New file.
45619
45620 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
45621
45622         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
45623
45624 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
45625
45626         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
45627         (Depends-on): Remove pathmax, same.  Add mempcpy.
45628         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
45629         (Makefile.am): Append getcwd.h to lib_SOURCES.
45630         (Include): Add getcwd.h.
45631         (Maintainer): Change from Jim Meyering to "all, glibc",
45632         since getdate now uses intended-for-glibc code.
45633         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
45634         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
45635
45636 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
45637
45638         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
45639         HP's ANSI C compiler.
45640         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
45641         Declaring int functions causes warnings on some modern systems and
45642         shouldn't be needed to compile on ancient ones.
45643         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
45644         defined.
45645
45646         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
45647         with the following changes.
45648         (__set_errno): Parenthesize properly.
45649         Include <stdbool.h>.
45650         (MIN, MAX, MATCHING_INO): New macros.
45651         (__getcwd): Define with prototype, not K&R form.
45652         Use heuristics to allocate default buffer on stack if possible.
45653         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
45654         behavior, and to avoid the PATH_MAX limit when computing
45655         ../../../../...
45656         Use MATCHING_INO to compare inode number to file.
45657         Check for arithmetic overflow in size calculations.
45658         Fix bug in reallocation of dot array that caused getcwd to fail
45659         on directories nested deeper than 75.
45660         Be more careful about saving errno on error.
45661         Do not use realloc; use only free+malloc, as this is a bit
45662         more flexible and avoids a needless copy operation.
45663         Do not inspect st_dev and st_ino for symbolic links; POSIX
45664         doesn't specify the latter.
45665         Check for closedir errors.
45666         Avoid needless casts.
45667         Use "#ifdef weak_alias" around weak_alias, to be like other
45668         glibc code.
45669         The following changes to getcwd.c have effect only when used in
45670         gnulib; they have no effect inside glibc proper.
45671         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
45672         as alloca isn't used.
45673         (alloca, __alloca): Likewise.
45674         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
45675         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
45676         unconditionally, as gnulib assumes C89 or better.
45677         Do not include <sys/param.h>.
45678         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
45679         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
45680         better.
45681         (NULL) [!defined NULL]: Remove; we assume C89 or better.
45682         Include <dirent.h> in a way that is compatible with modern Autoconf.
45683         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
45684         New macros, if not already defined.
45685         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
45686         Use "_LIBC", not "defined _LIBC", for consistency.
45687         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
45688         a mempcpy module.
45689         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
45690         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
45691         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
45692         credit only to Jim Meyering and adjust the copyright dates.
45693         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
45694         <stdlib.h>, <unistd.h>, "pathmax.h".
45695         Instead, include "xgetcwd.h" (first) and "getcwd.h".
45696         (INITIAL_BUFFER_SIZE): Remove.
45697         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
45698
45699 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
45700
45701         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
45702         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
45703         Use the _ONCE methods, for efficiency.
45704         Check for fcntl.h.  In test program, include <errno.h>
45705         and <fcntl.h> if available.  Remove old K&R cruft from
45706         test program.  Check for common errors in GNU/Linux,
45707         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
45708         don't do AC_LIBOBJ, as that's getcwd.m4's job.
45709         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
45710         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
45711         name accordingly.
45712         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
45713         accommodate new getcwd.c.
45714         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
45715         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
45716         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
45717         that's all we need now.
45718
45719 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45720
45721         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
45722         argp-parse.c depends on getopt internals, that means we should
45723         always use our getopt, to be on the safe side.
45724         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
45725         order not to spoil the result of an eventual previous invocation
45726         of gl_GETOPT_SUBSTITUTE.
45727
45728 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45729
45730         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
45731         redefinition warnings. To avoid them, include the defines
45732         in `#if !defined __need_getopt ... #endif'. The only place
45733         where __getopt_argv_const is used is in definitions
45734         of getopt_long and getopt_long_only below, which are as well
45735         protected by `#ifndef __need_getopt'.
45736         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
45737         __need_getopt after including <stdio.h> and <unistd.h> These
45738         headers might have defined it.
45739
45740 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
45741
45742         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
45743
45744 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
45745
45746         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
45747         (futimens): New function, which uses futimes if available.
45748         (futimens, utimens): Support timespec==NULL, with same semantics
45749         as utime and utimens.
45750         * lib/utimens.h (futimens): New decl.
45751
45752 2004-11-23  Jim Meyering  <jim@meyering.net>
45753
45754         * lib/getopt_.h: Remove trailing blanks.
45755
45756 2004-11-23  Jim Meyering  <jim@meyering.net>
45757
45758         * lib/__fpending.c: Add comment.
45759
45760 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
45761
45762         * modules/canonicalize (Depends-on): Add xreadlink.
45763         Problem reported by James Youngman.
45764
45765 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
45766
45767         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
45768         New macros.
45769         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
45770         optopt): Use them instead of invoking ## directly; otherwise, the
45771         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
45772
45773 2004-11-19  Bruno Haible  <bruno@clisp.org>
45774
45775         * lib/strtok_r.c: Move comments from here...
45776         * lib/strtok_r.h: ... to here.
45777
45778 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
45779
45780         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
45781         implementations that mishandle size_t overflow.
45782
45783 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
45784
45785         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
45786         might fail.  Problem reported by Yoann Vandoorselaere.
45787         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
45788         implementations that mishandle size_t overflow.
45789
45790 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
45791
45792         * modules/canon-host (Depends-on): Add strdup.
45793
45794 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
45795
45796         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
45797
45798 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
45799
45800         * lib/canon-host.c: Include "strdup.h".
45801         (canon_host): Use getaddrinfo if available, so that IPv6 works.
45802         Use strdup instead of malloc/strcpy to duplicate strings.
45803
45804         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
45805         (human_space_before_unit): New constant.
45806         * lib/human.c (human_readable): Support it.
45807
45808         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
45809         (xgetcwd): Set errno correctly when failing.
45810         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
45811         the failure is actually due to a PATH_MAX problem.
45812
45813         Further getopt changes to make it more likely that glibc will
45814         buy the changes back.
45815         * lib/getopt.c (POSIXLY_CORRECT): New constant.
45816         (getopt): Use it, so to preserve glibc semantic
45817         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
45818         when compiling for libc.
45819         * lib/getopt_.h (__getopt_argv_const): Bring it back.
45820         (getopt_long, getopt_long_only): Use it.
45821
45822         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
45823         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
45824         (getopt): Argv is now char * const *, as per standard.
45825         (_getopt_internal_r, _getopt_internal): Argv is now char **,
45826         not char *__getopt_argv_const *.
45827         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
45828         _getopt_long_only_r): Likewise.
45829         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
45830         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
45831         _getopt_long_r, _getopt_long_only_r): Likewise.
45832         * lib/getopt_.h (__getopt_argv_const): Remove.
45833         (getopt): Argv is now char * const *, as per standard.
45834
45835         * lib/getdate.y (tORDINAL): New token.
45836         (day, relunit): Allow it for relative times.
45837         (relative_time_table): Use tORDINAL for ordinals.
45838
45839 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
45840
45841         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
45842         Document that "second" isn't allowed as an ordinal number.
45843
45844 2004-11-16  Jim Meyering  <jim@meyering.net>
45845
45846         * modules/closeout (Depends-on): Add fpending.
45847
45848 2004-11-15  Jim Meyering  <jim@meyering.net>
45849
45850         * lib/closeout.c: Include "__fpending.h" once again.
45851         Include <stdbool.h>.
45852         (close_stdout): Don't fail just because stdout was closed initially,
45853         since some programs don't write to stdout in the normal course of
45854         operation (other than --version and --help), and we don't want this
45855         function to make e.g. `touch file >&-' fail.
45856         But do fail if it was closed and someone has tried to write to it.
45857         E.g., `printf foo >&-' must fail.
45858
45859 2004-11-13  Jim Meyering  <jim@meyering.net>
45860
45861         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
45862
45863 2004-11-12  Simon Josefsson  <jas@extundo.com>
45864
45865         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
45866         small doc fix is still pending.
45867
45868 2004-11-11  Simon Josefsson  <jas@extundo.com>
45869
45870         * modules/strtok_r: New file.
45871
45872         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45873         strtok_r.
45874
45875 2004-11-11  Simon Josefsson  <jas@extundo.com>
45876
45877         * m4/strtok_r.m4: New file.
45878
45879         * m4/getopt.m4: Replace opterr.
45880
45881 2004-11-11  Simon Josefsson  <jas@extundo.com>
45882
45883         * lib/strtok_r.h, strtok_r.c: New file.
45884
45885 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
45886
45887         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
45888         of replacing opterr, getopt, etc.  This should handle the
45889         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
45890
45891 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
45892
45893         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
45894         we can stop lying to compilers about the constness of argv when we
45895         are compiled outside glibc.
45896         (getopt, getopt_long, getopt_long_only): Use it.
45897         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
45898         _getopt_internal, getopt): Likewise.
45899         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
45900         _getopt_long_only_r): Likewise.
45901         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
45902         _getopt_long_r, _getopt_long_only_r): Likewise.
45903
45904         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
45905         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
45906         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
45907         the other external symbols.
45908         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
45909         declaration, since the above renaming now works around collisions.
45910
45911 2004-11-11  Jim Meyering  <jim@meyering.net>
45912
45913         * lib/linebreak.c: Remove trailing blanks.
45914         * lib/alloca_.h: Likewise.
45915         * lib/acosl.c: Likewise.
45916         * lib/euidaccess.c: Likewise.
45917         * lib/allocsa.h: Likewise.
45918
45919 2004-11-10  Simon Josefsson  <jas@extundo.com>
45920
45921         * m4/getaddrinfo.m4: New file.
45922
45923 2004-11-10  Simon Josefsson  <jas@extundo.com>
45924
45925         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
45926
45927 2004-11-10  Simon Josefsson  <jas@extundo.com>
45928
45929         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45930         getaddrinfo.
45931
45932         * modules/getaddrinfo: New file.
45933
45934 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
45935
45936         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
45937
45938 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
45939
45940         * lib/mktime.c (SHR): New macro, which is a portable
45941         substitute for >> that should work even on Crays.
45942         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
45943         Problem reported by Mark D. Baushke in
45944         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
45945         * lib/getdate.y (SHR): Likewise.
45946         (tm_diff): Use it.
45947         * lib/strftime.c (SHR): Likewise.
45948         (tm_diff): Use it.
45949         * lib/quotearg.c (struct quoting_options): Use unsigned int for
45950         quote_these_too, so that right shifts are well defined.  All uses
45951         changed.
45952
45953 2004-11-10  Jim Meyering  <jim@meyering.net>
45954
45955         Ensure that no close failure goes unreported.
45956         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
45957         return early when it seems there's nothing to flush.
45958         Don't include __fpending.h.
45959
45960 2004-11-10  Jim Meyering  <jim@meyering.net>
45961
45962         * modules/closeout (Depends-on): Remove fpending.
45963
45964 2004-11-10  Jim Meyering  <jim@meyering.net>
45965
45966         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
45967
45968 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
45969
45970         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
45971         gl_FUNC_STRFTIME.
45972         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
45973         and AC_REQUIRE when possible, to avoid duplicate checks.
45974         Check for <wchar.h>.
45975
45976 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
45977
45978         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
45979
45980 2004-11-09  Bruno Haible  <bruno@clisp.org>
45981
45982         * m4/sockpfaf.m4: New file.
45983
45984 2004-11-05  Bruno Haible  <bruno@clisp.org>
45985
45986         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
45987         Reported by Mark D. Baushke <mdb@cvshome.org>.
45988
45989 2004-11-04  Bruno Haible  <bruno@clisp.org>
45990
45991         2004-09-11  Bruno Haible  <bruno@clisp.org>
45992                 * allocsa.valgrind: New file.
45993         2004-02-06  Bruno Haible  <bruno@clisp.org>
45994                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
45995                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
45996                 Reported by Christopher Seip <chris.seip@hp.com>.
45997
45998 2004-11-04  Bruno Haible  <bruno@clisp.org>
45999
46000         * modules/allocsa (Files): Add lib/allocsa.valgrind.
46001         (Makefile.am): Distribute it.
46002
46003 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
46004
46005         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
46006         with errno == ERANGE if the buffer is too small.
46007         Problem reported by Mark D. Baushke.
46008
46009 2004-11-03  Albert Chin  <china@thewrittenword.com>
46010             Paul Eggert  <eggert@cs.ucla.edu>
46011
46012         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
46013         equivalent, substitute $ac_type for equivalent type rather than
46014         blindly using uint32_t *always* which won't work if uint32_t is not
46015         available.  Define _UINT32_T to work around typedef of uint32_t if
46016         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
46017         2.5.1.
46018
46019 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
46020
46021         * m4/jm-macros.m4: Sync from coreutils.
46022         (gl_MACROS): Check for mbrlen, for pathchk.
46023         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
46024
46025 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
46026
46027         * lib/xreadlink.c (MAXSIZE): New macro.
46028         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
46029         size does not exceed MAXSIZE.  Avoid cast.
46030         As suggested by Mark D. Baushke in
46031         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
46032         if readlink fails with buffer size just under MAXSIZE, try again
46033         with MAXSIZE.
46034
46035 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
46036
46037         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
46038
46039 2004-11-02  Derek R. Price  <derek@ximbiot.com>
46040         and  Paul Eggert  <eggert@cs.ucla.edu>
46041
46042         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
46043         (get_date): Overparenthesize to avoid GCC warning.
46044
46045 2004-11-02  Bruno Haible  <bruno@clisp.org>
46046
46047         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
46048         returns void.
46049
46050 2004-11-02  Bruno Haible  <bruno@clisp.org>
46051
46052         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
46053         function returns void.
46054
46055 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46056
46057         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
46058         fflush_unlocked, flockfile, funlockfile, funlockfile,
46059         fputs_unlocked, putc_unlocked.
46060
46061 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46062
46063         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
46064         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
46065         already declared.
46066
46067 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46068
46069         * modules/getdate (Files): Add doc/getdate.texi.
46070         (Depends-on): Add setenv, xalloc.
46071
46072 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46073
46074         * lib/getdate.y: Add support for TZ="foo" within a date string.
46075         Fix some bugs near time_t boundaries.  Reject dates with
46076         out-of-range components, e.g., "Sept 31".
46077         Include <stdlib.h>, "setenv.h", "xalloc.h".
46078         (ISDIGIT_LOCALE): Remove; unused.
46079         Note that the TZ and time functions used here are not reentrant.
46080         (mktime_ok, get_tz): New functions.
46081         (TZBUFSIZE): New constant.
46082         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
46083         This requires that we sometimes generate our own TZ="XXX..." setting.
46084
46085 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46086
46087         * doc/getdate.texi: New file, from coreutils with modifications for
46088         the new TZ parsing.
46089
46090 2004-10-27  Derek R. Price  <derek@ximbiot.com>
46091
46092         * lib/mktime.c (not_equal_tm): Remove redundant check.
46093
46094 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
46095
46096         * modules/regex (lib_SOURCES): Add regex.c.
46097         Reported by James Youngman in
46098         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
46099
46100 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
46101
46102         * lib/getdate.y: Use Bison 1.875 features, and some minor
46103         code cleanups.  This change does not affect semantics.
46104         Don't include <stdlib.h>; no longer needed.
46105         Don't include unlocked-io.h; only the "#if TEST" code uses
46106         stdio, and performance isn't crucial there.
46107         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
46108         Bison 1.875 features as described below.
46109         All uses of "PC." replaced by "pc->".
46110         (YYSTYPE): Add a forward declaration.
46111         (yylex, yyerror): Use full prototypes in forward decls.
46112         Use "%pure-parser" rather than obsolescent "%pure_parser".
46113         Use %parse-param and %lex-param instead of obsolescent
46114         YYPARSE_PARAM and YYLEX_PARAM.
46115         (meridian_table, month_and_day_table, time_units_table,
46116         relative_time_table, time_zone_table, military_table,
46117         lookup_zone, lookup_word, get_date):
46118         Use NULL instead of 0 where appropriate.
46119         (to_hour): Avoid abort (), to avoid a dependency on
46120         stdlib.h.
46121         (yyerror, yylex): Now accepts parser_control * arg.
46122         (main) [TEST]: Use '\0' rather than 0 for char.
46123
46124 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
46125
46126         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
46127
46128 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
46129
46130         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
46131         It's now the caller's responsibility to handle the case where
46132         !HAVE_GETPAGESIZE && !defined getpagesize.
46133
46134         * lib/mktime.c (leapyear): Arg is long int, not int.
46135
46136 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
46137
46138         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
46139
46140 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
46141
46142         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
46143         missing.  Problem reported by James Youngman.
46144
46145 2004-10-16  Simon Josefsson  <jas@extundo.com>
46146
46147         * gnulib-tool: Fix comments.  Fix parse problem.
46148         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
46149
46150 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
46151
46152         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
46153         implementation of getopt_long.  Problem reported by Alexander Taler in:
46154         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
46155
46156 2004-10-15  Bruno Haible  <bruno@clisp.org>
46157
46158         * gnulib-tool: Untabify. Initialize supplied_libname.
46159         (func_usage): More homogenous output.
46160         (func_modules_transitive_closure, func_modules_to_filelist,
46161         func_emit_lib_Makefile_am): New functions.
46162         (func_import): New function, extracted from big case statement. Use
46163         func_get_license, func_modules_transitive_closure,
46164         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
46165         opt_lgpl. Don't use test -a, as it's not portable.
46166         (func_create_testdir): Use func_modules_transitive_closure,
46167         func_modules_to_filelist, func_emit_lib_Makefile_am.
46168
46169 2004-10-15  Bruno Haible  <bruno@clisp.org>
46170
46171         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
46172
46173 2004-10-15  Bruno Haible  <bruno@clisp.org>
46174
46175         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
46176         the portions belonging to each module.
46177         Suggested by Derek Robert Price <derek@ximbiot.com>.
46178
46179 2004-10-12  Simon Josefsson  <jas@extundo.com>
46180
46181         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
46182         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
46183         to real functions.
46184
46185 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46186
46187         * modules/vsnprintf: New file.
46188
46189 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46190
46191         * m4/vsnprintf.m4: New file.
46192
46193 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46194
46195         * lib/vsnprintf.h: New file.
46196         * lib/vsnprintf.c: New file.
46197
46198 2004-10-11  Bruno Haible  <bruno@clisp.org>
46199
46200         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
46201         vsnprintf.
46202
46203 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46204
46205         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
46206
46207 2004-10-07  Bruno Haible  <bruno@clisp.org>
46208
46209         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
46210         fits into the provided buffer.
46211
46212 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
46213
46214         * lib/diacrit.c, diacrit.h: Add GPL notice.
46215
46216         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
46217         notice.
46218         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
46219         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
46220         This avoids a potential constant-folding bug.
46221
46222 2004-10-05  Bruno Haible  <bruno@clisp.org>
46223
46224         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
46225         for the declaration of strsep.
46226
46227 2004-10-05  Bruno Haible  <bruno@clisp.org>
46228
46229         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
46230
46231 2004-10-04  Simon Josefsson  <jas@extundo.com>
46232
46233         * modules/memmem: New file.
46234         * tests/test-memmem.c: New file.
46235         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
46236
46237 2004-10-04  Simon Josefsson  <jas@extundo.com>
46238
46239         * m4/memmem.m4: New file.
46240
46241 2004-10-04  Simon Josefsson  <jas@extundo.com>
46242
46243         * lib/memmem.h: New file.
46244         * lib/memmem.c: New file, taken from glibc.
46245
46246 2004-10-04  Simon Josefsson  <jas@extundo.com>
46247
46248         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
46249         '#ifdef USE_UNLOCKED_IO'.
46250
46251 2004-10-04  Simon Josefsson  <jas@extundo.com>
46252
46253         * config/srclist.txt: Add memmem from glibc.
46254
46255 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
46256
46257         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
46258
46259         * modules/argmatch, modules/argp, modules/closeout, modules/error,
46260         modules/exclude, modules/getdate, modules/getline,
46261         modules/getndelim2, modules/getpass, modules/getpass-gnu,
46262         modules/getusershell, modules/linebuffer, modules/md5,
46263         modules/mountlist, modules/posixtm, modules/readtokens,
46264         modules/readutmp, modules/regex, modules/sha1,
46265         modules/version-etc, modules/yesno:
46266         Remove dependency on unlocked-io.
46267
46268 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
46269
46270         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
46271
46272         * m4/unlocked-io.m4: Add copyright notice.
46273         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
46274
46275 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
46276
46277         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
46278         * lib/xmalloc.c (xmemdup): Likewise.
46279         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
46280         XFREE): Remove these long-obsolescent macros.
46281         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
46282         * lib/xstrdup.c: Remove.
46283
46284         * lib/regex.c (re_comp): Cast gettext return value to char *,
46285         Problem reported by Martin Neitzel via Mark D. Baushke.
46286
46287 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
46288
46289         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
46290         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
46291         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
46292         regex.c, sha1.c, version-etc.c, yesno.c:
46293         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
46294         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
46295         the includer's responsibility.
46296
46297         Sync from coreutils.
46298
46299         * lib/modechange.c (mode_compile): Don't decrement a pointer that
46300         points to the start of a string, as the C Standard says the
46301         resulting behavior is undefined.
46302
46303         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
46304         simple -> simple_backups, numbered_existing ->
46305         numbered_existing_backups, numbered -> numbered_backups
46306         to avoid shadowing problems.  All uses changed.
46307         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
46308         * lib/backupfile.c (check_extension, numbered_backup):
46309         Rename locals to avoid shadowing 'basename'.
46310         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
46311         once.
46312
46313         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
46314         * lib/.cvsignore: Add getopt.h.
46315
46316 2004-10-04  Bruno Haible  <bruno@clisp.org>
46317
46318         * modules/README: New file.
46319         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
46320         not a module.
46321
46322 2004-10-02  Jim Meyering  <jim@meyering.net>
46323
46324         * lib/dirfd.h, getpagesize.h: Add copyright notice.
46325
46326 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46327
46328         * modules/strsep: New file.
46329
46330 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46331
46332         * m4/strsep.m4: New file.
46333
46334 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46335
46336         * lib/strsep.h: New file.
46337         * lib/strsep.c: New file.
46338
46339 2004-10-01  Simon Josefsson  <jas@extundo.com>
46340
46341         * lib/snprintf.c (snprintf): Handle size==0.
46342
46343 2004-10-01  Simon Josefsson  <jas@extundo.com>
46344             Bruno Haible  <bruno@clisp.org>
46345
46346         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
46347         (snprintf): Declare 'args'.
46348
46349 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
46350
46351         * lib/snprintf.c: Remove comments as to why each header is needed.
46352
46353 2004-10-01  Bruno Haible  <bruno@clisp.org>
46354
46355         * MODULES.html.sh: Add strsep.
46356
46357 2004-09-30  Simon Josefsson  <jas@extundo.com>
46358
46359         * modules/snprintf: New file.
46360
46361 2004-09-30  Simon Josefsson  <jas@extundo.com>
46362
46363         * m4/snprintf.m4: New file.
46364
46365 2004-09-30  Simon Josefsson  <jas@extundo.com>
46366
46367         * lib/snprintf.h, lib/snprintf.c: New files.
46368
46369 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
46370
46371         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
46372         (hol_entry_help): Never translate an empty string.
46373         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
46374         * lib/argp.h (OPTION_NO_TRANS): New option.
46375
46376 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
46377
46378         * modules/argp (Maintainer): Replace Simon Josefsson
46379         by Sergey Poznyakoff.
46380
46381 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
46382
46383         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
46384         changes merged back into glibc.
46385
46386 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
46387
46388         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
46389
46390 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
46391
46392         * lib/xvasprintf.c: Include xalloc.h.
46393         (xvasprintf): Use xalloc_die, not xmalloc_die.
46394
46395 2004-09-29  Bruno Haible  <bruno@clisp.org>
46396
46397         * modules/alloca-opt: New file, derived from modules/alloca.
46398         * modules/allocsa: Depend on alloca-opt instead of alloca.
46399         * modules/setenv: Likewise.
46400         * modules/vasnprintf: Likewise.
46401         * MODULES.html.sh: Add alloca-opt.
46402
46403 2004-09-28  Simon Josefsson  <jas@extundo.com>
46404
46405         * gnulib-tool: New parameter --lgpl, to asseert that modules are
46406         LGPL, and to replace license template from GPL to LGPL.
46407
46408 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
46409
46410         * modules/dummy: Change license to LGPL.
46411
46412 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
46413
46414         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
46415
46416 2004-09-24  Simon Josefsson  <jas@extundo.com>
46417
46418         * modules/minmax (License): Change from GPL to LGPL.
46419
46420 2004-09-23  Simon Josefsson  <jas@extundo.com>
46421
46422         * gnulib-tool (--import): Typo.
46423
46424 2004-09-23  Simon Josefsson  <jas@extundo.com>
46425
46426         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
46427
46428 2004-09-22  Bruno Haible  <bruno@clisp.org>
46429
46430         * modules/*: Add 'License' field.
46431         * gnulib-tool: Accept --extract-license option.
46432         (func_get_license): New function.
46433
46434 2004-09-21  Bruno Haible  <bruno@clisp.org>
46435
46436         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
46437         Reported by Simon Josefsson.
46438
46439 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
46440
46441         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
46442         gl_AC_TYPE_LONG_LONG.
46443
46444 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
46445
46446         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
46447
46448 2004-09-18  Simon Josefsson  <jas@extundo.com>
46449         and  Paul Eggert  <eggert@cs.ucla.edu>
46450
46451         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
46452         calls with autoreconf.  Define GL_LIB.
46453
46454 2004-09-14  Karl Berry  <karl@gnu.org>
46455
46456         * config/srclist.txt: unsync setenv.c, sigh.
46457
46458 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
46459
46460         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
46461         Problem reported by Bruno Haible in:
46462         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
46463
46464 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
46465
46466         * config/srclist.txt: Comment out argp-pvh.c.
46467
46468 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
46469
46470         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
46471         in case some system header has #define'd it.  Problem reported by
46472         Soeren D. Schulze in
46473         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
46474
46475 2004-09-09  Karl Berry  <karl@gnu.org>
46476
46477         * regex.[ch]: delete from the root.  These were supposed to be
46478                 synced with emacs cvs, but this has not happened for about
46479                 a year, and anyway nothing else uses emacs regex.[ch].
46480                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
46481                 lib/regex[.ch] is untouched.
46482
46483 2004-09-09  Bruno Haible  <bruno@clisp.org>
46484
46485         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
46486
46487 2004-09-09  Bruno Haible  <bruno@clisp.org>
46488
46489         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
46490         modifications.
46491         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
46492
46493 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
46494
46495         * modules/xvasprintf: New file.
46496         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
46497
46498 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
46499
46500         * lib/xvasprintf.h: New file.
46501         * lib/xvasprintf.c: New file.
46502         * lib/xasprintf.c: New file.
46503
46504 2004-09-08  Bruno Haible  <bruno@clisp.org>
46505
46506         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
46507
46508 2004-09-08  Bruno Haible  <bruno@clisp.org>
46509
46510         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
46511         length is > INT_MAX.
46512         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
46513         more.
46514
46515 2004-09-08  Bruno Haible  <bruno@clisp.org>
46516
46517         * lib/stdint_.h: New file, taken from GNU clisp.
46518
46519 2004-09-08  Bruno Haible  <bruno@clisp.org>
46520             Oskar Liljeblad  <oskar@osk.mine.nu>
46521
46522         * modules/stdint: New file.
46523         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
46524
46525 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46526
46527         Import from coreutils.
46528         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
46529         strings on unbounded length.  alloca's performance benefits aren't
46530         that important here.
46531         (V_STRDUP): Remove.
46532         (parse_with_separator): New function, with most of the internals
46533         of the old parse_user_spec.  Allow user to omit both user and group,
46534         for compatibility with FreeBSD.
46535         Clone only the user name, not the entire spec.
46536         Do not set *uid, *gid unless entirely successful.
46537         Avoid memory leak in some failing cases.
46538         Fix regression for USER.GROUP reported by Dmitry V. Levin in
46539         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
46540         (parse_user_spec): Rewrite to use parse_with_separator.
46541
46542 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46543
46544         * modules/userspec: Don't depend on alloca.
46545
46546 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46547
46548         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
46549
46550 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
46551
46552         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
46553         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
46554         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
46555
46556 2004-08-16  Simon Josefsson  <jas@extundo.com>
46557
46558         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
46559         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
46560         Add --dry-run for --import.
46561         Let user provided command line parameters override configure.ac
46562         settings.
46563
46564 2004-08-12  Simon Josefsson  <jas@extundo.com>
46565
46566         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
46567         as discussed with Paul Eggert in threads rooted at
46568         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
46569         and
46570         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
46571         Before, the test was empty, and relied on ELIDE_CODE in source
46572         code.)
46573         (gl_PREREQ_GETOPT): New macro.
46574         (gl_GETOPT): Use them.
46575
46576 2004-08-12  Simon Josefsson  <jas@extundo.com>
46577
46578         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
46579         * lib/getopt_.h: Renamed from getopt.h.
46580
46581 2004-08-12  Simon Josefsson  <jas@extundo.com>
46582
46583         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
46584         Change default library name from libfoo to libgnu.
46585         Now, if you have a configure.ac that says:
46586                 gl_SOURCE_BASE(gl)
46587                 gl_M4_BASE(gl/m4)
46588                 gl_MODULES(error getopt etcetera)
46589                 gl_INIT
46590         you can import all you need by running:
46591                 ../gnulib/gnulib-tool --import
46592
46593         * modules/getopt (Files): Rename getopt.h to getopt_.h.
46594         (Makefile.am): Rewrite, use logic from argz.
46595         (Include): Use <getopt.h> instead of "getopt.h".
46596
46597 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
46598
46599         * modules/argp (Files): Add m4/unlocked-io.m4.
46600         (Depends-on): Add extensions.
46601
46602 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
46603
46604         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
46605         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
46606         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
46607         Check for program_invocation_name, program_invocation_short_name,
46608         flockfile, funlockfile, features.h, _getopt_long_only_r.
46609
46610 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
46611
46612         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
46613         its complicated substitute.
46614         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
46615         and program_invocation_name.
46616         (__argp_basename) [!_LIBC]: Remove; the only use was
46617         replaced by its body.
46618         (__argp_short_program_name): Change condition from
46619         !defined __argp_short_program_name to
46620         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
46621         to match argp-namefrob.h.
46622         (__argp_failure): Don't assume strerror_r returns char *.
46623         * lib/argp-parse.c (N_): Define unconditionally.
46624         (argp_default_options): Fill out initializers with 0 to avoid
46625         gcc warnings.
46626
46627 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
46628
46629         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
46630         getopt1.c.
46631
46632 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
46633
46634         Merge from coreutils.
46635
46636         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
46637
46638         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
46639         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
46640
46641 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
46642
46643         Merge from coreutils.
46644
46645         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
46646         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
46647         for Reliant Unix 5.43.
46648
46649         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
46650         (union fooround): Use uintmax_t, not long int.
46651         The rest is a merge from libc:
46652         [defined _LIBC]: Include <shlib-compat.h>.
46653         (_obstack) [defined _LIBC]: Remove after 2.3.4.
46654
46655         * lib/settime.c (settime): Recode to avoid warning with
46656         Sun Forte C 6U2.
46657
46658         * lib/strverscmp.c: Convert to UTF-8.
46659
46660 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
46661
46662         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
46663         m4/uintmax_t.m4.
46664
46665 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
46666
46667         * modules/xalloc-die: New file.
46668         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
46669
46670         * modules/md5 (Files): Add m4/uint32_t.m4.
46671         * modules/sha1: Renamed from modules/sha.
46672         (Files):
46673         Rename lib/sha.h to lib/sha1.h.
46674         Rename lib/sha.c to lib/sha1.c.
46675         Rename m4/sha.m4 to m4/sha1.m4.
46676         (lib_SOURCES): Likewise.
46677         (configure.ac): Rename gl_SHA to gl_SHA1.
46678         (Include): sha.h -> sha1.h.
46679
46680 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
46681
46682         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
46683         * m4/sha1.m4: Renamed from sha.m4.
46684         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
46685
46686 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
46687
46688         * lib/obstack.h (obstack_empty_p):
46689         Don't assume that chunk->contents is suitably aligned.
46690         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
46691         Likewise. Problem reported by Benno in
46692         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
46693
46694         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
46695         readable.  This could be improved further but it'd take some work.
46696
46697 2004-08-08  Simon Josefsson  <jas@extundo.com>
46698
46699         * modules/xgethostname (Depends-on): Remove exit and error (not
46700         used).
46701
46702         * modules/getpass-gnu: Add getpass.h.
46703         (Depends-on): Add stdbool.
46704         * modules/getpass: Add getpass.h.
46705
46706 2004-08-08  Simon Josefsson  <jas@extundo.com>
46707
46708         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
46709         Check getpass declaration.
46710
46711 2004-08-08  Simon Josefsson  <jas@extundo.com>
46712
46713         * lib/xgethostname.c: Don't include error.h (not used).
46714
46715         * lib/getpass.h: Add.
46716         * lib/getpass.c: Include getpass.h first.
46717
46718 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
46719
46720         * lib/xalloc-die.c: New file.
46721         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
46722         All uses removed.
46723         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
46724         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
46725         xalloc-die.c.
46726         (_, N_, xalloc_die): Move to xalloc-die.c.
46727         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
46728         so that we needn't mess with xalloc_msg_memory_exhausted.
46729
46730         * lib/sha1.h: Renamed from sha.h.
46731         (SHA1_H): Renamed from _SHA_H.
46732         (sha1_ctx): Renamed from sha_ctx.
46733         (sha1_init_ctx): Renamed from sha_init_ctx.
46734         (sha1_process_block): Renamed from sha_process_block.
46735         (sha1_process_bytes): Renamed from sha_process_bytes.
46736         (sha1_finish_ctx): Renamed from sha_finish_ctx.
46737         (sha1_read_ctx): Renamed from sha_read_ctx.
46738         (sha1_stream): Renamed from sha_stream.
46739         (sha1_buffer): Renamed from sha_buffer.
46740         * lib/sha1.c: Likewise; renamed from sha.c.
46741         Do not include <sys/types.h>.
46742         Include <stddef.h> rather than <stdlib.h>.
46743
46744 2004-08-08  Bruno Haible  <bruno@clisp.org>
46745
46746         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
46747         FILESYSTEM_PREFIX_LEN.
46748         * lib/progreloc.c: Likewise.
46749         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
46750
46751 2004-08-06  Simon Josefsson  <jas@extundo.com>
46752
46753         * modules/progname (Depends-on): Don't depend on stdbool.
46754
46755 2004-08-06  Simon Josefsson  <jas@extundo.com>
46756
46757         * modules/getsubopt: New file.
46758         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46759         getsubopt.
46760
46761 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
46762
46763         More merge from coreutils.
46764
46765         * m4/utimens.m4, m4/utimecmp.m4: New files.
46766         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
46767         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
46768         prereq.m4, sha.m4: Import changes from coreutils.
46769
46770 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
46771
46772         More merge from coreutils.
46773         * modules/raise, modules/readtokens0, modules/utimens:
46774         * modules/utimecmp, module/xnanosleep: New files.
46775         * modules/strftime: Add lib/strftime.h.
46776         Change include from <time.h> to "strftime.h".
46777         * modules/yesno: Add lib/yesno.h.
46778         * modules/backupfile: Remove lib/addext.c.
46779         * modules/euidaccess: Add stat-macros.h.
46780         * modules/canonicalize, modules/euidaccess,
46781         modules/filemode, modules/lchown, modules/makepath,
46782         modules/rmdir, modules/stat: Likewise.
46783
46784 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
46785
46786         Merge from tar.
46787         * lib/argp-help.c (make_hol, hol_append): Don't assume that
46788         SIZE_MAX is a valid preprocessor constant.
46789         (__argp_basename): Change from "#ifndef _LIBC"
46790         to "#ifndef __argp_short_program_name", so that
46791         we don't compile these functions for tar.
46792
46793         More merges from coreutils.
46794         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
46795         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
46796         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
46797         * lib/addext.c: Remove; no longer needed.
46798         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
46799         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
46800         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
46801         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
46802         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
46803         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
46804         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
46805         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
46806         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
46807         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
46808         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
46809         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
46810         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
46811         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
46812         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
46813         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
46814         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
46815         Import changes from coreutils.
46816
46817 2004-08-05  Simon Josefsson  <jas@extundo.com>
46818
46819         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
46820
46821 2004-08-05  Simon Josefsson  <jas@extundo.com>
46822
46823         * m4/getsubopt.m4: New file.
46824
46825 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
46826
46827         Merge from coreutils.
46828
46829         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
46830         * m4/getcwd-path-max.m4: New files.
46831
46832         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
46833         FILESYSTEM_PREFIX_LEN ->
46834         FILE_SYSTEM_PREFIX_LEN.
46835         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
46836         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
46837         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
46838         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
46839
46840         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
46841         prerequisite modules now handle the DOS stuff.
46842         Don't check for unistd.h.
46843
46844 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
46845
46846         Merge from coreutils.
46847
46848         * lib/.gdb-history: Remove; this doesn't belong here.
46849
46850         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
46851         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
46852         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
46853         * lib/getcwd.c: New files.
46854
46855         * lib/dirname.h: Include <stdbool.h>.
46856         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
46857         for consistency with POSIX terminology.  All uses changed.
46858         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
46859         (strip_trailing_slashes): Use bool for booleans.
46860         * lib/stripslash.c (strip_trailing_slashes): Likewise.
46861
46862         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
46863         sometimes returns a positive errno value even when it succeeds.
46864         (print_errno_message) [!LIBC]: Fall back on strerror if
46865         __strerror_r fails.
46866
46867         * lib/path-concat.c (mempcpy): Don't define if a system header defines
46868         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
46869         (longest_relative_suffix): New function.
46870         (path_concat): Use it.  Assume first argument is not NULL.
46871         Port to DOS.  Omit redundant separators.
46872         Report an error instead of returning NULL.
46873         Use mempcpy instead of memcpy.
46874         (xpath_concat): Remove: not declared or used.
46875
46876         * lib/same.h: Include <stdbool.h>
46877         (same_name): Return bool, not int.
46878         * lib/same.c (same_name): Likewise.
46879         (errno): Don't declare; we assume C89 or better now.
46880
46881         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
46882         if not already defined.
46883
46884         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
46885         * lib/dup-safer.c (errno): Likewise.
46886
46887 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
46888
46889         Merge from coreutils.
46890         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
46891         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
46892         * modules/path-concat: Don't depend on strdup.
46893
46894 2004-08-03  Simon Josefsson  <jas@extundo.com>
46895
46896         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
46897         * lib/progname.h: Don't include stdbool.h.
46898
46899 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
46900
46901         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
46902         * MODULES.html.sh (func_all_modules): Remove fatal.
46903
46904 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
46905
46906         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
46907
46908 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
46909
46910         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
46911         working.
46912
46913 2004-08-02  Simon Josefsson  <jas@extundo.com>
46914
46915         * lib/getsubopt.h: New file, with comments from Bruno Haible.
46916         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
46917         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
46918
46919 2004-08-01  Simon Josefsson  <jas@extundo.com>
46920
46921         * lib/xgetdomainname.c: Include stdlib.h, for free().
46922
46923 2004-07-19  Bruno Haible  <bruno@clisp.org>
46924
46925         * MODULES.html.sh (func_all_modules): Add dummy.
46926
46927 2004-07-16  Simon Josefsson  <jas@extundo.com>
46928
46929         * modules/dummy: New file.
46930
46931 2004-07-16  Simon Josefsson  <jas@extundo.com>
46932
46933         * lib/dummy.c: New file.
46934
46935 2004-07-16  Bruno Haible  <bruno@clisp.org>
46936
46937         * lib/backupfile.h: Add extern "C" for C++.
46938         * lib/closeout.h: Likewise.
46939         * lib/copy-file.h: Likewise.
46940         * lib/findprog.h: Likewise.
46941         * lib/full-write.h: Likewise.
46942         * lib/pathname.h: Likewise.
46943         * lib/progname.h: Likewise.
46944         * lib/stpcpy.h: Likewise.
46945         * lib/stpncpy.h: Likewise.
46946         * lib/strcase.h: Likewise.
46947         * lib/strstr.h: Likewise.
46948         * lib/xalloc.h: Likewise.
46949
46950         * lib/mbswidth.h: Add extern "C" for C++.
46951         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
46952
46953 2004-07-13  Robert Millan  <robertmh@gnu.org>
46954
46955         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
46956
46957 2004-07-09  Simon Josefsson  <jas@extundo.com>
46958
46959         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
46960         failed without this.)
46961
46962 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46963
46964         * modules/chown (Files): Add lib/fchown-stub.c, since
46965         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
46966
46967 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46968
46969         * lib/fchown-stub.c: New file.
46970
46971 2004-06-24  Jim Meyering  <jim@meyering.net>
46972
46973         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
46974
46975 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
46976
46977         * modules/argz: Omit "#include".
46978
46979         * MODULES.html.sh (func_all_modules): Add calloc, to match
46980         2004-06-01 addition of calloc module.
46981
46982 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
46983
46984         * m4/argz.m4: New file, which is autoupdated from libtool.
46985
46986 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
46987
46988         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
46989         libtool.
46990
46991 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
46992
46993         * config/srclist-update: Don't insist on "USA." before the
46994         close-comment, as libtool omits the period and puts the */ on a
46995         separate line.
46996         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
46997         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
46998
46999 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
47000
47001         * modules/argz: New file.
47002         * MODULES.html.sh (func_all_modules): Add argz.
47003
47004 2004-06-12  Jim Meyering  <jim@meyering.net>
47005         and  Paul Eggert  <eggert@cs.ucla.edu>
47006
47007         * modules/hash (Files): Add lib/xalloc.h.
47008         * modules/pipe (Depends-on): Add wait-process.
47009         * modules/stat (Depends-on): Add xalloc.
47010         * modules/userspec (Files): Add lib/userspec.h.
47011         * modules/xstrto
47012
47013         Upgrade from gettext-0.13.
47014         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
47015         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
47016         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
47017
47018 2004-06-10  Jim Meyering  <jim@meyering.net>
47019
47020         * lib/calloc.c: New file.
47021
47022 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
47023
47024         * lib/getdate.y (yylex): Allow space between sign and number.
47025         Problem reported by Dan Jacobson.
47026
47027 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
47028
47029         Merge from coreutils CVS.
47030
47031         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
47032         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
47033         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
47034         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
47035         xstrtol.m4: Fix copyright date and/or serial number.
47036
47037         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
47038         See if we need an fchown replacement.
47039         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
47040         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
47041         and use the replacement function if we detect either defect.
47042
47043         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
47044         gl_UTIMECMP.
47045
47046 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
47047         and  Jim Meyering  <jim@meyering.net>
47048
47049         Merge from coreutils CVS.
47050
47051         * lib/stat-macros.h: New file, with contents from file-type.h
47052         and coreutils' system.h.
47053         * lib/file-type.c: Include "stat-macros.h".
47054         * lib/file-type.h (file_type): Move all macro definitions to new file,
47055         stat-macros.h.
47056
47057         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
47058         Wrap old code with this conditional.
47059         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
47060         function that does not dereference symlinks.
47061         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
47062
47063         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
47064         dependency problems.
47065         (xreadlink): Accept new arg SIZE, for efficiency.
47066         All decls and uses changed.
47067         * lib/xreadlink.h: Include <stddef.h>, for size_t.
47068
47069         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
47070         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
47071
47072         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
47073         sysexits.h.
47074
47075 2004-06-01  Jim Meyering  <jim@meyering.net>
47076
47077         * m4/calloc.m4: New file.
47078
47079 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
47080
47081         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
47082         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
47083         Also, fix a typo in a diagnostic.
47084
47085 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
47086
47087         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
47088         or AC_FUNC_REALLOC.
47089
47090 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
47091
47092         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
47093         macros to be defined.
47094         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
47095         the allocator returns NULL because the requested size is zero.
47096
47097 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
47098
47099         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
47100         var.  Add comment explaining why libc still defines it.  This
47101         merges the following patch from glibc:
47102         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
47103
47104 2004-05-20  Andreas Schwab  <schwab@suse.de>
47105
47106         * m4/free.m4: Replace free if it not known to work, not the other
47107         way round.
47108
47109 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47110
47111         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
47112         present in glibc since revision 1.1 of this file.
47113         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
47114         obstack_alignment_mask, obstack_alloc, obstack_base,
47115         obstack_blank, obstack_blank_fast, obstack_chunk_size,
47116         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
47117         obstack_grow0, obstack_init, obstack_int_grow,
47118         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
47119         obstack_next_free, obstack_object_size, obstack_ptr_grow,
47120         obstack_ptr_grow_fast, obstack_room): Remove declarations of
47121         nonexistent functions.
47122
47123 2004-05-18  Karl Berry  <karl@gnu.org>
47124
47125         * config/srclist.txt: break link for vasnprintf.c.
47126
47127 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
47128
47129         Port obstack to the AS/400, where pointers are 16 bytes wide and
47130         you cannot cast an integer to a valid pointer.  This patch is
47131         currently waiting to be integrated into glibc; see
47132         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
47133
47134         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
47135         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
47136         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
47137         (struct obstack): temp member is now a union of a pointer and
47138         an integer, instead of an integer.  All integer uses changed.
47139         This does not affect the physical layout of struct obstack,
47140         except on hosts (like the AS/400) where the size or alignment of
47141         void * is greater than that of ptrdiff_t.
47142         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
47143         __STDC__)]: Store temporary in pointer member of union, not
47144         integer member.
47145         * lib/obstack.c: Include <stddef.h>, for offsetof.
47146         (struct fooalign): Remove; it doesn't need a name.
47147         (union fooround): Change double to long double, and add void *.
47148         (DEFAULT_ALIGNMENT): Use offsetof to compute.
47149         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
47150         not a macro.  Hence the values are always int; so remove all
47151         casts-to-int in uses.
47152
47153 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
47154
47155         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
47156         we can get this patch merged into glibc.
47157
47158 2004-05-17  Derek R. Price  <derek@ximbiot.com>
47159             Paul Eggert  <eggert@cs.ucla.edu>
47160
47161         * m4/argp: Depend on alloca.
47162
47163 2004-05-17  Derek R. Price  <derek@ximbiot.com>
47164             Paul Eggert  <eggert@cs.ucla.edu>
47165
47166         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
47167         freecoding.
47168
47169 2004-05-17  Bruno Haible  <bruno@clisp.org>
47170
47171         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
47172         precision that consists of a '.' followed by an empty digit string.
47173         Patch by Tor Lillqvist <tml@iki.fi>.
47174
47175 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
47176
47177         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
47178         for backward compatibility with older code.  We need our own
47179         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
47180         it under some other name, and our alloca.h will define it.
47181
47182 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
47183             Derek Price  <derek@ximbiot.com>
47184
47185         * lib/alloca.c: Include <alloca.h>, to get our interface.
47186         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
47187         include <alloca.h> first.  Use C89 prototype for alloca; this
47188         requires including <stddef.h> for size_t.  Use extern "C" if C++.
47189         Use #elif for simplicity, since we can assume C89 now.
47190         Don't try to source the system alloca.h since it will not be found
47191         and to prevent recursively including its replacement.
47192         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
47193         * lib/regex.c: Likewise.
47194
47195 2004-05-16  Derek Price  <derek@ximbiot.com>
47196             Paul Eggert  <eggert@cs.ucla.edu>
47197
47198         getline cleanup.  This changes the getndelim2 API: both order of
47199         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
47200         no delimiter).
47201
47202         * lib/getline.c: Don't include stddef.h or stdio.h, since our
47203         interface does that.
47204         (getline): Always use getdelim, so that we don't have two
47205         copies of this code.
47206         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
47207         if available.
47208         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
47209         (GETNDELIM2_MAXIMUM): New macro.
47210         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
47211         instead of the old practice of delim2==0.  All callers changed.
47212         Return -1 on overflow, instead of returning junk.
47213         Do not set *linesize unless allocation succeeds.
47214         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
47215         that we include sys/types.h.
47216         * lib/getnline.h: Likewise.
47217         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
47218         (getndelim2): Reorder arguments.
47219         * lib/getnline.c (getnline, getndelim):
47220         Don't discard the NMAX argument.
47221         (getnline): Invoke getndelim, to avoid code duplication.
47222         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
47223         of (size_t) -1 by callers of the getnline family.
47224
47225 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
47226
47227         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
47228         Check for gettimeofday.
47229         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
47230         Check for settimeofday, stime.
47231
47232 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
47233
47234         * lib/nanosleep.c (suspended): Change its type from int to
47235         sig_atomic_t volatile.
47236         (first_call): Make it private to rpl_nanosleep, and have it
47237         be zero initially as that's a bit faster.
47238         (my_usleep): Round up fractional times instead of truncating them,
47239         as this is the usual meaning for 'sleep'.
47240
47241         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
47242         doesn't work.
47243         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
47244         (ENOSYS): Define if not defined.
47245         (settime): Fall back on stime if it exists and settimeofday fails.
47246         But don't bother with fallbacks if a method fails with errno == EPERM.
47247
47248 2004-05-11  Jim Meyering  <jim@meyering.net>
47249
47250         Prior to this change, the save_cwd caller required read access to the
47251         current directory on most systems (ones with the fchdir function).
47252
47253         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
47254         fails, try write-only, and finally, resort to using xgetcwd.
47255
47256 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
47257
47258         * lib/obstack.c, obstack.h: Import changes from libc.
47259
47260 2004-04-28  Bruno Haible  <bruno@clisp.org>
47261
47262         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
47263         also implicitly appends .exe to executables.
47264         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
47265         accepts Windows pathnames.
47266         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
47267         Treat Cygwin like Windows, since it now accepts Windows pathnames.
47268         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
47269         Treat Cygwin like Windows, since it now accepts Windows pathnames.
47270         Reported by Derek Robert Price <derek@ximbiot.com>.
47271
47272 2004-04-21  Karl Berry  <karl@gnu.org>
47273
47274         * config/srclist.txt (localcharset.c): break sync.
47275
47276 2004-04-20  Paul Eggert  <eggert@twinsun.com>
47277
47278         * m4/host-os.m4: Add a copyright notice.
47279
47280 2004-04-20  Jim Meyering  <jim@meyering.net>
47281
47282         Change UTILS_ to gl_ in AC_DEFINE'd names.
47283         Change utils_- and jm_-prefixed variables, too.
47284         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
47285         UTILS_FUNC_MKDIR_TRAILING_SLASH.
47286         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
47287
47288         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
47289         Don't emit trailing blanks.
47290         Also rename jm_-prefixed variables to have gl_ prefix.
47291
47292         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
47293         Also rename jm_-prefixed variables to have gl_ prefix.
47294
47295         * m4/jm-macros.m4: Reflect the renamings.
47296         * m4/prereq.m4: Likewise.
47297
47298 2004-04-20  Jim Meyering  <jim@meyering.net>
47299
47300         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
47301         memory.
47302
47303 2004-04-20  Jim Meyering  <jim@meyering.net>
47304             Bruno Haible  <bruno@clisp.org>
47305
47306         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
47307         memory when realloc fails.
47308
47309 2004-04-19  Jim Meyering  <jim@meyering.net>
47310
47311         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
47312         now that readutmp.c may call `free (0)'.
47313
47314 2004-04-19  Bruno Haible  <bruno@clisp.org>
47315
47316         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
47317         * m4/inttypes_h.m4: Likewise.
47318         * m4/stdint_h.m4: Likewise.
47319         * m4/intmax_t.m4: Likewise.
47320         * m4/uintmax_t.m4: Likewise.
47321
47322 2004-04-18  Jim Meyering  <jim@meyering.net>
47323
47324         * m4/prereq.m4: Don't forbid jm_ prefix.
47325
47326         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
47327         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
47328         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
47329         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
47330         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
47331         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
47332         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
47333         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
47334         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
47335         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
47336         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
47337         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
47338         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
47339         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
47340         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
47341         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
47342         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
47343         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
47344         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
47345
47346 2004-04-18  Jim Meyering  <jim@meyering.net>
47347
47348         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
47349         failure, don't leak memory and do call END_UTMP_ENT.
47350
47351 2004-04-16  Jim Meyering  <jim@meyering.net>
47352
47353         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
47354         coreutils' stat program.
47355         (gl_PREREQ): Don't require jm_PREREQ_STAT.
47356
47357 2004-04-11  Paul Eggert  <eggert@twinsun.com>
47358
47359         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
47360         C89.
47361         (CHAR_BIT): Remove, since we assume C89.
47362         Include <stdint.h> if available, as per current Autoconf CVS advice.
47363
47364 2004-03-31  Jim Meyering  <jim@meyering.net>
47365
47366         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
47367         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
47368         * m4/xalloc.m4: Likewise.
47369
47370 2004-03-30  Paul Eggert  <eggert@twinsun.com>
47371
47372         Merge from coreutils.
47373
47374         * m4/inttostr.m4: New file.
47375         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
47376         Require AM_STDBOOL_H and gl_TIMESPEC instead.
47377         Require gl_CLOCK_TIME.
47378         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
47379
47380 2004-03-30  Paul Eggert  <eggert@twinsun.com>
47381
47382         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
47383         not bool, to be more consistent with Unix conventions.
47384         Suggested by Bruno Haible.
47385
47386         Merge from coreutils.
47387
47388         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
47389         * lib/umaxtostr.c: New files.
47390
47391         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
47392         the usual <time.h> dance.
47393         (get_date): Change signature to support fractional time stamps.
47394         All callers changed.
47395         * lib/getdate.y: Include "getdate.h" first, as we can now
47396         assume C89 and don't need to worry about 'const'.
47397         Similarly, include "unlocked-io.h" near start, not in middle.
47398         Include <limits.h>.
47399         (textint.value): Use long int rather than int.
47400         (textint.digits): Use size_t rather than int.
47401         (BILLION, LOG10_BILLION): New constants.
47402         (parser_control): New member rel_ns.  Members day_ordinal,
47403         time_zone, month, day, hour, minutes, rel_year, rel_month,
47404         rel_day, rel_hour, rel_minutes, rel_seconds
47405         are now long int, not int.  Member seconds is now struct timespec,
47406         not int.  New member timespec_seen.  Members dates_seen, days_seen,
47407         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
47408         not int.
47409         (%union.intval): Now long int, not int.
47410         New member timespec.
47411         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
47412         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
47413         (spec): Now is a timespec or an item list.
47414         (timespec, items): New nonterminals.
47415         (time, rel, relunit, number, get_date):
47416         Add support for fractional seconds.
47417         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
47418         (gmtime, localtime, mktime): Remove decls; not needed with C89.
47419         (to_hour): First arg is now long int, not int.
47420         (to_year): Returns long int, not int.
47421         Don't treat year -70 like 70.
47422         (tm_diff): Returns long int, not int.
47423         (lookup_word): Use bool instead of int when appropriate.
47424         (yylex): Use size_t for count, not int.
47425         Detect overflow when parsing large integer constants.
47426         Add support for fractions.
47427         (get_date): Make pointers 'const' if possible.
47428         Use more-portable code to detect integer overflow.
47429         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
47430         Don't use ctime; it's not reliable if the year has >4 digits.
47431
47432         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
47433         This is for compatibility with BSD.
47434
47435         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
47436         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
47437         From coreutils' system.h.
47438
47439         * lib/userspec.c: Don't include "posixver.h".
47440         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
47441         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
47442         compatible extension.  Simplify code by removing a boolean int
47443         that was always nonzero if a string was nonnull.
47444
47445 2004-03-30  Jim Meyering  <jim@meyering.net>
47446
47447         Merge from coreutils.
47448
47449         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
47450         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
47451         on some systems one must include <grp.h> before it.
47452         Reported by Christian Krackowizer.
47453
47454 2004-03-30  Jim Meyering  <jim@meyering.net>
47455
47456         Merge from coreutils.
47457
47458         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
47459
47460         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
47461         an empty input stream.
47462
47463         * lib/readtokens.c: Include <stdbool.h>.
47464         (readtoken): Use `size_t' rather than int/long.
47465         All callers adjusted.
47466         Use `bool' rather than `int' where appropriate.
47467         Use memset rather than an explicit loop.
47468         Use x2nrealloc rather than xrealloc.
47469         Allow the use of `\0' as a delimiter.
47470         (readtokens): Likewise.
47471         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
47472
47473 2004-03-30  Jim Meyering  <jim@meyering.net>
47474
47475         * m4/realloc.m4: Remove file, since now it does no more than
47476         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
47477         the `configure.ac' section of module/realloc.
47478         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
47479
47480 2004-03-30  Bruno Haible  <bruno@clisp.org>
47481
47482         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
47483         nonnull.
47484
47485 2004-03-29  Paul Eggert  <eggert@twinsun.com>
47486
47487         Merge changes to getloadavg.c from coreutils and Emacs.
47488
47489         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
47490         Define to an expression, not to the empty string.
47491         Include cloexec.h and xalloc.h.
47492         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
47493         Use set_cloexec_flag rather than rolling our own.
47494         * lib/cloexec.c, lib/cloexec.h: New files.
47495
47496 2004-03-29  Paul Eggert  <eggert@twinsun.com>
47497
47498         * m4/cloexec.m4: New file.
47499
47500 2004-03-18  Paul Eggert  <eggert@twinsun.com>
47501
47502         * lib/getopt.h: Sync with libc CVS.
47503
47504 2004-03-18  Paul Eggert  <eggert@twinsun.com>
47505             Bruno Haible  <bruno@clisp.org>
47506
47507         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
47508         mbswidth.
47509
47510 2004-03-18  Paul Eggert  <eggert@twinsun.com>
47511             Bruno Haible  <bruno@clisp.org>
47512
47513         * lib/mbswidth.h: Include <wchar.h> only if
47514         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
47515         <wchar.h>.
47516         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
47517
47518 2004-03-09  Paul Eggert  <eggert@twinsun.com>
47519
47520         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
47521         Sync with libc CVS.
47522         * lib/getopt_int.h: New file, also synced from libc.
47523
47524 2004-03-09  Paul Eggert  <eggert@twinsun.com>
47525
47526         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
47527         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
47528         Bring back getopt.c, getopt.h, getopt1.c.
47529
47530 2004-03-07  Paul Eggert  <eggert@twinsun.com>
47531
47532         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
47533         All uses changed.  Check for sa_sigaction member; this fixes
47534         a bug first reported by Jason Andrade in
47535         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
47536
47537 2004-03-07  Paul Eggert  <eggert@twinsun.com>
47538
47539         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
47540         '#if' expressions.  Unlike the code it replaces, it does not
47541         depend on (defined _SC_PAGESIZE).  However, it does depend on
47542         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
47543         first reported by Jason Andrade in
47544         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
47545
47546 2004-02-25  Simon Josefsson  <jas@extundo.com>
47547
47548         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
47549
47550 2004-02-25  Simon Josefsson  <jas@extundo.com>
47551
47552         * lib/strdup.h: New file.
47553         * lib/strdup.c: Include it.
47554         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
47555         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
47556
47557 2004-02-23  Karl Berry  <karl@gnu.org>
47558
47559         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
47560         (from fencepost.gnu.org:/gd/gnuorg).
47561
47562 2004-02-23  Karl Berry  <karl@gnu.org>
47563
47564         * config/srclistvars.sh (GNUORG) [karl]: redefine.
47565         * config/srclist.txt: add maintain/standards documents.
47566
47567 2004-02-18  Bruno Haible  <bruno@clisp.org>
47568
47569         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
47570         Reported by Derek Robert Price <derek@ximbiot.com>.
47571
47572 2004-02-16  Karl Berry  <karl@gnu.org>
47573
47574         * config/mkinstalldirs, install-sh: update from automake.
47575
47576 2004-02-06  Karl Berry  <karl@gnu.org>
47577
47578         * m4/po.m4: update from gettext 0.14.1.
47579
47580 2004-02-06  Karl Berry  <karl@gnu.org>
47581
47582         * lib/config.charset: update from gettext 0.14.1.
47583
47584 2004-02-05  Paul Eggert  <eggert@twinsun.com>
47585
47586         Add comments and code, prompted by suggestions from Bruno Haible
47587         for sh-quote.
47588         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
47589         describing the enum quoting_style values.
47590         * lib/quotearg.c (quotearg_alloc): New function.
47591         (quotearg_buffer_restyled): Treat lone { and } as special.
47592         Treat = as special.  Work around bug with older shells
47593         that "see" a '\' that is really the 2nd byte of a multibyte char.
47594         Quote empty string with shell_quoting_style.
47595
47596 2004-02-03  Bruno Haible  <bruno@clisp.org>
47597
47598         * m4/pipe.m4: New file, from GNU gettext.
47599
47600 2004-02-03  Bruno Haible  <bruno@clisp.org>
47601
47602         * lib/pipe.h: New file, from GNU gettext.
47603         * lib/pipe.c: New file, from GNU gettext.
47604
47605 2004-01-27  Bruno Haible  <bruno@clisp.org>
47606
47607         * m4/execute.m4: New file, from GNU gettext.
47608
47609 2004-01-27  Bruno Haible  <bruno@clisp.org>
47610
47611         * lib/execute.h: New file, from GNU gettext.
47612         * lib/execute.c: New file, from GNU gettext.
47613         * lib/w32spawn.h: New file, from GNU gettext.
47614
47615 2004-01-24  Paul Eggert  <eggert@twinsun.com>
47616
47617         Merge from diffutils.
47618
47619         * lib/file-type.c (file_type): Add typed memory objects.
47620         * lib/file-type.h (S_TYPEISTMO): New macro.
47621
47622         * lib/c-stack.h (c_stack_action): Remove argv argument.
47623         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
47624         (die): Don't calculate message unless segv_action returns.
47625         (get_stack_location, min_address_from_argv, max_address_from_argv,
47626         volatile stack_base, volatile_stack_size): Remove.
47627         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
47628         that every segmentation violation is a stack overflow.  (Ouch!)
47629         See Debian bug 136249 (still outstanding) for more info about why
47630         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
47631
47632 2004-01-24  Paul Eggert  <eggert@twinsun.com>
47633
47634         Exit-status fix from coreutils.
47635
47636         Use exit_failure consistently in place of EXIT_FAILURE,
47637         so that program exit statuses are consistent on failure.
47638
47639         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
47640         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
47641         * lib/argmatch.h: Comment fix to match the above.
47642         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
47643         Now a macro referring to exit_failure, instead of a separate
47644         variable.  Include "exitfail.h" to get it.
47645         * lib/xstrtol.h: Include "exitfail.h".
47646         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
47647
47648         * lib/long-options.c (parse_long_options): Use prototype
47649         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
47650         for clarity.
47651
47652 2004-01-21  Jim Meyering  <jim@meyering.net>
47653
47654         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
47655         so as not to conflict with a different-sized __mktime_internal
47656         function in GNU libc.
47657         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
47658         Problem building statically-linked `ls' reported by Michael Brunnbauer.
47659
47660 2004-01-20  Karl Berry  <karl@gnu.org>
47661
47662         * config/config.guess: update from config.
47663
47664         * config/srclistvars.sh: GNUWWWLICENSES for karl.
47665
47666 2004-01-20  Bruno Haible  <bruno@clisp.org>
47667
47668         Safer stack allocation.
47669         * lib/setenv.c: Include allocsa.h.
47670         (alloca): Remove fallback definition.
47671         (freea): Remove macro.
47672         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
47673         instead of freea.
47674
47675 2004-01-20  Bruno Haible  <bruno@clisp.org>
47676
47677         * m4/eealloc.m4: New file, from GNU gettext.
47678
47679 2004-01-20  Bruno Haible  <bruno@clisp.org>
47680
47681         * m4/allocsa.m4: New file, from GNU gettext.
47682
47683 2004-01-20  Bruno Haible  <bruno@clisp.org>
47684
47685         * lib/xallocsa.h: New file, from GNU gettext.
47686         * lib/xallocsa.c: New file, from GNU gettext.
47687
47688 2004-01-20  Bruno Haible  <bruno@clisp.org>
47689
47690         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
47691
47692 2004-01-20  Bruno Haible  <bruno@clisp.org>
47693
47694         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
47695         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
47696         specially.
47697
47698 2004-01-20  Bruno Haible  <bruno@clisp.org>
47699
47700         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
47701         patch.
47702
47703 2004-01-20  Bruno Haible  <bruno@clisp.org>
47704
47705         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
47706
47707 2004-01-20  Bruno Haible  <bruno@clisp.org>
47708
47709         * lib/eealloc.h: New file.
47710
47711 2004-01-20  Bruno Haible  <bruno@clisp.org>
47712
47713         * lib/binary-io.h: Avoid warnings on Cygwin.
47714
47715 2004-01-20  Bruno Haible  <bruno@clisp.org>
47716
47717         * lib/allocsa.h: New file, from GNU gettext.
47718         * lib/allocsa.c: New file, from GNU gettext.
47719
47720 2004-01-18  Karl Berry  <karl@gnu.org>
47721
47722         * doc/gpl.texi, doc/lgpl.texi: new files.
47723
47724 2004-01-18  Karl Berry  <karl@gnu.org>
47725
47726         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
47727         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
47728
47729 2004-01-15  Paul Eggert  <eggert@twinsun.com>
47730
47731         Merge from coreutils.
47732
47733         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
47734         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
47735         (gl_DEFAULT_POSIX2_VERSION): Move
47736         the documentation from 'configure' into 'config.hin',
47737         so that 'configure --help' isn't burdened by it and
47738         we don't have to worry about its formatting there.
47739         Reword the documentation so that it's more succinct
47740         and can be run together into a single paragraph.
47741         * m4/same.m4 (gl_SAME): Check for pathconf.
47742
47743 2004-01-15  Paul Eggert  <eggert@twinsun.com>
47744
47745         Merge from coreutils.
47746
47747         * lib/posixver.c: Include posixver.h.
47748
47749         * lib/same.c: Include <stdbool.h>, <limits.h>.
47750         (_POSIX_NAME_MAX): Define if not defined.
47751         (MIN): New macro.
47752         (same_name): If file names are silently truncated, report
47753         that the file names are the same if they are the same after
47754         the silent truncation.
47755
47756         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
47757         conversion function.
47758         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
47759         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
47760         longer needed.
47761
47762 2004-01-15  Jim Meyering  <jim@meyering.net>
47763
47764         Merge from coreutils.
47765
47766         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
47767         if no library is required.
47768         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
47769         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
47770         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
47771         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
47772         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
47773         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
47774         value, $ac_cv_search_crypt, if it's "none required".
47775         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
47776         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
47777         not gl_FUNC_GETLOADAVG.
47778         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
47779         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
47780
47781 2004-01-15  Jim Meyering  <jim@meyering.net>
47782
47783         Merge from coreutils.
47784
47785         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
47786         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
47787         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
47788
47789         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
47790         optional configure-time default.
47791
47792         * lib/version-etc.c (version_etc_copyright): Update copyright date.
47793
47794         * lib/xreadlink.c (xreadlink): Correct outdated comment.
47795
47796 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
47797
47798         Merge from coreutils.
47799
47800         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
47801         value, $ac_cv_search_nanosleep, if it's "none required".
47802
47803 2004-01-14  Paul Eggert  <eggert@twinsun.com>
47804
47805         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
47806         with like-named macro in fnmatch.c.
47807         (EXT): Use an internal constant instead.
47808
47809         Merge fnmatch patches from glibc.
47810         * lib/fnmatch.c (mbsinit): Remove define.
47811         Add libc_hidden_ver (__fnmatch, fnmatch).
47812         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
47813         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
47814
47815 2004-01-14  Karl Berry  <karl@gnu.org>
47816
47817         * config/install-sh: update from automake.
47818
47819 2004-01-13  Karl Berry  <karl@gnu.org>
47820
47821         * config/install-sh: update from automake.
47822
47823 2004-01-09  Karl Berry  <karl@gnu.org>
47824
47825         * config/install-sh: update from automake.
47826
47827 2004-01-05  Karl Berry  <karl@gnu.org>
47828
47829         * config/config.{sub,guess}: update from config.
47830
47831 2003-12-31  Karl Berry  <karl@gnu.org>
47832
47833         * config/depcomp: update from automake.
47834
47835 2003-12-14  Karl Berry  <karl@gnu.org>
47836
47837         * lib/config.charset: update from gettext-runtime.
47838
47839 2003-12-03  Paul Eggert  <eggert@twinsun.com>
47840
47841         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
47842         Bug reported by Alfred M. Szmidt.
47843
47844 2003-12-03  Bruno Haible  <bruno@clisp.org>
47845
47846         * m4/gettext.m4: Upgrade from gettext-0.13.
47847         * m4/po.m4: Upgrade from gettext-0.13.
47848         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
47849         * m4/intmax.m4: New file, from gettext-0.13.
47850         * m4/printf-posix.m4: New file, from gettext-0.13.
47851
47852 2003-11-29  Karl Berry  <karl@gnu.org>
47853
47854         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
47855
47856 2003-11-25  Paul Eggert  <eggert@twinsun.com>
47857             Bruno Haible  <bruno@clisp.org>
47858
47859         * lib/printf-parse.h: Don't include sys/types.h.
47860         (ARG_NONE): New macro.
47861         (char_directive): Change type of *arg_index fields to size_t.
47862         * lib/printf-parse.c: Don't include sys/types.h.
47863         (SSIZE_MAX): Remove macro.
47864         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
47865         Remove unnecessary overflow check.
47866         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
47867         fields.
47868
47869 2003-11-25  Bruno Haible  <bruno@clisp.org>
47870
47871         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
47872
47873 2003-11-25  Bruno Haible  <bruno@clisp.org>
47874
47875         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
47876         gt_TYPE_SSIZE_T.
47877
47878 2003-11-24  Paul Eggert  <eggert@twinsun.com>
47879
47880         * modules/alloca: Remove dependency on xalloc.
47881
47882 2003-11-24  Paul Eggert  <eggert@twinsun.com>
47883
47884         * lib/alloca.c: Remove dependency on xalloc module.
47885         (xalloc_die): Remove.
47886         (memory_full) [!defined emacs]: New macro.
47887         [!defined emacs]: Don't include xalloc.h.
47888         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
47889         address arithmetic overflows.  Change datatypes a bit to avoid
47890         unnecessary casts.
47891
47892 2003-11-22  Jim Meyering  <jim@meyering.net>
47893
47894         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
47895         s/size/size_t/.
47896
47897 2003-11-21  Karl Berry  <karl@gnu.org>
47898
47899         * config/config.{sub,guess}: update from config.
47900
47901 2003-11-18  Karl Berry  <karl@gnu.org>
47902
47903         * config/config.{sub,guess}: update from config.
47904
47905         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
47906
47907 2003-11-17  Paul Eggert  <eggert@twinsun.com>
47908
47909         * README: Mention that S+T cannot overflow if S is the size of
47910         an existing object and T is sufficiently small.
47911
47912 2003-11-17  Jim Meyering  <jim@meyering.net>
47913
47914         On systems without utime and without a utimes function capable of
47915         dealing with a NULL struct utimbuf* argument, this utime replacement
47916         could -- in unusual circumstances -- leak a file descriptor.
47917         * lib/utime.c: Include <unistd.h> and <errno.h>.
47918         (utime_null): Be sure to close `fd' and to preserve errno.
47919         Reported by Geoff Collyer via Arnold Robbins.
47920
47921 2003-11-17  Bruno Haible  <bruno@clisp.org>
47922
47923         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
47924         (Depends-on): Add xsize.
47925
47926 2003-11-17  Bruno Haible  <bruno@clisp.org>
47927
47928         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
47929
47930 2003-11-17  Bruno Haible  <bruno@clisp.org>
47931
47932         * lib/vasnprintf.c (alloca): Remove fallback definition.
47933         (freea): Remove definition.
47934         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
47935         Reported by Paul Eggert.
47936
47937 2003-11-16  Paul Eggert  <eggert@twinsun.com>
47938             Bruno Haible  <bruno@clisp.org>
47939
47940         Protect against address arithmetic overflow.
47941         * lib/printf-args.h: Include stddef.h.
47942         (arguments): Change type of field 'count' to size_t.
47943         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
47944         'unsigned int' where appropriate.
47945         * lib/printf-parse.h: Include sys/types.h.
47946         (char_directive): Change type of *arg_index fields to ssize_t.
47947         (char_directives): Change type of fields 'count', max_*_length to
47948         size_t.
47949         * lib/printf-parse.c: Include sys/types.h and xsize.h.
47950         (SSIZE_MAX): Define fallback value.
47951         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
47952         instead of 'int' where appropriate. Check a_allocated, d_allocated
47953         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
47954         * lib/vasnprintf.c: Include xsize.h.
47955         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
47956         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
47957         overflow. Avoid wraparound when converting a width or precision from
47958         decimal to binary.
47959
47960 2003-11-16  Bruno Haible  <bruno@clisp.org>
47961
47962         Update from GNU gettext.
47963         * lib/printf-parse.c: Generalize to it can be compiled for wide
47964         strings.
47965         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
47966         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
47967         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
47968         SNPRINTF): New macros.
47969         Don't include <alloca.h> if the file is used inside libintl.
47970         (local_wcslen): New function, for Solaris 2.5.1.
47971         (VASNPRINTF): Use it instead of wcslen.
47972
47973 2003-11-16  Bruno Haible  <bruno@clisp.org>
47974
47975         * lib/xsize.h (xmax): New function.
47976         (xsum, xsum3, xsum4): Declare as "pure" functions.
47977
47978 2003-11-12  Paul Eggert  <eggert@twinsun.com>
47979
47980         * modules/xalloc (Files): Undo latest change, since xalloc.h
47981         no longer needs SIZE_MAX or PTRDIFF_MAX.
47982
47983 2003-11-12  Paul Eggert  <eggert@twinsun.com>
47984
47985         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
47986         gl_PTRDIFF_MAX.
47987
47988 2003-11-12  Paul Eggert  <eggert@twinsun.com>
47989
47990         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
47991         "return", to pacify some unknown compiler.  Problem reported
47992         by Joerg Schilling.
47993
47994 2003-11-12  Paul Eggert  <eggert@twinsun.com>
47995
47996         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
47997         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
47998         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
47999         heuristic is just as accurate as far as we know, and it removes a
48000         dependency on size_max.m4 and ptrdiff_max.m4.
48001
48002 2003-11-11  Bruno Haible  <bruno@clisp.org>
48003
48004         * modules/xsize (Files): Add m4/size_max.m4.
48005         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
48006
48007 2003-11-11  Bruno Haible  <bruno@clisp.org>
48008
48009         * m4/size_max.m4: New file.
48010         * m4/ptrdiff_max.m4: New file.
48011         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
48012         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
48013         (gl_XALLOC): Invoke it.
48014
48015 2003-11-11  Bruno Haible  <bruno@clisp.org>
48016
48017         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
48018         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
48019         defined.
48020
48021 2003-11-10  Paul Eggert  <eggert@twinsun.com>
48022
48023         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
48024         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
48025         rejected some allocations of exactly SIZE_MAX - 2 bytes.
48026         From Bruno Haible.
48027         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
48028         not (size_t) -1, since it's defined here.
48029
48030 2003-11-09  Karl Berry  <karl@gnu.org>
48031
48032         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
48033
48034 2003-11-06  Paul Eggert  <eggert@twinsun.com>
48035
48036         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
48037         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
48038         Reject sizes of exactly SIZE_MAX bytes.
48039         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
48040         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
48041
48042 2003-11-05  Bruno Haible  <bruno@clisp.org>
48043
48044         * lib/xsize.h: Include limits.h, to avoid a possible collision with
48045         SIZE_MAX defined in <limits.h> on Solaris.
48046
48047 2003-11-04  Jim Meyering  <jim@meyering.net>
48048
48049         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
48050         variable names, rather than @VAR@.
48051         * modules/poll: Likewise.
48052
48053 2003-11-04  Bruno Haible  <bruno@clisp.org>
48054
48055         * modules/xsize: New file.
48056         * modules/linebreak: Depend on xsize.
48057         * MODULES.html.sh (func_all_modules): Add xsize.
48058
48059 2003-11-04  Bruno Haible  <bruno@clisp.org>
48060
48061         * m4/xsize.m4: New file.
48062
48063 2003-11-04  Bruno Haible  <bruno@clisp.org>
48064
48065         * lib/xsize.h: New file.
48066         * lib/linebreak.c: Include xsize.h.
48067         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
48068         argument for overflow.
48069         Suggested by Paul Eggert.
48070
48071 2003-11-03  Karl Berry  <karl@gnu.org>
48072
48073         * config/config.{guess,sub}: update from config.
48074
48075 2003-11-03  Jim Meyering  <jim@meyering.net>
48076
48077         * modules/userspec (lib_SOURCES): Add userspec.h.
48078         (Include): Add "userspec.h".
48079         Improve description.
48080
48081 2003-11-03  Jim Meyering  <jim@meyering.net>
48082
48083         * lib/userspec.c: Include "userspec.h".
48084         * lib/userspec.h: New file.
48085
48086 2003-11-03  Bruno Haible  <bruno@clisp.org>
48087
48088         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
48089
48090 2003-11-03  Bruno Haible  <bruno@clisp.org>
48091
48092         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
48093         available, to avoid (extremely rare) race condition.
48094         Suggested by Paul Eggert.
48095
48096 2003-11-02  Karl Berry  <karl@gnu.org>
48097
48098         * config/srclist.txt (vasprintf.c): sync broken, sigh.
48099
48100 2003-10-31  Paul Eggert  <eggert@twinsun.com>
48101
48102         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
48103         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
48104         (read_filesystem_list): Set and use me_type_malloced.
48105         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
48106         whatever the type happens to be), for brevity and consistency.
48107         Check for size calculation overflow on Alphas running OSF/1.
48108
48109 2003-10-31  Jim Meyering  <jim@meyering.net>
48110
48111         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
48112
48113         * lib/linebuffer.c: Include <string.h> for declaration of memset.
48114
48115 2003-10-30  Paul Eggert  <eggert@twinsun.com>
48116             Bruno Haible  <bruno@clisp.org>
48117
48118         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
48119         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
48120
48121 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
48122
48123         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
48124         netbsd*-gnu*.  Suggested by Robert Millan.
48125
48126 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48127
48128         * modules/group-member: Depend on stdbool.
48129
48130 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48131
48132         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
48133
48134 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48135
48136         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
48137         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
48138         after the 'gnu' in these cases.  This fixes some bugs in the
48139         previous change, and is based on suggestions by Robert Millan.
48140
48141 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48142
48143         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
48144         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
48145         no longer needed.
48146         * lib/quotearg.c (quotearg_n_options): Use it.
48147         * lib/group-member.c: Include <stdbool.h>.
48148         (free_group_info): Arg is now const *; don't free arg.
48149         (get_group_info): Now returns bool and accepts struct group_info *,
48150         rather than returning a malloc'ed struct group_info *.
48151         All uses changed.  Check for overflow in internal size calculation.
48152
48153         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
48154         rather than xmalloc/xrealloc.
48155         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
48156         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
48157         conformance bug: the old code used a pointer after freeing the
48158         storage that it addressed.
48159         * lib/hash.c (hash_initialize): Simplify the code by using
48160         xalloc_oversized rather than doing it by hand.
48161         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
48162         the buffer preserved.  Use free and xmalloc instead.
48163         * lib/quotearg.c (quotearg_n_options): Likewise.
48164         Use a simpler test for size overflow.  Don't use xalloc_oversized
48165         because unsigned int might be wider than size_t (!); this suggests
48166         that we should switch from unsigned int to size_t for slot numbers.
48167
48168 2003-10-28  Paul Eggert  <eggert@twinsun.com>
48169
48170         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
48171         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
48172         NetBSD kernels.  Requested by Richard Stallman.
48173
48174 2003-10-27  Paul Eggert  <eggert@twinsun.com>
48175
48176         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
48177         to allocate the returned structure.  Do not allocate a subarray,
48178         as x2nrealloc will do that.
48179         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
48180         instead of xnrealloc.
48181         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
48182
48183 2003-10-27  Bruno Haible  <bruno@clisp.org>
48184
48185         * lib/stdbool_.h: Better support for BeOS.
48186
48187 2003-10-26  Paul Eggert  <eggert@twinsun.com>
48188
48189         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
48190         now uses inline.
48191
48192 2003-10-26  Paul Eggert  <eggert@twinsun.com>
48193
48194         * lib/xalloc.h (xalloc_oversized): New static inline function, for
48195         callers that want to do their own size-overflow checking.  Include
48196         <stdbool.h>, since xalloc_oversized returns bool.
48197         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
48198         to use xalloc_oversized.
48199
48200         Add two functions x2realloc, x2nrealloc, for programs that grow
48201         arrays dynamically by doubling their sizes.
48202         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
48203         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
48204         New functions.
48205
48206         Port to C99 semantics for 'inline' of external functions.
48207         Bug reported by Bruno Haible.
48208         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
48209         with the old contents of xnmalloc.
48210         (xnmalloc, xmalloc): Use it.
48211         (xnrealloc_inline): New static inline function,
48212         with the old contents of xnrealloc.
48213         (xnrealloc, xrealloc): Use it.
48214
48215         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
48216         that.
48217
48218 2003-10-26  Karl Berry  <karl@gnu.org>
48219
48220         * config/srclist.txt (COPYING.DOC): no longer available from
48221         /gd/gnuorg; don't know where the ultimate source is.
48222
48223 2003-10-25  Paul Eggert  <eggert@twinsun.com>
48224
48225         Fix several address-calculation bugs in the hash modules,
48226         plus some minor code cleanup.
48227
48228         * lib/hash.h: Include <stdbool.h>, for bool.
48229         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
48230         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
48231         hash_get_n_entries, hash_get_max_bucket_length,
48232         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
48233         hash_rehash): Use size_t rather than unsigned.
48234         * lib/hash.c (struct hash_table, hash_get_n_buckets,
48235         hash_get_n_buckets_used, hash_get_n_entries,
48236         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
48237         hash_get_entries, hash_do_for_each, hash_string, is_prime,
48238         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
48239         Likewise.
48240         (SIZE_MAX): Define if not defined.
48241         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
48242         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
48243         hash_print):
48244         Use const * when possible.
48245         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
48246         (check_tuning): Fix bug: if tuning parameters were very close to
48247         0 or 1, rounding errors could have caused subscript violations.
48248         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
48249         (hash_initialize): Add 'fail:' label
48250         to free table and return NULL, and use it to simplify code.
48251         Use calloc rather than clearing the storage ourself.
48252         (hash_initialize, hash_rehash): Check for arithmetic overflow in
48253         buffer size calculations.
48254         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
48255         Include <stddef.h>, for size_t.
48256         * lib/hash-pjw.c (hash_pjw): Likewise.
48257         Switch to method described by Bruno Haible.
48258         Include <limits.h>, for CHAR_BIT.
48259         (SIZE_BITS): New macro.
48260
48261 2003-10-23  Paul Eggert  <eggert@twinsun.com>
48262
48263         * m4/getline.m4 (AM_FUNC_GETLINE):
48264         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
48265         hosts.  Problem reported by Derek Robert Price in
48266         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
48267         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
48268         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
48269
48270 2003-10-21  Paul Eggert  <eggert@twinsun.com>
48271
48272         * lib/getndelim2.c (getndelim2): When size calculation overflows,
48273         ceiling the allocation at NMAX bytes rather than silently
48274         discarding input bytes before NMAX is reached.  This makes
48275         a difference only if NMAX exceeds SIZE_MAX / 2.
48276
48277         * lib/obstack.c: Merge from glibc.
48278         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
48279         Add libc_hidden_def (_obstack_newchunk).
48280         (_obstack_free) [! defined _LIBC]: Remove.
48281         [defined _LIBC]: Make a strong alias from obstack_free, rather than
48282         a clone of the function body.
48283         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
48284         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
48285
48286         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
48287         glibc.
48288         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
48289         arg to memcpy.
48290
48291         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
48292         (obstack_ptr_grow_fast, obstack_int_grow_fast):
48293         Don't use lvalue casts, as GCC plans to remove support for them
48294         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
48295         was also present in the non-GCC version, indicating that this
48296         code had always been buggy and had never been widely used.
48297         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
48298         Use the fast variant of each macro, rather than copying the
48299         definiens of the fast variant; that way, we'll be more likely to
48300         catch future bugs in the fast variants.
48301
48302 2003-10-20  Bruno Haible  <bruno@clisp.org>
48303
48304         * modules/wait-process: New file.
48305         * MODULES.html.sh (func_all_modules): Add wait-process.
48306
48307 2003-10-20  Bruno Haible  <bruno@clisp.org>
48308
48309         * m4/wait-process.m4: New file.
48310
48311 2003-10-20  Bruno Haible  <bruno@clisp.org>
48312
48313         * lib/wait-process.h: New file, from GNU gettext.
48314         * lib/wait-process.c: New file, from GNU gettext.
48315
48316 2003-10-19  Jim Meyering  <jim@meyering.net>
48317
48318         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
48319         HPUX 10.20.
48320
48321 2003-10-18  Karl Berry  <karl@gnu.org>
48322
48323         * config/config.guess: update from config.
48324
48325 2003-10-16  Paul Eggert  <eggert@twinsun.com>
48326
48327         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
48328         (getgroups): First arg is int, not size_t.
48329         Don't let 'free' mangle errno.
48330
48331 2003-10-16  Paul Eggert  <eggert@twinsun.com>
48332
48333         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
48334
48335 2003-10-16  Karl Berry  <karl@gnu.org>
48336
48337         * config/config.{guess,sub}: update from config.
48338
48339 2003-10-16  Jim Meyering  <jim@meyering.net>
48340
48341         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
48342         memcpy.
48343
48344 2003-10-15  Paul Eggert  <eggert@twinsun.com>
48345
48346         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
48347         (SIZE_MAX): Remove.
48348         (new_exclude, add_exclude_file): Initial size no longer needs to
48349         be a power of 2.
48350         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
48351         our own address arithmetic overflow checking.
48352
48353         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
48354         (fnmatch): Do not alloca more than 2000 wide characters;
48355         instead, use malloc for large buffers.
48356         Check for address arithmetic overflow, and return -1
48357         with errno set to ENOMEM in that case.
48358         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
48359         (NEW_PATTERN): Do not alloca more than 8000 bytes;
48360         instead, return -1.  Check for address arithmetic overflow.
48361
48362 2003-10-14  Paul Eggert  <eggert@twinsun.com>
48363
48364         Handle invalid suffixes and overflow independently, so that
48365         callers can treat them independently as needed.  Fix some bugs in
48366         suffix handling, e.g., "100k@" was not diagnosed as an invalid
48367         suffix for a human-readable blocksize.  The major caller-visible
48368         change is the addition of a new
48369         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
48370         that both overflow and suffix chars were found.
48371
48372         * lib/human.c (humblock): Don't check separately for invalid suffix
48373         char; that is xstrtoumax's job (now that its bug is fixed).
48374         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
48375         INTMAX_MAX]: New macros.
48376         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
48377         TYPE_MAXIMUM): New macros.
48378         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
48379         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
48380         if overflow occurs, as it's what __strtol does and it's more useful
48381         in practice.
48382         (__xstrtol): If __strtol reports some error other than ERANGE,
48383         reflect it to the caller as LONGINT_INVALID.  If it reports
48384         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
48385         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
48386         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
48387         value.
48388         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
48389         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
48390         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
48391         [defined UINTMAX_MAX]: New macros.
48392
48393 2003-10-14  Bruno Haible  <bruno@clisp.org>
48394
48395         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
48396
48397 2003-10-14  Bruno Haible  <bruno@clisp.org>
48398
48399         * m4/sig_atomic_t: New file, from GNU gettext.
48400         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
48401
48402 2003-10-14  Bruno Haible  <bruno@clisp.org>
48403
48404         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
48405         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
48406         Also use volatile where needed.
48407
48408 2003-10-12  Paul Eggert  <eggert@twinsun.com>
48409
48410         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
48411         Change maintainer from Bruno Haible to 'all'.
48412
48413 2003-10-12  Paul Eggert  <eggert@twinsun.com>
48414
48415         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
48416
48417 2003-10-12  Paul Eggert  <eggert@twinsun.com>
48418
48419         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
48420         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
48421         and define in terms of the other primitives.
48422         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
48423         (SIZE_MAX): Define if not already defined.
48424         (array_size_overflow): New function.
48425         (xalloc_die): Abort instead of exiting if 'error' returns.
48426         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
48427         (xmalloc, xrealloc): Use them.
48428         (xcalloc): Check for address arithmetic overflow.
48429         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
48430         a bit faster than strcpy.
48431
48432 2003-10-10  Simon Josefsson  <jas@extundo.com>
48433
48434         * modules/argp (Depends-on): Add restrict and strcase.
48435
48436 2003-10-10  Simon Josefsson  <jas@extundo.com>
48437
48438         * m4/argp.m4: Add AC_C_INLINE.
48439
48440 2003-10-08  Paul Eggert  <eggert@twinsun.com>
48441
48442         Merge getpass from libc, plus a few fixes.
48443
48444         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
48445         Include <stdbool.h>.
48446         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
48447         __fsetlocking to empty.
48448         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
48449         do include <bits/libc-lock.h>.
48450         Do not include <fcntl.h>; not needed.
48451         [_LIBC]: Include <wchar.h>.
48452         (NOTCANCEL_MODE): New macro.
48453         (flockfile, funlockfile) [_LIBC]: New macros.
48454         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
48455         [!_LIBC]: New macros.
48456         (call_fclose): New function.
48457         (getpass): Use it.  Save tty stream separately; this simplifies the
48458         code and makes it more reliable if stdin happens to equal stdout.
48459         Invoke __fsetlocking on tty.
48460         Handle thread cancellation if needed.
48461         Namespace cleanup (use __tcgetattr, __getline).
48462         Use bool for Booleans.
48463         [USE_IN_LIBIO]: Handle wide streams.
48464         [!_LIBC]: Unconditionally do the fseek, since we don't know what
48465         stream might go where.
48466
48467         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
48468         doesn't have to include <stdio.h> before us.
48469         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
48470         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
48471         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
48472         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
48473         if not declared, so that we can use getpass.c code from libc without
48474         rewriting it.
48475         (flockfile, ftrylockfile, funlockfile): New macros.
48476
48477 2003-10-08  Paul Eggert  <eggert@twinsun.com>
48478
48479         * modules/getpass: Depend on stdbool.
48480
48481 2003-10-08  Paul Eggert  <eggert@twinsun.com>
48482
48483         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
48484
48485 2003-10-07  Karl Berry  <karl@gnu.org>
48486
48487         * config/config.{guess,sub}: update from config.
48488
48489 2003-10-06  Jim Meyering  <jim@meyering.net>
48490             Bruno Haible  <bruno@clisp.org>
48491
48492         This lets translators provide better translations for the
48493         "Written by ..." part of --version output.
48494         * lib/version-etc.h: Include stdarg.h.
48495         (version_etc_copyright): Declare as readonly.
48496         (version_etc): Make this function variadic with a NULL-terminated list
48497         of author name strings.
48498         (version_etc_va): New declaration.
48499         * lib/version-etc.c: Include stdarg.h, stdlib.h.
48500         (version_etc_copyright): Declare as readonly.
48501         (version_etc_va): New function. Provide a different translatable string
48502         for each possible number of authors < 10. Abbreviate when there are 10
48503         authors or more.
48504         (version_etc): Make this function variadic. Call version_etc_va.
48505         Suggestion from Gary V. Vaughan.
48506
48507         * lib/long-options.h (parse_long_options): Change prototype: the
48508         authors string is moved to the end and becomes variadic.
48509         * lib/long-options.c: Include stdarg.h.
48510         (parse_long_options): Make this function variadic, too.
48511         Call version_etc_va, not version_etc.
48512
48513 2003-10-06  Bruno Haible  <bruno@clisp.org>
48514
48515         * modules/version-etc-2: Remove file.
48516         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
48517
48518 2003-10-06  Bruno Haible  <bruno@clisp.org>
48519
48520         * modules/fatal-signal: New file.
48521         * MODULES.html.sh (func_all_modules): Add fatal-signal.
48522
48523 2003-10-06  Bruno Haible  <bruno@clisp.org>
48524
48525         * m4/fatal-signal.m4: New file.
48526         * m4/signalblocking.m4: New file, from GNU gettext.
48527
48528 2003-10-06  Bruno Haible  <bruno@clisp.org>
48529
48530         * lib/version-etc-2.h: Remove file.
48531         * lib/version-etc-2.c: Remove file.
48532
48533 2003-10-06  Bruno Haible  <bruno@clisp.org>
48534
48535         * lib/fatal-signal.h: New file, from GNU gettext.
48536         * lib/fatal-signal.c: New file, from GNU gettext.
48537
48538 2003-10-05  Paul Eggert  <eggert@twinsun.com>
48539
48540         * README: Rework advice for preventing empty .o files.
48541         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
48542         not <sys/types.h>.
48543
48544 2003-10-04  Karl Berry  <karl@gnu.org>
48545
48546         * lib/argp*: update from libc.
48547
48548 2003-10-04  Karl Berry  <karl@gnu.org>
48549
48550         * config/config.{guess,sub}: update from config.
48551
48552 2003-10-02  Bruno Haible  <bruno@clisp.org>
48553
48554         * modules/lchown (Include): Add lchown.h.
48555         * modules/time_r (Include): Use "..." syntax.
48556         * modules/xgetdomainname (Include): Add xgetdomainname.h.
48557
48558 2003-10-01  Simon Josefsson  <jas@extundo.com>
48559
48560         * MODULES.html.sh (func_all_modules): Move gethostname from section
48561         'based on' to section 'lacking' POSIX:2001.
48562
48563 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
48564
48565         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
48566         to output mode on the same stream.
48567
48568 2003-09-29  Paul Eggert  <eggert@twinsun.com>
48569
48570         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
48571         Fix arg typo in previous patch.
48572
48573 2003-09-28  Jim Meyering  <jim@meyering.net>
48574
48575         * lib/error.c: Correct cpp indentation.
48576
48577 2003-09-27  Paul Eggert  <eggert@twinsun.com>
48578
48579         * modules/free: New file.
48580
48581 2003-09-27  Paul Eggert  <eggert@twinsun.com>
48582
48583         * m4/free.m4: New file.
48584
48585 2003-09-27  Paul Eggert  <eggert@twinsun.com>
48586
48587         * lib/minmax.h (MIN, MAX)
48588         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
48589         Omit the special code that used __typeof__, since we worry that
48590         it could be more trouble than it's worth.  See:
48591         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
48592         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
48593
48594         * lib/free.c: New file.
48595
48596 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
48597
48598         Trivial fixes to Makefile.am parts of module listings.
48599         * modules/strstr: Append strstr.h to lib_SOURCES.
48600         * modules/strcase: Likewise, for strcase.h.
48601
48602 2003-09-27  Karl Berry  <karl@gnu.org>
48603
48604         * config/mkinstalldirs: update from automake.
48605
48606 2003-09-26  Paul Eggert  <eggert@twinsun.com>
48607
48608         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
48609         (error_tail): Do not loop, reallocating temporary buffer, since
48610         the output cannot contain more wide characters than the input
48611         contains bytes, the size must be big enough already.  This avoids
48612         one potential size overflow calculation.  Check for size overflow
48613         when calculating temporary buffer size.  Free temporary buffer
48614         when done, if it was allocated with malloc; this plugs a memory
48615         leak.  Remove casts from void * to pointers, that are no longer
48616         needed now that we're assuming C89 or better.
48617
48618         Merge error changes from glibc.
48619
48620         * lib/error.c, error.h: Update copyright notice header to match glibc.
48621         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
48622         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
48623         Disable cancellation while printing error.
48624         * lib/error.h: Prepend __ to parameter names.
48625
48626 2003-09-26  Jim Meyering  <jim@meyering.net>
48627
48628         * lib/error.c (error_tail): Move some declarations
48629         into inner scope where the local variables are used.
48630
48631 2003-09-26  Bruno Haible  <bruno@clisp.org>
48632
48633         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
48634         stpncpy().
48635         Don't define stpncpy through config.h; it's now done through stpncpy.h.
48636
48637 2003-09-26  Bruno Haible  <bruno@clisp.org>
48638
48639         * lib/stpncpy.h (gnu_stpncpy): New declaration.
48640         (stpncpy): Define as alias for gnu_stpncpy.
48641         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
48642
48643 2003-09-25  Simon Josefsson  <jas@extundo.com>
48644
48645         * lib/xgetdomainname.h: New file.
48646         * lib/xgetdomainname.c: New file.
48647
48648 2003-09-25  Simon Josefsson  <jas@extundo.com>
48649             Bruno Haible  <bruno@clisp.org>
48650
48651         * modules/getdomainname: New file.
48652         * modules/xgetdomainname: New file.
48653         * MODULES.html.sh (func_all_modules): Add getdomainname,
48654         xgetdomainname.
48655
48656 2003-09-25  Simon Josefsson  <jas@extundo.com>
48657             Bruno Haible  <bruno@clisp.org>
48658
48659         * m4/getdomainname.m4: New file.
48660
48661 2003-09-25  Simon Josefsson  <jas@extundo.com>
48662             Bruno Haible  <bruno@clisp.org>
48663
48664         * lib/getdomainname.h: New file.
48665         * lib/getdomainname.c: New file.
48666
48667 2003-09-25  Karl Berry  <karl@gnu.org>
48668
48669         * lib/argp-fmtstream.c, argp-help.c: update from libc.
48670
48671 2003-09-25  Karl Berry  <karl@gnu.org>
48672
48673         * config/install-sh: update from automake.
48674
48675 2003-09-25  Bruno Haible  <bruno@clisp.org>
48676
48677         * modules/version-etc-2: New file, from modules/version-etc with
48678         modifications.
48679         * MODULES.html.sh (func_all_modules): Add version-etc-2.
48680
48681 2003-09-25  Bruno Haible  <bruno@clisp.org>
48682
48683         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
48684         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
48685
48686 2003-09-24  Simon Josefsson  <jas@extundo.com>
48687
48688         * modules/xgethostname: Add xgethostname.h.
48689
48690 2003-09-24  Paul Eggert  <eggert@twinsun.com>
48691
48692         * lib/linebuffer.c (freebuffer): Don't free the argument, just
48693         the buffer associated with the argument.  Bug reported by
48694         Simon Josefsson.
48695
48696 2003-09-24  Paul Eggert  <eggert@twinsun.com>
48697
48698         * README: Document assumptions that 'int' is at least 32 bits
48699         wide, that integer arithmetic is 2's complement without overflow,
48700         that there are no holes in integer values, that adding sizes of
48701         two nonoverlapping objects can't overflow, and that all-bits-zero
48702         yields scalar zero.  Fix spelling and capitalization typos.
48703
48704 2003-09-19  Karl Berry  <karl@gnu.org>
48705
48706         * lib/argp.h: update from libc.
48707
48708 2003-09-17  Paul Eggert  <eggert@twinsun.com>
48709
48710         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
48711         to avoid spurious warnings like "AC_RUN_IFELSE was called before
48712         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
48713
48714 2003-09-17  Paul Eggert  <eggert@twinsun.com>
48715
48716         * gnulib-tool: Use "test -h", not "test -L", for portability
48717         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
48718         (tags_regexp): Remove, since \| doesn't conform to POSIX.
48719         (sed_extract_prog): Issue s commands one-by-one, rather than
48720         using \| in one s command.
48721
48722 2003-09-16  Paul Eggert  <eggert@twinsun.com>
48723
48724         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
48725         input error, instead of returning NULL the next time we are called
48726         (and therefore losing track of errno).
48727
48728 2003-09-16  Bruno Haible  <bruno@clisp.org>
48729
48730         * gnulib-tool (func_create_testdir): Warn about duplicated
48731         dependencies.
48732
48733 2003-09-15  Paul Eggert  <eggert@twinsun.com>
48734
48735         * modules/argmatch, modules/fatal, modules/obstack,
48736         modules/xalloc, modules/xgethostname: Sort dependencies by
48737         importance, not alphabetically.
48738
48739 2003-09-15  Paul Eggert  <eggert@twinsun.com>
48740
48741         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
48742         fails, so that the caller gets the proper errno.
48743
48744         * lib/readutmp.c (read_utmp): Likewise.
48745         Check for fstat error.  Close stream and free storage
48746         when failing.
48747
48748 2003-09-14  Karl Berry  <karl@gnu.org>
48749
48750         * config/srclist.txt (strdup.c): disable for c89 changes.
48751
48752 2003-09-14  Jim Meyering  <jim@meyering.net>
48753
48754         * lib/getloadavg.c: Correct cpp indentation.
48755         * lib/strdup.c: Likewise.
48756         * lib/vasnprintf.c: Likewise.
48757
48758 2003-09-14  Bruno Haible  <bruno@clisp.org>
48759
48760         * modules/fwriteerror: New file.
48761         * MODULES.html.sh (func_all_modules): Add fwriteerror.
48762
48763 2003-09-14  Bruno Haible  <bruno@clisp.org>
48764
48765         * lib/fwriteerror.h: New file.
48766         * lib/fwriteerror.c: New file.
48767
48768 2003-09-12  Paul Eggert  <eggert@twinsun.com>
48769
48770         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
48771         modules/xgethostname, modules/xalloc: Depend on exit.
48772
48773 2003-09-12  Paul Eggert  <eggert@twinsun.com>
48774
48775         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
48776
48777         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
48778         and AC_MINIX, too, so that their extensions are available.
48779
48780         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
48781         This macro has been superseded by gl_BACKUPFILE.
48782
48783         More patches to assume C89 or better.
48784
48785         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
48786
48787         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
48788         unconditionally.
48789         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
48790         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
48791         Include <string.h>, <stdlib.h> unconditionally.
48792         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
48793         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
48794         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
48795         headers or for string.h.
48796         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
48797         or strtoul.
48798
48799         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
48800         headers.
48801         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
48802         * m4/userspec.m4 (gl_USERSPEC): Likewise.
48803         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
48804         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
48805         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
48806         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
48807         memcpy, memset.
48808         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
48809         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
48810         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
48811         strtol.
48812         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
48813         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
48814         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
48815         strtoul.
48816
48817 2003-09-12  Paul Eggert  <eggert@twinsun.com>
48818
48819         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
48820         * lib/obstack.c [!defined _LIBC]: Likewise.
48821         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
48822         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
48823         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
48824
48825         More changes to assume C89 or better.
48826
48827         * lib/error.c (error_tail): Assume vprintf.
48828
48829         * lib/argmatch.c (getenv): Remove decl.
48830         * lib/progreloc.c (get_full_program_name): Define via prototype.
48831         * lib/setenv.c (clearenv): Likewise.
48832         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
48833         needed.
48834         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
48835         (malloc, memcpy): Remove decls.
48836         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
48837         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
48838         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
48839         (memcpy): Remove macro.
48840         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
48841         (__P): Remove.  All uses removed.
48842         (PTR): Remove.  All uses changed to void *.
48843         (CHAR_BIT, NULL): Remove.
48844         (spaces, zeros, memset_space, memset_zero)
48845         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
48846         Remove.
48847         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
48848         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
48849         Define with prototype.
48850         Remove now-unnecessary prototype decl.
48851         (extra_args_spec): Assume ANSI C.  All uses changed.
48852         (extra_args_spec_iso): Remove.
48853         (my_strftime, emacs_strftimeu): Define via prototype.
48854         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
48855         unconditionally.
48856         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
48857         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
48858         (strtoul, strtol): Remove decls.
48859         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
48860         LONG_MAX): Remove.
48861         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
48862         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
48863         (LOCALE_PARAM_PROTO): New macro.
48864         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
48865         (INTERNAL (strtol), strtol): Define with a prototype.
48866         (PARAMS): Remove.  All uses removed.
48867         * lib/tempname.c: Include <string.h> unconditionally.
48868         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
48869         * lib/xgethostname.c (main): Define with a prototype.
48870         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
48871         Include <stdlib.h> unconditionally.
48872         (calloc, malloc, realloc, free): Remove decls.
48873         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
48874         Include <stdlib.h> unconditionally.  Sort include file names.
48875         (strtod): Remove.
48876         (xstrtod): Define with a prototype.
48877         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
48878         (strtol, strtoul): Remove decls.
48879
48880 2003-09-11  Paul Eggert  <eggert@twinsun.com>
48881
48882         More patches to assume C89 or better.
48883         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
48884         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
48885         string.h, memchr, STDC_HEADERS.
48886
48887 2003-09-11  Paul Eggert  <eggert@twinsun.com>
48888
48889         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
48890         Include <stdlib.h>, <string.h> unconditionally.
48891         Remove now-unnecessary cast to char *.
48892         * lib/strnlen.c: Include <string.h> unconditionally.
48893         * lib/yesno.c (yesno): Define with a prototype.
48894
48895 2003-09-11  Bruno Haible  <bruno@clisp.org>
48896
48897         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
48898
48899 2003-09-10  Jim Meyering  <jim@meyering.net>
48900
48901         * lib/error.c: Correct indentation of cpp directives.
48902
48903 2003-09-10  Bruno Haible  <bruno@clisp.org>
48904
48905         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
48906         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
48907         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
48908         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
48909         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
48910         <stdlib.h> and <string.h> checks.
48911         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
48912         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
48913
48914 2003-09-10  Bruno Haible  <bruno@clisp.org>
48915
48916         * lib/strcspn.c: Include <string.h> unconditionally.
48917         * lib/strpbrk.c: Include <string.h> unconditionally.
48918         * lib/strstr.c: Include <string.h> unconditionally.
48919         * lib/unicodeio.c: Include <string.h> unconditionally.
48920         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
48921         * lib/unsetenv.c: Likewise.
48922         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
48923         * lib/yesno.c: Include <stdlib.h> unconditionally.
48924         (rpmatch): Add prototype.
48925
48926 2003-09-09  Paul Eggert  <eggert@twinsun.com>
48927
48928         More patches to assume C89 or better.
48929         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
48930         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
48931         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
48932         or for string.h.
48933         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
48934         stdlib.h.
48935         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
48936         C headers.
48937         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
48938         string.h.
48939         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
48940         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
48941         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
48942         or for string.h.
48943         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
48944         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
48945         C headers.
48946         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
48947         memcpy.
48948         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
48949         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
48950         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
48951         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
48952         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
48953         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
48954         string.h, free.
48955         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
48956         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
48957         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
48958         C headers, or for string.h.
48959         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
48960         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
48961         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
48962         headers, memory.h, stdlib.h, string.h, strings.h.
48963         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
48964         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
48965         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
48966         strchr.
48967         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
48968         headers, memory.h, string.h.
48969         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
48970         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
48971         free.
48972         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
48973         headers.
48974         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
48975         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
48976         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
48977         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
48978         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
48979
48980 2003-09-09  Paul Eggert  <eggert@twinsun.com>
48981
48982         More K&R removal.
48983
48984         * lib/acosl.c (main): Use a prototype.
48985         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
48986         tanl.c: Likewise.
48987
48988         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
48989
48990         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
48991         (getopt, etopt_long, getopt_long_only, _getopt_internal)
48992         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
48993         with a prototype.
48994         * lib/getopt.c (const): Remove macro.
48995         Include <string.h> unconditionally.
48996         (my_index): Remove; all uses changed to strchr.
48997         (strlen): Remove decl.
48998         (exchange): Remove forward decl; no longer needed.
48999         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
49000         Define with prototype.
49001         * lib/getopt1.c (const): Remove macro.
49002         (getopt_long, getopt_long_only, main): Define with prototype.
49003
49004         * lib/getugroups.c: Include <string.h> unconditionally.
49005
49006         * lib/getusershell.c: Include <stdlib.h> unconditionally.
49007         (getusershell, setusershell, endusershell, readname, main):
49008         Define with prototypes.
49009
49010         * lib/group-member.c: Include group-member.h first.
49011         Include <stdlib.h> unconditionally.
49012
49013         * lib/hard-locale.c: Include hard-locale.h first.
49014         Include <stdlib.h>, <string.h> unconditionally.
49015
49016         * lib/hash.c (free, malloc): Remove decls.
49017         Include <stdlib.h> unconditionally.
49018
49019         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
49020         (getenv): Do not declare.
49021
49022         * lib/idcache.c: Include <string.h> unconditionally.
49023
49024         * lib/long-options.c: Include long-options.h first, to test interface.
49025         Include <stdlib.h> unconditionally.
49026
49027         * lib/makepath.c: Include makepath.h first, to test interface.
49028         Include <stdlib.h> and <string.h> unconditionally.
49029
49030         * lib/linebuffer.c: Include <stdlib.h>.
49031         (free): Remove decl.
49032
49033         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
49034         stddef.h. rpl_malloc returns void *, not char *.
49035         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
49036         prototype.
49037
49038         * lib/md5.h: Include <limits.h> unconditionally.
49039         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
49040         (__P): Remove; all uses removed.
49041         * lib/md5.c: Include "md5.h" first.
49042         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
49043         md5_buffer, md5_process_bytes, md5_process_block):
49044         Define with prototypes.
49045         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
49046         * lib/sha.c: Include "sha.h" first.
49047         Include <stdlib.h>, <string.h> unconditionally.
49048
49049         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
49050         * lib/memcmp.c (__ptr_t): Likewise.
49051         * lib/memrchr.c (__ptr_t): Likewise.
49052         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
49053         Include <string.h> unconditionally.
49054         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
49055         * lib/memchr.c: Include <stdlib.h> unconditionally.
49056         * lib/memchr.c (LONG_MAX): Remove.
49057         * lib/memrchr.c (LONG_MAX): Likewise.
49058         * lib/memchr.c (__memchr): Define via a prototype.
49059         * lib/memrchr.c (__memrchr): Likewise.
49060         * lib/memcmp.c (__P): Remove, and remove all uses.
49061         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
49062         Remove forward decls; no longer needed.
49063         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
49064         Use types required by C89 in prototype.
49065
49066         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
49067         * lib/savedir.c: Likewise.
49068         * lib/mkdir.c (free): Remove decl.
49069         * lib/rmdir.c (rmdir): Define with a prototype.
49070         * lib/savedir.c: Include savedir.h first, to test interface.
49071
49072         * lib/mktime.c (STDC_HEADERS): Remove.
49073         Include <stdlib.h>, <string.h> unconditionally.
49074
49075         * lib/modechange.c: Include <stdlib.h> unconditionally.
49076         (malloc): Remove decl.
49077
49078         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
49079         (free): Remove decl.
49080
49081         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
49082         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
49083         (This type really should be intptr_t, but that's a C99ism.)
49084         (_obstack_memcpy): Remove: all uses changed to memcpy.
49085         Include <string.h> unconditionally.
49086         (struct obstack): Assume __STDC__ for types of members
49087         chunkfun, freefun, extra_arg.
49088         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
49089         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
49090         obstack_begin, obstack_specify_allocation,
49091         obstack_specify_allocation_with_arg, obstack_chunkfun,
49092         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
49093         Remove unprototyped decls and the macros that use them.
49094         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
49095         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
49096         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
49097         (defined __STDC__ && __STDC__)]:
49098         Remove nonprototyped code.
49099         Include <stdlib.h> unconditionally.
49100         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
49101         _obstack_allocated_p, _obstack_free, obstack_free,
49102         _obstack_memory_used, print_and_abort):
49103         Define using prototypes.
49104         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
49105         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
49106         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
49107         obstack_next_free, obstack_object_size, obstack_room) [0]:
49108         Remove unused, unprototyped code.
49109
49110         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
49111
49112         * lib/physmem.c (physmem_total, physmem_available, main): Define
49113         with prototypes.
49114
49115         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
49116         (main): Define with a prototype.
49117
49118         * lib/posixver.c (getenv): Remove decl.
49119
49120         * lib/putenv.c (malloc): Returns void *, not char *.
49121         Include <string.h> unconditionally.
49122         (strchr, memcpy, NULL): Do not define.
49123
49124         * lib/readtokens.c: Include readtokens.h first, to test interface.
49125         Include <stdlib.h>, <string.h> unconditionally.
49126         (init_tokenbuffer): Define with a prototype.
49127
49128         * lib/regex.c (PARAMS): Remove.  All uses removed.
49129         All uses of _RE_ARGS removed, too.
49130         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
49131         unconditionally.
49132         (bzero): Assume memset exists.
49133         (memcmp, memcpy, NULL): Remove.
49134         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
49135         char, or assignments to local vars of type signed char.
49136         (init_syntax_once, PREFIX(extract_number_and_incr),
49137         PREFIX(print_partial_compiled_pattern),
49138         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
49139         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
49140         PREFIX(regex_grow_registers), PREFIX(regex_compile),
49141         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
49142         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
49143         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
49144         wcs_compile_range, byte_compile_range, truncate_wchar,
49145         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
49146         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
49147         count_mbs_length, wcs_re_match_2_internal,
49148         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
49149         PREFIX(alt_match_null_string_p),
49150         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
49151         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
49152         regfree, PREFIX(extract_number)): Define with prototype.  Remove
49153         now-unnecessary declaration, if any.
49154         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
49155         regcomp, regexec):
49156         Remove now-unnecessary casts among pointer types.
49157         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
49158
49159         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
49160         (free): Remove decl.
49161
49162         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
49163
49164         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
49165         (free): Remove decl.
49166
49167         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
49168         * lib/xgetcwd.c: Likewise.
49169
49170         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
49171         (free): Remove decl.
49172
49173         * lib/strchrnul.c (strchrnul): Define with a prototype.
49174         Fix bug: c_in was not converted to char before searching.
49175
49176         The following changes are not K&R related:
49177
49178         * lib/group-member.h: Include <sys/types.h>, so that this file is
49179         self-contained.
49180         * lib/makepath.h: Likewise.
49181
49182         * lib/getusershell.c (readname, default_index, line_size, readname):
49183         Use size_t, not int, for sizes.
49184         (readname): If the size overflows, report an error instead of
49185         looping forever.
49186
49187 2003-09-09  Paul Eggert  <eggert@twinsun.com>
49188
49189         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
49190         libc.
49191
49192 2003-09-09  Paul Eggert  <eggert@twinsun.com>
49193
49194         * README: New section: portability guidelines.
49195
49196 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
49197
49198         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
49199         C89 spec.
49200
49201 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
49202
49203         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
49204
49205 2003-09-08  Paul Eggert  <eggert@twinsun.com>
49206
49207         Assume C89 or better; remove K&R cruft.
49208         A few of these changes were first proposed by Derek Robert Price
49209         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
49210
49211         * lib/addext.c: Include <string.h> unconditionally.
49212         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
49213         Don't declare getenv or malloc.
49214
49215         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
49216         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
49217         (NULL): Remove.
49218         (find_stack_direction, alloca): Use prototypes.
49219
49220         * lib/atexit.c (atexit): Define using a prototype.
49221
49222         * lib/basename.c, dirname.c, stripslash.c:
49223         Include <string.h> unconditionally.
49224
49225         * lib/bcopy.c: Include <stddef.h>.
49226         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
49227
49228         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
49229
49230         * lib/error.h (error, error_at_line, error_print_progname)
49231         [! (defined (__STDC__) && __STDC__)]: Remove decls.
49232         * lib/error.c: Include error.h first, to check interface.
49233         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
49234         (VA_START): Remove; all uses changeed to va_start.
49235         (exit, strerror): Remove decls.
49236         (error_print_progname): Prototype uncondionally.
49237         Don't include <errno.h>; no longer needed.
49238         (private_strerror): Remove.
49239         (error_tail): Always define.
49240         (error, error_at_line): Assume C89 or better; always use prototypes.
49241         * lib/fatal.c: Include "fatal.h" first, to test interface.
49242         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
49243         (VA_START): Remove; all uses changed to va_start.
49244         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
49245         this case.
49246         (exit): Remove decl.
49247         (fatal): Prototype unconditionally.  Assume va_start works.
49248         Abort at end, to pacify gcc.
49249
49250         * lib/euidaccess.c (main): Define with a prototype.
49251
49252         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
49253
49254         * lib/exitfail.c: Include <stdlib.h> unconditionally.
49255
49256         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
49257         prototypes.
49258         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
49259         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
49260         (getenv): Remove decl.
49261         (fnmatch): Define using a prototype.
49262         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
49263         (FCT): Define using a prototype.
49264
49265         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
49266
49267         * lib/gethostname.c: Include <stddef.h>.
49268         (gethostname): Define with prototype.  Length is size_t, not int.
49269
49270 2003-09-08  Paul Eggert  <eggert@twinsun.com>
49271
49272         Assume C89 or better; remove K&R cruft.
49273         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
49274         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
49275         string.h, getenv, malloc.
49276         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
49277         headers.
49278         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
49279         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
49280         do not check for strerror.
49281         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
49282         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
49283         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
49284         do not check for doprnt or vprintf.
49285         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
49286         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
49287
49288 2003-09-08  Paul Eggert  <eggert@twinsun.com>
49289
49290         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
49291         getversion.c should have been removed then, but was accidentally
49292         preserved.
49293
49294         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
49295         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
49296
49297 2003-09-08  Karl Berry  <karl@gnu.org>
49298
49299         * config/config.sub, config.guess, srclistvars.sh: update from savannah
49300                 config, forget about prep.
49301
49302         * config/depcomp, missing: update from automake.
49303
49304 2003-09-07  Paul Eggert  <eggert@twinsun.com>
49305
49306         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
49307         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
49308
49309 2003-09-07  Paul Eggert  <eggert@twinsun.com>
49310
49311         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
49312         copy_tm_result.  Bug reported by Simon Josefsson in
49313         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
49314
49315 2003-09-06  Paul Eggert  <eggert@twinsun.com>
49316
49317         * m4/time_r.m4: New file.
49318         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
49319         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
49320         is. Check for timegm declaration.
49321         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
49322         Do not check for gmtime_r.
49323         Replace mktime if __mktime_internal does not exist and if mktime
49324         hasn't been replaced already.
49325
49326 2003-09-06  Paul Eggert  <eggert@twinsun.com>
49327
49328         * lib/time_r.c, lib/time_r.h: New files.
49329
49330         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
49331         __localtime_r.
49332         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
49333         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
49334
49335         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
49336         __gmtime_r.
49337         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
49338         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
49339         Include <time_r.h>.
49340
49341         * lib/timegm.c: Switch to glibc implementation, with the following
49342         changes:
49343         [defined HAVE_CONFIG_H]: Include <config.h>.
49344         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
49345         (__mktime_internal) [!defined _LIBC]: New decl.
49346         (__gmtime_r) [!defined _LIBC]: New macro and function.
49347         (timegm): Use a prototype, since gnulib assumes C89.
49348         Do not bother declaring tmp to be const, as it's not really usefu.
49349         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
49350         (timegm): Declare only if HAVE_DECL_TIMEGM.
49351
49352 2003-09-06  Paul Eggert  <eggert@twinsun.com>
49353
49354         * MODULES.html.sh (func_all_modules): Add time_r.
49355         * modules/time_r: New file.
49356         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
49357         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
49358
49359 2003-09-03  Paul Eggert  <eggert@twinsun.com>
49360
49361         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
49362         Bug reported by Lute Kamstra in
49363         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
49364
49365         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
49366         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
49367         course with correspondingly smaller numbers for tomorrow and
49368         yesterday.  From Tadayoshi Funaba.  Originally installed into
49369         sh-utils on 1999-08-07, but the patch got lost (I guess during the
49370         coreutils merge?).
49371
49372 2003-08-31  Simon Josefsson  <jas@extundo.com>
49373
49374         * modules/timegm: New file.
49375         * MODULES.html.sh (func_all_modules): Add timegm.
49376
49377 2003-08-31  Simon Josefsson  <jas@extundo.com>
49378
49379         * m4/timegm.m4: New file.
49380
49381 2003-08-31  Simon Josefsson  <jas@extundo.com>
49382
49383         * lib/timegm.h: New file.
49384         * lib/timegm.c: New file.  Based on
49385         wget-1.8.2/src/http.c:mktime_from_utc.
49386
49387 2003-08-31  Karl Berry  <karl@gnu.org>
49388
49389         * lib/argp.h: update from libc.
49390
49391 2003-08-28  Bruno Haible  <bruno@clisp.org>
49392
49393         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
49394         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
49395         followed by '#define fnmatch fnmatch_posix' gives an error.
49396
49397 2003-08-28  Bruno Haible  <bruno@clisp.org>
49398
49399         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
49400         warning on QNX, which defines O_BINARY to 000000.
49401
49402 2003-08-27  Jim Meyering  <jim@meyering.net>
49403
49404         * m4/mkstemp.m4: Require that the system mkstemp be able to create
49405         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
49406         would fail after 32.  Reported by Danny Levinson.  Details here:
49407         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
49408
49409 2003-08-24  Bruno Haible  <bruno@clisp.org>
49410
49411         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
49412         MSVC7 <stdio.h> is included later.
49413
49414 2003-08-22  Simon Josefsson  <jas@extundo.com>
49415
49416         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
49417
49418 2003-08-20  Karl Berry  <karl@gnu.org>
49419
49420         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
49421
49422 2003-08-20  Bruno Haible  <bruno@clisp.org>
49423
49424         * modules/progname: New file.
49425         * MODULES.html.sh (func_all_modules): Add progname.
49426
49427 2003-08-20  Bruno Haible  <bruno@clisp.org>
49428
49429         * lib/progname.h: New file, from GNU gettext.
49430         * lib/progname.c: New file, from GNU gettext.
49431         * lib/progreloc.c: New file, from GNU gettext.
49432
49433 2003-08-19  Jim Meyering  <jim@meyering.net>
49434
49435         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
49436         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
49437
49438 2003-08-19  Bruno Haible  <bruno@clisp.org>
49439
49440         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
49441         more.
49442
49443 2003-08-19  Bruno Haible  <bruno@clisp.org>
49444
49445         * lib/xstrdup.c: Assume <string.h> exists.
49446
49447 2003-08-18  Paul Eggert  <eggert@twinsun.com>
49448
49449         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
49450         in makefile rules.
49451
49452 2003-08-18  Jim Meyering  <jim@meyering.net>
49453
49454         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
49455         * m4/lib-ld.m4: Likewise.
49456
49457 2003-08-18  Jim Meyering  <jim@meyering.net>
49458
49459         * lib/setenv.h: Indent nested cpp directive.
49460         * lib/vasnprintf.c: Remove trailing blanks.
49461
49462 2003-08-17  Simon Josefsson  <jas@extundo.com>
49463
49464         * modules/xstrndup: New file.
49465         * MODULES.html.sh (func_all_modules): Add xstrndup.
49466
49467 2003-08-17  Simon Josefsson  <jas@extundo.com>
49468
49469         * modules/argp: Fix autoconf macro name. Add more dependencies.
49470
49471 2003-08-17  Simon Josefsson  <jas@extundo.com>
49472
49473         * m4/xstrndup.m4: New file.
49474
49475 2003-08-17  Simon Josefsson  <jas@extundo.com>
49476
49477         * m4/argp.m4: New file.
49478
49479 2003-08-17  Simon Josefsson  <jas@extundo.com>
49480             Bruno Haible  <bruno@clisp.org>
49481
49482         * lib/xstrndup.h: New file.
49483         * lib/xstrndup.c: New file.
49484
49485 2003-08-17  Bruno Haible  <bruno@clisp.org>
49486
49487         * modules/strndup (Files, Include): Add lib/strndup.h.
49488
49489 2003-08-17  Bruno Haible  <bruno@clisp.org>
49490
49491         * modules/euidaccess (Files): Add lib/euidaccess.h.
49492
49493 2003-08-17  Bruno Haible  <bruno@clisp.org>
49494
49495         * lib/strndup.h: New file.
49496
49497 2003-08-17  Bruno Haible  <bruno@clisp.org>
49498
49499         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
49500         like AC_GNU_SOURCE.
49501         * modules/extensions (configure.ac): Comment out the invocation of
49502         gl_USE_SYSTEM_EXTENSIONS.
49503
49504 2003-08-16  Paul Eggert  <eggert@twinsun.com>
49505
49506         Merges from coreutils, etc.
49507         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
49508         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
49509         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
49510         fixing a typo.
49511         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
49512         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
49513
49514 2003-08-16  Paul Eggert  <eggert@twinsun.com>
49515
49516         Document merge from coreutils.
49517         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
49518         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
49519         * modules/utime: Add m4/utimes-null.m4.
49520
49521 2003-08-16  Paul Eggert  <eggert@twinsun.com>
49522
49523         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
49524         space, undoing this 2003-08-12 change:
49525         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
49526
49527 2003-08-16  Paul Eggert  <eggert@twinsun.com>
49528
49529         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
49530         strtoul.c from libc, undoing this 2003-08-12 change:
49531         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
49532
49533 2003-08-16  Jim Meyering  <jim@meyering.net>
49534
49535         Merges from coreutils.
49536         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
49537         prefix.  Adjust cache variables similarly.  Create 500 rather than
49538         just 300 files, to exercise bug on Darwin6.5, too.
49539         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
49540         $missing_dir.
49541         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
49542         AM_SYS_POSIX_TERMIOS.
49543         Reported by mkc@mathdogs.com.
49544         Also change use of $am_cv_sys_posix_termios
49545         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
49546         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
49547         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
49548         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
49549         in /proc/mounts until it finds one with matching device number.  This
49550         is unnecessary when the FILE argument *is* a mount point.  No stat call
49551         is necessary in that case.  So, disable the statvfs-testing code on
49552         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
49553         as RedHat bug# 84846.
49554         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
49555         to 1MB, so as not to render systems with no stack size limit (e.g.,
49556         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
49557         Include <unistd.h>.  On some systems,
49558         it is required for the definition of _SC_PAGESIZE.
49559
49560 2003-08-16  Jim Meyering  <jim@meyering.net>
49561
49562         Merge from coreutils.
49563         * lib/xstrtoimax.c: #else #if -> #elif.
49564         * lib/xstrtoumax.c: Likewise.
49565
49566 2003-08-16  Jim Meyering  <jim@meyering.net>
49567
49568         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
49569         * m4/utimes.m4: Removed.
49570         * m4/utimes-null.m4: Renamed from utimes.m4.
49571
49572         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
49573         to 1MB, so as not to render systems with no stack size limit (e.g.,
49574         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
49575         Include <unistd.h>.  On some systems,
49576         it is required for the definition of _SC_PAGESIZE.
49577
49578 2003-08-16  Jim Meyering  <jim@meyering.net>
49579         and Paul Eggert  <eggert@cs.ucla.edu>
49580
49581         Merges from coreutils, etc.
49582
49583         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
49584         using the latest version from cvs.  This avoids problems with #line
49585         directives using a vendor (Sun) compiler.
49586         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
49587         Don't set GETGROUPS_LIB here; now it's
49588         done via getgroups.m4's wrapper function.
49589         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
49590         rather than just in sh-util/configure.in, so that the
49591         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
49592         same.
49593         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
49594         AC_FUNC_GETLOADAVG where to find getloadavg.c.
49595         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
49596         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
49597         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
49598         Remove code that is now done by the newly-required macros.
49599         Append $(EXEEXT) to DF_PROG.
49600         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
49601         Do not invoke or require the following here,
49602         since prereq.m4 or some gnulib .m4 now does this for us:
49603         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
49604         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
49605         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
49606         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
49607         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
49608         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
49609         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
49610         AC_FUNC_OBSTACK.
49611         Do not replace the following functions, as this is now the job
49612         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
49613         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
49614         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
49615         atexit getpass, strdup, getpagesize.
49616         Replace 'raise'.
49617         Do not check for the following functions, as this is now the job
49618         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
49619         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
49620         setregid.
49621         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
49622         Check for sys/sysctl.h.
49623         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
49624         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
49625         of checking for ssize_t ourselves.
49626
49627         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
49628         Require every macro that gnulib/modules/* suggests for us.
49629         (jm_PREREQ_ADDEXT): New macro.
49630         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
49631         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
49632
49633         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
49634         (gl_PHYSMEM): Use it.
49635         Also check for `table' function.
49636         Check for new headers and functions.
49637         Add check for sys/sysmp.h.
49638         With suggestions from Kaveh Ghazi.
49639         Ignore headers that are present but cannot be compiled.  This
49640         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
49641         C 5.4.
49642
49643 2003-08-15  Paul Eggert  <eggert@twinsun.com>
49644
49645         Document merge from coreutils.
49646         * modules/userspec: Depend on posixver.
49647         * modules/strftime: Depend on tzset.
49648
49649 2003-08-15  Paul Eggert  <eggert@twinsun.com>
49650
49651         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
49652         rather than tab, after '#' in shell-script copyright notices.
49653         Suggested by Bruno Haible.
49654
49655 2003-08-15  Paul Eggert  <eggert@twinsun.com>
49656
49657         * config/srclist-update: Use three spaces, rather than tab, after '#'
49658         in shell-script copyright notices.  Suggested by Bruno Haible.
49659         Remove unnecessary parenthesization in regular expression.
49660
49661 2003-08-15  Jim Meyering  <jim@meyering.net>
49662
49663         Merge from coreutils.
49664         * lib/xgethostname.c: Include <stdlib.h>.
49665         (xghostname): Don't exit for anything other than memory-related
49666         failure; just return NULL.
49667         * lib/userspec.c: Include "posixver.h".
49668         (parse_user_spec): Accept `.' as a separator only
49669         in pre-POSIX-200112 mode.
49670         * lib/strtoimax.c: Use #elif rather than #else #if.
49671         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
49672         Remove function, now that we can rely on a working tzset function.
49673         [!_LIBC]: Ensure that the required autoconf test has been run.
49674         [!defined _NL_CURRENT && HAVE_STRFTIME]:
49675         Use underlying_strftime for %r.
49676         * lib/sha.c: Merge in some clean-up and optimization changes from
49677         glibc.
49678         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
49679         Ensure that it is a multiple of 64.
49680         Rearrange loop exit tests so as to avoid performing an
49681         additional fread after encountering an error or EOF.
49682         * lib/realloc.c: Update copyright date.
49683
49684 2003-08-15  Jim Meyering  <jim@meyering.net>
49685         and Paul Eggert  <eggert@twinsun.com>
49686
49687         Merge from coreutils.
49688         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
49689         member but strut utmpx does not.  Needed for AIX 4.3.3.
49690         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
49691
49692 2003-08-15  Jim Meyering  <jim@meyering.net>
49693         and Paul Eggert  <eggert@cs.ucla.edu>
49694
49695         Merges from coreutils, etc.
49696         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
49697         Require gl_FUNC_TZSET_CLOBBER.
49698         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
49699         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
49700         members.
49701
49702 2003-08-14  Paul Eggert  <eggert@twinsun.com>
49703
49704         Help the merge from coreutils.
49705         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
49706         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
49707         * m4/tzset.m4: Use it too.
49708
49709 2003-08-14  Paul Eggert  <eggert@twinsun.com>
49710
49711         * modules/tzset: New file.
49712
49713 2003-08-14  Jim Meyering  <jim@meyering.net>
49714
49715         Merges from coreutils.
49716         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
49717         variable names, rather than @FNMATCH_H@.
49718         * modules/alloca: Likewise for $(ALLOCA_H).
49719
49720         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
49721         the three copies of the literal target, `fnmatch.h'.
49722         * modules/alloca (alloca.h): Likewise.
49723
49724 2003-08-14  Jim Meyering  <jim@meyering.net>
49725
49726         Merge from coreutils.
49727         * m4/tzset.m4: New file.
49728         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
49729         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
49730         otherwise, AIX 5.1 systems would end up using the latter.
49731         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
49732         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
49733         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
49734         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
49735
49736 2003-08-14  Jim Meyering  <jim@meyering.net>
49737
49738         Merge from coreutils.
49739         * lib/obstack.h: Whitespace changes.
49740         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
49741         and xcalloc return values.
49742         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
49743         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
49744         hang on OSF/1 5.1 for DIR on both local and remote file systems.
49745         Reported by (and fix confirmed by) Nelson H. F. Beebe.
49746         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
49747         error from mntctl.
49748         Use mntctl's return value to drive the entry-processing loop, since
49749         we can't rely on the value of the vmt_length member in the last
49750         entry.  On some systems doing so could result in exhausting
49751         virtual memory.  Based in part on a patch from Mike Jetzer.
49752
49753 2003-08-14  Jim Meyering  <jim@meyering.net>
49754         and Paul Eggert  <eggert@twinsun.com>
49755
49756         Merges from coreutils, plus other fixes.
49757         * lib/physmem.c: Merge in portability changes from gcc/libiberty
49758         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
49759         for credits and details.  Thanks to Kaveh Ghazi for helping
49760         to keep these files in sync.
49761         (ARRAY_SIZE): Define it.
49762         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
49763         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
49764         (memcasecmp): Don't assume size_t fits in unsigned int.
49765         Remove casts and duplicate code.
49766         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
49767         (memcpy): Remove definition.
49768         Merge in some clean-up and optimization changes from glibc.
49769         [BLOCKSIZE]: Move definition to top of file.
49770         Ensure that it is a multiple of 64.
49771         Rearrange loop exit tests so as to avoid performing an
49772         additional fread after encountering an error or EOF.
49773         * lib/md5.h (md5_uintptr): Define.
49774         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
49775         return to the initial working directory.  Preserve errno
49776         for caller.
49777         * lib/idcache.c: Include "xalloc.h".
49778         (xmalloc, xrealloc): Remove decls.
49779         (getuser): Remove casts no longer required in C89.
49780         * lib/human.c: Include stdio.h, for sprintf.
49781         * lib/group-member.c: Include "xalloc.h".
49782         (xmalloc, xrealloc): Remove decls.
49783         (get_group_info): Remove casts no longer required in C89.
49784         * lib/getusershell.c (readname): Remove casts no longer required in
49785         C89.
49786         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
49787         * lib/getline.c: Whitespace fix, from coreutils.
49788
49789 2003-08-13  Paul Eggert  <eggert@twinsun.com>
49790
49791         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
49792         Check for isascii.
49793
49794         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
49795         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
49796         Undo previous (whitespace-only) change.
49797
49798 2003-08-13  Paul Eggert  <eggert@twinsun.com>
49799
49800         * lib/exclude.c: Include <ctype.h>
49801         (IN_CTYPE_DOMAIN): New macro.
49802         (is_space): New fn.
49803         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
49804         and empty lines.
49805
49806         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
49807         Undo previous (whitespace-only) change.
49808
49809 2003-08-13  Paul Eggert  <eggert@twinsun.com>
49810
49811         * config/srclist-update: Change update back to the old behavior,
49812         leaving whitespace alone.  Use one 'sed' command rather than a
49813         pipeline.
49814         (fixlicense): Now a variable, not a function.
49815         (remove_trailing_blanks): Remove.
49816         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
49817         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
49818         Undo previous (whitespace-only) change.
49819
49820 2003-08-12  Paul Eggert  <eggert@twinsun.com>
49821
49822         Merge from coreutils.
49823         * modules/euidaccess: Add lib_SOURCES, include for new
49824         file euidaccess.h
49825
49826 2003-08-12  Paul Eggert  <eggert@twinsun.com>
49827
49828         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
49829         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
49830         Normalize leading white space and remove trailing white space.
49831
49832         Merge from coreutils
49833         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
49834
49835         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
49836         0.12.1.  These files are now being upgraded automatically by
49837         ../config/srclist-update.
49838
49839 2003-08-12  Paul Eggert  <eggert@twinsun.com>
49840
49841         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
49842         Normalize leading white space and remove trailing white space.
49843         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
49844         notice, as per ../config/srclist-update.
49845
49846         Merge from coreutils.
49847         * lib/euidaccess.h: New file.
49848         * lib/euidaccess.c: Include it.
49849         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
49850         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
49851         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
49852
49853 2003-08-12  Paul Eggert  <eggert@twinsun.com>
49854
49855         * config/srclist-update: Add copyright notice.
49856         (remove_id_lines, remove_trailing_blanks): New constants.
49857         (fixfile): Use them to normalize spacing a bit in copied files.
49858         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
49859         Normalize leading white space and remove trailing white space.
49860
49861         * config/texinfo.tex: Sync with texinfo.
49862
49863         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
49864         strtoul.c from libc, to merge coreutils whitespace changes.
49865
49866         * config/srclist.txt: Get the following m4 files from gettext:
49867         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
49868         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
49869         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
49870         wint_t.m4.
49871
49872 2003-08-12  Karl Berry  <karl@gnu.org>
49873
49874         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
49875         been made.
49876
49877 2003-08-11  Paul Eggert  <eggert@twinsun.com>
49878
49879         * modules/gnu-source, m4/gnu-source.m4:
49880         Remove; we're assuming Autoconf 2.54 or later now.
49881         Suggested by Bruno Haible.
49882         * MODULES.html.sh (func_all_modules): Remove gnu-source.
49883
49884 2003-08-11  Bruno Haible  <bruno@clisp.org>
49885
49886         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
49887
49888 2003-08-11  Bruno Haible  <bruno@clisp.org>
49889
49890         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
49891         (vasnprintf): Use it instead of wcslen.
49892
49893 2003-08-11  Bruno Haible  <bruno@clisp.org>
49894
49895         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
49896         value to ensure that _Bool promotes to int. Use #define for _Bool when
49897         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
49898
49899 2003-08-10  Karl Berry  <karl@gnu.org>
49900
49901         * lib/regex.h: update from libc (whitespace fix).
49902
49903 2003-08-09  Paul Eggert  <eggert@twinsun.com>
49904
49905         Merge some files from coreutils.  These changes were
49906         originally made by Jim Meyering.
49907         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
49908         many older Unixes require this.
49909         * lib/alloca.c (alloca): Remove cast to argument of free;
49910         no longer needed in C89.
49911         * lib/alloca_.h, regex.h: Fix white space to match
49912         what GNU indent does.
49913
49914 2003-08-09  Paul Eggert  <eggert@twinsun.com>
49915
49916         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
49917         apparently Emacs's Unicode mode got confused before my 2003-08-05
49918         checkin.
49919
49920 2003-08-08  Paul Eggert  <eggert@twinsun.com>
49921
49922         * m4/extensions.m4: New file.
49923         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
49924         Require gl_USE_SYSTEM_EXTENSIONS.
49925         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
49926         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
49927
49928 2003-08-08  Paul Eggert  <eggert@twinsun.com>
49929
49930         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
49931         * modules/extensions, modules/gnu-source: New files.
49932         * modules/timespec, modules/unlocked-io: Depend on extensions.
49933
49934 2003-08-07  Paul Eggert  <eggert@twinsun.com>
49935
49936         * modules/restrict: New file.
49937         * MODULES.html.sh (func_all_modules): Add restrict.
49938         * modules/regex: Depend on restrict.
49939
49940 2003-08-07  Paul Eggert  <eggert@twinsun.com>
49941
49942         * m4/restrict.m4: New file.
49943         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
49944
49945 2003-08-07  Bruno Haible  <bruno@clisp.org>
49946
49947         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
49948         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
49949
49950 2003-08-07  Bruno Haible  <bruno@clisp.org>
49951
49952         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
49953         makes the module 'getndelim2' compatible with the module 'getline'.
49954
49955 2003-08-05  Paul Eggert  <eggert@twinsun.com>
49956
49957         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
49958         byte with "\201" to avoid glitches when editing that source file
49959         with multi-gnome-terminal.
49960
49961 2003-08-05  Paul Eggert  <eggert@twinsun.com>
49962
49963         * lib/bumpalloc.h: Remove.
49964
49965 2003-08-05  Paul Eggert  <eggert@twinsun.com>
49966
49967         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
49968         * modules/bumpalloc: Remove.
49969
49970 2003-08-04  Paul Eggert  <eggert@twinsun.com>
49971
49972         * lib/getloadavg.c: Change copyright notice and spacing to conform to
49973         GNU coding style.
49974
49975         Merge from coreutils.
49976         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
49977         1. From glibc.
49978         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
49979         from Karl Berry, implemented by Jim Meyering.
49980         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
49981         from Dmitry V. Levin.
49982         Remove anachronistic cast of xrealloc.
49983         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
49984         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
49985         type. Otherwise, it wouldn't compile with at least /bin/cc on
49986         ymp-cray-unicos9.0.2.X.
49987         Combine two mostly-identical uses of alloca into one.
49988         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
49989
49990 2003-08-04  Dave Love  <d.love@dl.ac.uk>
49991
49992         [From Emacs.]
49993
49994         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
49995         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
49996         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
49997         obsolete NLIST_NAME_UNION.
49998         [__GNU__]: Undef BSD and FSCALE.
49999         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
50000
50001 2003-08-03  Paul Eggert  <eggert@twinsun.com>
50002
50003         * lib/stdbool_.h (_Bool): Make it signed char, instead of
50004         an enum type, so that it's guaranteed to promote to int.  See:
50005         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
50006
50007 2003-08-03  Karl Berry  <karl@gnu.org>
50008
50009         * config/depcomp: update from automake.
50010
50011 2003-07-31  Paul Eggert  <eggert@twinsun.com>
50012
50013         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
50014         (strerror): Don't assume that a printable int fits in 14 bytes.
50015
50016 2003-07-31  Bruno Haible  <bruno@clisp.org>
50017
50018         * modules/getpass-gnu: New file.
50019         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
50020
50021 2003-07-31  Bruno Haible  <bruno@clisp.org>
50022
50023         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
50024
50025 2003-07-24  Karl Berry  <karl@gnu.org>
50026
50027         * config/missing: update from automake.
50028
50029 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
50030             Bruno Haible  <bruno@clisp.org>
50031
50032         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
50033         * lib/getline.c (getline, getdelim): Likewise.
50034         Remove _GNU_SOURCE define; now it's defined in config.h through
50035         m4/getline.m4.
50036
50037 2003-07-23  Karl Berry  <karl@gnu.org>
50038
50039         * config/config.sub: update from prep.
50040
50041 2003-07-22  Paul Eggert  <eggert@twinsun.com>
50042
50043         * modules/xalloc (Depends-on): Add exitfail.
50044         * modules/xmemcoll: Likewise.
50045
50046 2003-07-22  Paul Eggert  <eggert@twinsun.com>
50047
50048         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
50049         over-parenthesization in macros.
50050
50051         Sync with coreutils.
50052
50053         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
50054         required by C99.
50055
50056         Use `exit_failure' for xalloc and xmemcoll instead of their own
50057         private exit-failure variables.
50058         * lib/xalloc.h (xalloc_exit_failure): Remove.
50059         * lib/xmalloc.c: Likewise.  Include exitfail.h.
50060         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
50061         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
50062         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
50063         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
50064
50065 2003-07-20  Jim Meyering  <jim@meyering.net>
50066
50067         * modules/closeout (Depends-on): Add exitfail.
50068         Suggestion from Bruno Haible.
50069
50070 2003-07-19  Karl Berry  <karl@gnu.org>
50071
50072         * config/config.sub: update from prep.
50073
50074 2003-07-18  Paul Eggert  <eggert@twinsun.com>
50075
50076         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
50077         Remove.
50078         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
50079         to test that it can stand by itself.  Include "exitfail.h".
50080         Clients should set exit_failure instead.
50081         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
50082
50083 2003-07-18  Bruno Haible  <bruno@clisp.org>
50084
50085         * modules/getndelim2: New file.
50086         * modules/getline: Share files with module getndelim2.
50087         * modules/getnline: Depend on getndelim2 instead of sharing files with
50088         it. Add getnline.c to lib_SOURCES.
50089         * MODULES.html.sh (func_all_modules): Add getndelim2.
50090
50091 2003-07-18  Bruno Haible  <bruno@clisp.org>
50092
50093         * m4/getndelim2.m4: New file.
50094         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
50095         invoke gl_PREREQ_GETNDELIM2.
50096         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
50097         gl_PREREQ_GETNDELIM2.
50098         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
50099         gl_GETNDELIM2.
50100
50101 2003-07-18  Bruno Haible  <bruno@clisp.org>
50102
50103         * lib/getndelim2.h: New file.
50104         * lib/getndelim2.c: Make into a module of its own. Include config.h,
50105         getndelim2.h.
50106         (getndelim2): Make non-static. Change return type to ssize_t.
50107         * lib/getline.h: Change argument names.
50108         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
50109         * lib/getnline.c: Include getndelim2.h.
50110
50111 2003-07-18  Andreas Schwab  <schwab@suse.de>
50112
50113         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
50114
50115 2003-07-17  Karl Berry  <karl@gnu.org>
50116
50117         * config/config.sub: update from prep.
50118
50119 2003-07-17  Bruno Haible  <bruno@clisp.org>
50120
50121         * modules/getnline: New file.
50122         * modules/getline: Add lib/getndelim2.c to source file list.
50123         * MODULES.html.sh (func_all_modules): Add getnline.
50124
50125 2003-07-17  Bruno Haible  <bruno@clisp.org>
50126
50127         * m4/getnline.m4: New file.
50128
50129 2003-07-17  Bruno Haible  <bruno@clisp.org>
50130
50131         * m4/Makefile.am.in: Remove file.
50132         * m4/Makefile.am: Remove file.
50133         * m4/Makefile.in: Remove file.
50134
50135 2003-07-17  Bruno Haible  <bruno@clisp.org>
50136
50137         * lib/getnline.h: New file.
50138         * lib/getnline.c: New file.
50139         * lib/getndelim2.c: New file, extracted from getline.c.
50140         (getndelim2): Renamed from getdelim2, with added nmax argument.
50141         * lib/getline.c: Include getndelim2.c.
50142         (getdelim2): Moved out to getndelim2.c.
50143         (getline, getdelim): Update.
50144
50145 2003-07-17  Bruno Haible  <bruno@clisp.org>
50146
50147         * lib/Makefile.am: Remove file.
50148         * lib/Makefile.in: Remove file.
50149
50150 2003-07-17  Bruno Haible  <bruno@clisp.org>
50151
50152         * configure.in: Remove file.
50153         * Makefile.in: Remove file.
50154
50155 2003-07-17  Bruno Haible  <bruno@clisp.org>
50156
50157         * MODULES.html.sh: Put the </BODY> right before </HTML>.
50158
50159 2003-07-16  Karl Berry  <karl@gnu.org>
50160
50161         * config/srclist-update: was running fixlicense twice, which caused
50162                 texinfo.tex to be nullified for some reason.  Simplify,
50163                 $gplsrc is no longer needed as far as I can see?
50164
50165 2003-07-16  Jim Meyering  <jim@meyering.net>
50166
50167         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
50168
50169 2003-07-15  Paul Eggert  <eggert@twinsun.com>
50170
50171         * config/srclist.txt: Get the following files from gettext-runtime/intl
50172         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
50173         ref-del.sin.  From Bruno Haible.
50174         * config/srclist-update (fixfile): Change grep pattern again, since the
50175         previous fix didn't work (there was another trailing $).  Use
50176         '[$]' to escape the $s.
50177
50178 2003-07-15  Karl Berry  <karl@gnu.org>
50179
50180         * lib/vasnprintf.c: update from gettext.
50181
50182 2003-07-15  Karl Berry  <karl@gnu.org>
50183
50184         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
50185         gets expanded when surrounded by '$'.
50186
50187 2003-07-15  Jim Meyering  <jim@meyering.net>
50188
50189         * modules/save-cwd: Don't depend on error.  From Derek Price.
50190
50191 2003-07-15  Jim Meyering  <jim@meyering.net>
50192
50193         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
50194
50195 2003-07-14  Simon Josefsson  <jas@extundo.com>
50196
50197         * modules/mempcpy: New file.
50198         * MODULES.html.sh (func_all_modules): Add mempcpy.
50199
50200 2003-07-14  Simon Josefsson  <jas@extundo.com>
50201
50202         * m4/mempcpy.m4: New file.
50203
50204 2003-07-14  Simon Josefsson  <jas@extundo.com>
50205
50206         * lib/mempcpy.h: New file.
50207         * lib/mempcpy.c: New file.
50208
50209 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50210
50211         * modules/getdate, modules/posixtm: Depend on mktime.
50212
50213 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50214
50215         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
50216         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
50217         unicodeio.c, unicodeio.h, unlocked-io.h:
50218         Switch from LGPL to GPL.
50219
50220 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50221
50222         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
50223         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
50224         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
50225         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
50226         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
50227         updated automatically by ../config/srclist-update.  This changes
50228         their license from LPGL to GPL.
50229
50230 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50231
50232         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
50233         assumed to refer to the root of the most recent stable gettext version.
50234         * config/srclistvars.sh: Add defaults for eggert.
50235         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
50236         Match "This program" as well as "The program".  This is needed
50237         for gettext.
50238
50239 2003-07-14  Jim Meyering  <jim@meyering.net>
50240
50241         Don't emit diagnostics.  Let callers do that.
50242         * lib/save-cwd.c: Don't include "error.h".
50243         (save_cwd): Don't call error.  Ensure that errno is valid
50244         when returning nonzero.
50245
50246         * lib/save-cwd.h (restore_cwd): Update prototype.
50247         * lib/save-cwd.c (restore_cwd): Remove two parameters.
50248         Simplify.  Don't call error upon failure.  Let callers do that.
50249         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
50250         when auditing is enabled.  But don't bother updating the #if.
50251
50252 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
50253
50254         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
50255         it breaks C++ compilation.
50256         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
50257
50258 2003-07-10  Simon Josefsson  <jas@extundo.com>
50259
50260         * modules/strchrnul (Makefile.am): Add strchrnul.h.
50261
50262 2003-07-10  Jim Meyering  <jim@meyering.net>
50263
50264         * m4/clock_time.m4: Remove trailing blank.
50265         * m4/intmax_t.m4: Likewise.
50266
50267 2003-07-10  Jim Meyering  <jim@meyering.net>
50268
50269         * lib/vasnprintf.c: Remove trailing blanks.
50270         Make cpp indentation consistent.
50271
50272 2003-07-09  Paul Eggert  <eggert@twinsun.com>
50273
50274         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
50275         posixver.c, strftime.c, strnlen.c, strverscmp.c:
50276         Switch from LGPL to GPL.
50277
50278 2003-07-09  Paul Eggert  <eggert@twinsun.com>
50279
50280         * config/srclist.txt: Sort sublists.  Add
50281         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
50282         that differ from gnulib for one reason or another; we'd like this list
50283         to be smaller but for now let's document what we have.
50284
50285 2003-07-08  Paul Eggert  <eggert@twinsun.com>
50286
50287         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
50288         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
50289         and sweeter "eval x=$x".
50290         * config/srclist.txt: Get lib/argp* from glibc.
50291
50292 2003-07-07  Paul Eggert  <eggert@twinsun.com>
50293
50294         * lib/mktime.c: Fix some boundary cases and remove need for floating
50295         point.
50296
50297         Issue a compile-time diagnostic if time_t is floating point, or if
50298         two's complement arithmetic is not in effect, or if arithmetic
50299         right shift does not propagate the sign.  These assumptions were
50300         all in the original code but they weren't checked.
50301
50302         (TIME_T_MIDPOINT, verify): New macros.
50303         (__isleap): Remove; it has integer overflow problems.
50304         (leapyear): New function, without those problems.
50305         (ydhms_tm_diff): Remove; splitting into two parts.
50306         (ydhms_diff): New function, containing the arithmetic part of
50307         the old ydhms_tm_diff function.  Issue a compile-time
50308         diagnostic if we are not using C99 integer division.
50309         Avoid casts when possible.
50310         (guess_time_tm): New function, containing the checking part of
50311         the old ydhms_tm_diff function.  Return the new value, rather than
50312         the difference between it and the old.  Accept a new argument T
50313         so that *T specifies the old value.  Check for overflow in the result.
50314
50315         (__mktime_internal): Use a time_t offset, not a long int offset.
50316         This undoes the 2003-06-04 change, which is no longer needed now
50317         that we have better overflow checking.
50318         (localtime_offset): Likewise.
50319
50320         (__mktime_internal): Avoid harmful overflow on hosts where time_t
50321         and long are 64-bit but int is only 32-bit.
50322         (ydhms_diff): Use long int to store year1 and yday1.
50323         Issue a compile-time diagnostic if long int is not wide enough.
50324
50325         (__mktime_internal): Use long int to store adjusted year and yday.
50326         Use plain C rather than preprocessor commands, if that doesn't
50327         affect efficiency.
50328         Check for overflow (and try to repair) after each probe
50329         rather than checking only at the very end.  This avoids some bugs
50330         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
50331         does not equal GMT offset at maximum time).
50332         Use integer to check for overflow rather than floating point; this
50333         is more portable to non-IEEE hosts, and is a tad faster.
50334         When we detect that we are oscillating between two values,
50335         don't check whether tm_isdst has the requested value, since
50336         we already know the answer.  When tm_isdst has the wrong value,
50337         use a different heuristic to find the right one, based on the
50338         extreme values actually observed in practice in tz2003a,
50339         rather than the (overly optimistic) "previous 3 calendar quarters".
50340
50341         (not_equal_tm, print_tm, check_result): Use "const T" rather than
50342         "T const" to accommodate glibc style.
50343         (check_result): Use less-confusing report format.  "long" -> "long int.
50344         (main): Likewise.
50345         Don't loop if the iteration overflows time_t.
50346         Allow a negative step in the iteration.
50347
50348 2003-07-06  Karl Berry  <karl@gnu.org>
50349
50350         * config/depcomp: update from automake.
50351         * config/config.sub: update from prep.
50352
50353 2003-07-03  Karl Berry  <karl@gnu.org>
50354
50355         * config/config.guess: update from prep.
50356
50357 2003-07-01  Paul Eggert  <eggert@twinsun.com>
50358
50359         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
50360         xreadlink.c now includes it unconditionally.
50361
50362 2003-07-01  Paul Eggert  <eggert@twinsun.com>
50363
50364         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
50365         having it depend on HAVE_SYS_TYPES_H.
50366
50367 2003-07-01  Bruno Haible  <bruno@clisp.org>
50368
50369         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
50370         <sys/types.h> should be sufficient.
50371         Reported by Paul Eggert.
50372
50373 2003-06-26  Karl Berry  <karl@gnu.org>
50374
50375         * config/depcomp: update from automake.
50376
50377 2003-06-26  Bruno Haible  <bruno@clisp.org>
50378
50379         * modules/human: Depend on module stdbool.
50380
50381 2003-06-25  Bruno Haible  <bruno@clisp.org>
50382
50383         * modules/readlink: New file.
50384         * modules/xreadlink: Depend on it.
50385         * MODULES.html.sh (func_all_modules): Add readlink.
50386
50387 2003-06-25  Bruno Haible  <bruno@clisp.org>
50388
50389         * m4/readlink.m4: New file.
50390
50391 2003-06-25  Bruno Haible  <bruno@clisp.org>
50392
50393         * lib/readlink.c: New file.
50394
50395 2003-06-22  Karl Berry  <karl@gnu.org>
50396
50397         * config/srclist.txt: update mkinstalldirs from automake.
50398         * config/mkinstalldirs: update.
50399
50400 2003-06-22  Bruno Haible  <bruno@clisp.org>
50401
50402         Portability to mingw32.
50403         * m4/ssize_t.m4: New file, from GNU gettext.
50404         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
50405         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
50406
50407 2003-06-22  Bruno Haible  <bruno@clisp.org>
50408
50409         * modules/safe-read: Add m4/ssize_t.m4.
50410         * modules/xreadlink: Add m4/ssize_t.m4.
50411
50412 2003-06-20  Bruno Haible  <bruno@clisp.org>
50413
50414         Assume C89, so PARAMS isn't needed.
50415         * lib/unicodeio.h (PARAMS): Remove.
50416         * lib/unicodeio.c: Don't use PARAMS.
50417
50418 2003-06-18  Karl Berry  <karl@gnu.org>
50419
50420         * config/config.{guess,sub}: update from prep.
50421
50422 2003-06-18  Jim Meyering  <jim@meyering.net>
50423
50424         Merge changes from coreutils.
50425         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
50426         Remove explicit declarations of xmalloc and realloc.
50427         Include xalloc.h.
50428         (read_utmp): Remove anachronistic cast of xmalloc.
50429
50430 2003-06-17  Paul Eggert  <eggert@twinsun.com>
50431
50432         Assume C89, so PARAMS isn't needed.
50433         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
50434         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
50435         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
50436         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
50437         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
50438         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
50439         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
50440         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
50441         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
50442         lib/xstrtod.h, lib/xstrtol.h: Likewise.
50443         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
50444         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
50445         no longer needed. Anyway, config.h should always be included before any
50446         other file.
50447
50448 2003-06-11  Simon Josefsson  <jas@extundo.com>
50449
50450         * modules/sysexits: New file.
50451         * MODULES.html.sh (func_all_modules): Add sysexits.
50452
50453 2003-06-11  Simon Josefsson  <jas@extundo.com>
50454
50455         * lib/sysexit_.h: New file.
50456
50457 2003-06-11  Derek Price  <derek@ximbiot.com>
50458
50459         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
50460         necessary.
50461
50462 2003-06-11  Bruno Haible  <bruno@clisp.org>
50463
50464         * m4/sysexits.m4: New file.
50465
50466 2003-06-10  Simon Josefsson  <jas@extundo.com>
50467
50468         * lib/argp.h: New file, from glibc.
50469         * lib/argp-ba.c: New file, from glibc.
50470         * lib/argp-eexst.c: New file, from glibc.
50471         * lib/argp-fmtstream.c: New file, from glibc.
50472         * lib/argp-fmtstream.h: New file, from glibc.
50473         * lib/argp-fs-xinl.c: New file, from glibc.
50474         * lib/argp-help.c: New file, from glibc.
50475         * lib/argp-namefrob.h: New file, from glibc.
50476         * lib/argp-parse.c: New file, from glibc.
50477         * lib/argp-pv.c: New file, from glibc.
50478         * lib/argp-pvh.c: New file, from glibc.
50479         * lib/argp-xinl.c: New file, from glibc.
50480
50481 2003-06-10  Simon Josefsson  <jas@extundo.com>
50482
50483         * modules/strchrnul: New file.
50484
50485 2003-06-10  Simon Josefsson  <jas@extundo.com>
50486
50487         * modules/argp: New file.
50488
50489 2003-06-10  Simon Josefsson  <jas@extundo.com>
50490
50491         * m4/strchrnul.m4: New file.
50492
50493 2003-06-10  Simon Josefsson  <jas@extundo.com>
50494
50495         * lib/strchrnul.h: New file.
50496         * lib/strchrnul.c: New file.
50497
50498 2003-06-10  Bruno Haible  <bruno@clisp.org>
50499
50500         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
50501
50502 2003-06-07  Karl Berry  <karl@gnu.org>
50503
50504         * config/config.{guess,sub}: update from prep.
50505
50506 2003-06-07  Jim Meyering  <jim@meyering.net>
50507
50508         * modules/strtod: Use $(...) notation, not @...@ for
50509         AC_REPLACE'd variables.
50510         * modules/localcharset: Likewise.
50511
50512 2003-06-07  Jim Meyering  <jim@meyering.net>
50513
50514         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
50515         in place of my name in the copyright comment.
50516         Remove definition and uses of __P.
50517
50518         From coreutils.
50519         * lib/stat.c: Don't declare xmalloc explicitly.
50520         Instead, include "xalloc.h".
50521         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
50522         xrealloc, and xcalloc return values.
50523         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
50524         Improve comment.
50525         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
50526
50527 2003-06-07  Bruno Haible  <bruno@clisp.org>
50528
50529         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
50530         avoid AC_CONFIG_LINKS.
50531         * modules/fnmatch (Makefile.am): Use explicit creation rule for
50532         fnmatch.h, to avoid AC_CONFIG_LINKS.
50533         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
50534
50535 2003-06-07  Bruno Haible  <bruno@clisp.org>
50536
50537         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
50538         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
50539         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
50540         directory.
50541         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
50542         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
50543         directory.
50544
50545 2003-06-06  Jim Meyering  <jim@meyering.net>
50546
50547         Merge from coreutils.
50548         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
50549         Consolidate declarations and initializations of *_base* locals.
50550
50551         Merge from coreutils.
50552         This avoids a core dump on systems without GNU putenv,
50553         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
50554         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
50555         (unsetenv): New static function, from GNU libc.
50556         (rpl_putenv): Use it.
50557
50558         * lib/modechange.c: Remove trailing blanks.
50559
50560         Merge from coreutils.
50561         * lib/fsusage.c: Remove declaration of statfs.
50562         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
50563
50564         * lib/posixtm.c: Include <stdbool.h> unconditionally.
50565
50566 2003-06-06  Jim Meyering  <jim@meyering.net>
50567
50568         * lib/stdbool_.h: Renamed from stdbool.h.in.
50569
50570 2003-06-06  Jim Meyering  <jim@meyering.net>
50571             Bruno Haible  <bruno@clisp.org>
50572
50573         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
50574         Adjust Makefile.am snippet not to redirect directly to target.
50575         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
50576
50577 2003-06-05  Paul Eggert  <eggert@twinsun.com>
50578
50579         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
50580         mismatch, look in future quarters as well as past.  This fixes a
50581         bug when processing fall-backwards gaps immediately after a long
50582         period of daylight-saving time.
50583
50584         * lib/mktime.c: Assume freestanding C89 or better.
50585         (HAVE_LIMITS_H): Remove.  Assume it's 1.
50586         (__P): Remove; not used.
50587         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
50588         (mktime, not_equal_tm, print_tm, check_result,
50589         main): Use prototypes.  Use const * where appropriate.
50590         (main): Fix typo in testing code that uncovered by above changes.
50591         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
50592
50593 2003-06-04  Paul Eggert  <eggert@twinsun.com>
50594
50595         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
50596         locale.h, localeconv.  This merges changes from coreutils.
50597
50598         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
50599         It can be removed after the next Autoconf is released.
50600         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
50601         needed.
50602
50603 2003-06-04  Paul Eggert  <eggert@twinsun.com>
50604
50605         * lib/mktime.c: Fix Debian bug 177940
50606         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
50607         (localtime_offset): Now long int, not time_t, because we want it
50608         to be guaranteed to be signed.  All uses changed.
50609         (__mktime_internal): If overflow would occur when adding offset,
50610         don't add it.
50611
50612         Merge 'human' changes from coreutils.  Rewrite to support
50613         locale-specific notations like thousands separators.
50614         * lib/human.c: Simplify authorship notice.
50615         Include human.h immediately after config.h.
50616         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
50617         <limits.h>: Do not include, since human.h does.
50618         (SIZE_MAX, UINTMAX_MAX): New macros.
50619         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
50620         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
50621         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
50622         (power_letter): Renamed from suffixes.
50623         (generate_suffix_backwards): Remove.
50624         (adjust_value): Now takes int style (because of human.h changes)
50625         and long double value (for greater precision on some platforms).
50626         (group_number): New function.
50627         (human_readable): Use it.  Use integer options, not enum.
50628         Put the options before the sizes in the arg list.
50629         Support all the new options.
50630         The old human_readable function has been removed;
50631         use inttostr.h instead.
50632         (human_readable, default_block_size, humblock):
50633         Use uintmax_t, not int, for block sizes.
50634         (human_readable_inexact, block_size_types): Remove.
50635         (block_size_opts): New constant.
50636         (human_options): Renamed from human_block_size, with new signature
50637         that allows block sizes up to UINTMAX_MAX.  All callers changed.
50638         * lib/human.h: Add copyright and authorship notice.
50639         Include <limits.h> and <stdbool.h> unconditionally.
50640         (PARAMS): Remove.  All uses removed.
50641         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
50642         (enum human_inexact_style): Remove tag; now a nameless enum.
50643         (human_floor, human_ceiling, human_round_to_even): Now have
50644         values 2, 0, 1 rather than -1, 1, 0.
50645         (human_group_digits, human_suppress_point_zero, human_autoscale,
50646         human_base_1024, human_SI, human_B): New constants.
50647         (human_readable_inexact, human_block_size): Remove.
50648         (human_readable): Size args are now uintmax_t, not int.
50649         (human_options): New decl.
50650
50651         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
50652         unnecessary now that we assume C89 or better.  This change
50653         imported from coreutils.
50654
50655         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
50656         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
50657         in the 2003-05-30 sync from glibc.
50658
50659         .h files should stand alone, but we shouldn't include <sys/types.h>
50660         if we can get away with just <stddef.h>.
50661
50662         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
50663         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
50664         rather than <sys/types.h>, as we merely need size_t.
50665         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
50666         to get size_t.
50667         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
50668         Include <stdio.h>, to get FILE.
50669         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
50670         memcasecmp.h has included <stddef.h> and all we need is size_t.
50671         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
50672         our interface, instead of including <sys/types.h>
50673
50674 2003-06-04  Paul Eggert  <eggert@twinsun.com>
50675
50676         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
50677         now, as glibc mktime is buggy on non-glibc systems.
50678
50679 2003-06-03  Karl Berry  <karl@gnu.org>
50680
50681         * config/config.sub: update from prep.
50682
50683 2003-06-02  Paul Eggert  <eggert@twinsun.com>
50684
50685         [from coreutils]
50686         Fix some minor time-related bugs with POSIX time arguments.
50687         Some valid time stamps were being rejected (notably -1, and
50688         time stamps before 1900 on 64-bit hosts).  And some invalid
50689         time stamps were being accepted, e.g. September 31.
50690
50691         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
50692         that we can return (time_t) -1 successfully.
50693         * lib/posixtm.c: Likewise.
50694         [HAVE_STDBOOL_H]: Include <stdbool.h>.
50695         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
50696         (t): Remove static var.
50697         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
50698         of static var.  All uses changed.
50699         (year): Do not reject years before 1900; they can occur with
50700         64-bit time_t.
50701         (posix_time_parse): Do not check for out-of-range components;
50702         that is now the caller's responsibility, since our checks were
50703         only approximations.
50704         (posixtime): Use mktime to check for out-of-range components,
50705         since it knows them exactly.
50706         If mktime returns (time_t) -1, check whether an error actually occurred
50707         by invoking localtime on -1.
50708         (main) [TEST_POSIXTIME]: Check for input data errors, and report
50709         posixtime failures better.
50710         Improve the test data (in comments only).
50711
50712 2003-06-02  Karl Berry  <karl@gnu.org>
50713
50714         * config/mkinstalldirs (version): new variable.
50715         (--version): new option.
50716         (usage): improve message.
50717
50718 2003-05-30  Karl Berry  <karl@gnu.org>
50719
50720         * lib/mktime.c: update from libc.
50721
50722 2003-05-30  Bruno Haible  <bruno@clisp.org>
50723
50724         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
50725         * config/config.rpath: Upgrade to gettext-0.12.1.
50726
50727 2003-05-30  Bruno Haible  <bruno@clisp.org>
50728
50729         * m4/gettext.m4: Upgrade to gettext-0.12.1.
50730         * m4/nls.m4: New file, from gettext-0.12.1.
50731         * m4/po.m4: New file, from gettext-0.12.1.
50732         * m4/progtest.m4: Upgrade to gettext-0.12.1.
50733
50734 2003-05-30  Bruno Haible  <bruno@clisp.org>
50735
50736         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
50737         * lib/localcharset.h: Likewise.
50738         * lib/localcharset.c: Likewise.
50739
50740 2003-05-29  Karl Berry  <karl@gnu.org>
50741
50742         * config/config.rpath: update from gettext.
50743
50744 2003-05-28  Paul Eggert  <eggert@twinsun.com>
50745
50746         Assume the headers required for C89 freestanding compilers.
50747         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
50748         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
50749         * m4/human.m4 (gl_HUMAN): Likewise.
50750         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
50751         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
50752         * m4/userspec.m4 (gl_USERSPEC): Likewise.
50753         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
50754         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
50755         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
50756
50757 2003-05-28  Paul Eggert  <eggert@twinsun.com>
50758
50759         Assume the headers required for C89 freestanding compilers.
50760         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
50761         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
50762         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
50763         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
50764         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
50765         define, since <limits.h> is guaranteed to do that.
50766         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
50767         * lib/exclude.c: Include <stdbool.h> unconditionally.
50768         * lib/tempname.c: Include <stddef.h> unconditionally.
50769         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
50770         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
50771         <stddef.h> does that.
50772         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
50773         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
50774         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
50775         needed.
50776         * lib/xstrtol.c: Likewise.
50777         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
50778         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
50779
50780         * lib/addext.c (addext): Use assignment rather than cast, to avoid
50781         warnings on some platforms.
50782
50783         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
50784         arbitrarily.
50785
50786 2003-05-26  Jim Meyering  <jim@meyering.net>
50787
50788         Merge in a change from coreutils:
50789         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
50790         that is guaranteed to be `no'.  Use `no_such_member' to indicate
50791         that condition, rather than `-1' which is slightly misleading.
50792         Change the name of the cache variable to have the gl_ prefix.
50793         Prompted by a patch from Richard Dawe for DJGPP.
50794
50795 2003-05-24  Karl Berry  <karl@gnu.org>
50796
50797         * config/config.guess: update from prep.
50798
50799 2003-05-22  Karl Berry  <karl@gnu.org>
50800
50801         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
50802
50803 2003-05-20  Karl Berry  <karl@gnu.org>
50804
50805         * config/config.guess: update from prep.
50806
50807 2003-05-18  Karl Berry  <karl@gnu.org>
50808
50809         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
50810         might actually be set by the user.
50811
50812         * config/depcomp, install-sh, mdate-sh: update from automake.
50813
50814 2003-05-17  Bruno Haible  <bruno@clisp.org>
50815
50816         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
50817         invalid expansion for AC_EGREP_CPP.
50818         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
50819         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
50820         Suggested by Akim Demaille <akim@epita.fr> in
50821         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
50822
50823 2003-05-12  Jim Meyering  <jim@meyering.net>
50824
50825         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
50826         the space-padded-by-default conversion specifiers, %e, %k, %l.
50827
50828 2003-05-12  Bruno Haible  <bruno@clisp.org>
50829
50830         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
50831         the string is longer than 4 KB.
50832
50833 2003-05-11  Karl Berry  <karl@gnu.org>
50834
50835         * config/config.{guess,sub}: update from prep.
50836
50837 2003-05-09  Bruno Haible  <bruno@clisp.org>
50838
50839         * modules/error: Add m4/strerror_r.m4 to file list.
50840
50841 2003-05-03  Bruno Haible  <bruno@clisp.org>
50842
50843         Upgrade to Unicode-4.0.
50844         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
50845         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
50846         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
50847         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
50848         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
50849         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
50850         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
50851         Change width of U+E0100..U+E01EF from 1 to 0.
50852
50853 2003-04-25  Jim Meyering  <jim@meyering.net>
50854
50855         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
50856         of type size_t, not int.
50857
50858 2003-04-25  Bruno Haible  <bruno@clisp.org>
50859
50860         * lib/copy-file.c: Include <stddef.h>, for size_t.
50861
50862 2003-04-21  Paul Eggert  <eggert@twinsun.com>
50863
50864         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
50865         code which expansion is under static control.  Patch imported from
50866         Akim Demaille's patch to Bison; see
50867         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
50868
50869 2003-04-14  Bruno Haible  <bruno@clisp.org>
50870
50871         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
50872
50873 2003-04-11  Jim Meyering  <jim@meyering.net>
50874
50875         Merge changes from Coreutils.
50876
50877         2003-03-22  Jim Meyering  <jim@meyering.net>
50878
50879         * lib/strftime.c (widen): Cast alloca return value to proper type.
50880
50881         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
50882
50883         From GNU libc.
50884         * lib/strftime.c (my_strftime): Handle very large width
50885         specifications for numeric values correctly.  Improve checks for
50886         overflow.
50887
50888         2003-01-19  Jim Meyering  <jim@meyering.net>
50889
50890         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
50891         definitions.
50892         (nl_get_alt_digit) [! defined my_strftime]: Define.
50893         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
50894         _nl_get_alt_digit and _nl_get_walt_digit.
50895
50896         * lib/strftime.c (my_strftime): Merge in locale-related changes from
50897         libc. These changes have no effect outside of _LIBC.
50898
50899 2003-04-10  Bruno Haible  <bruno@clisp.org>
50900
50901         * modules/findprog: New file.
50902         * MODULES.html.sh (func_all_modules): Add it.
50903
50904 2003-04-10  Bruno Haible  <bruno@clisp.org>
50905
50906         * m4/findprog.m4: New file.
50907         * m4/eaccess.m4: New file.
50908
50909 2003-04-10  Bruno Haible  <bruno@clisp.org>
50910
50911         * lib/findprog.h: New file, from GNU gettext.
50912         * lib/findprog.c: New file, from GNU gettext.
50913
50914 2003-04-05  Jim Meyering  <jim@meyering.net>
50915
50916         Merge changes from Coreutils.
50917
50918         * lib/exclude.h (PARAMS): Remove definition and uses.
50919         * lib/exclude.c: Remove uses of `PARAMS'.
50920
50921         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
50922         Add test-cases for DOS filenames. Declare program_name.
50923         (main): Set up program_name.  Patch by Rich Dawe.
50924
50925         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
50926         error from mntctl.
50927         Use mntctl's return value to drive the entry-processing loop, since
50928         we can't rely on the value of the vmt_length member in the last
50929         entry.  On some systems doing so could result in exhausting
50930         virtual memory.  Based in part on a patch from Mike Jetzer.
50931
50932 2003-04-04  Bruno Haible  <bruno@clisp.org>
50933
50934         * modules/linebreak: New file.
50935         * MODULES.html.sh (func_all_modules): Add it.
50936
50937 2003-04-04  Bruno Haible  <bruno@clisp.org>
50938
50939         * m4/linebreak.m4: New file.
50940
50941 2003-04-04  Bruno Haible  <bruno@clisp.org>
50942
50943         * lib/linebreak.h: New file, from GNU gettext.
50944         * lib/linebreak.c: New file, from GNU gettext with slight
50945         modifications.
50946         * lib/lbrkprop.h: New file, from GNU gettext.
50947
50948 2003-04-03  Bruno Haible  <bruno@clisp.org>
50949
50950         * modules/utf8-ucs4: New file.
50951         * modules/utf16-ucs4: New file.
50952         * modules/ucs4-utf8: New file.
50953         * modules/ucs4-utf16: New file.
50954         * MODULES.html.sh (func_all_modules): Add them.
50955
50956 2003-04-03  Bruno Haible  <bruno@clisp.org>
50957
50958         * m4/utf-ucs4.m4: New file.
50959         * m4/ucs4-utf.m4: New file.
50960
50961 2003-04-03  Bruno Haible  <bruno@clisp.org>
50962
50963         * lib/utf8-ucs4.h: New file, from GNU gettext.
50964         * lib/utf16-ucs4.h: New file, from GNU gettext.
50965         * lib/ucs4-utf8.h: New file, from GNU gettext.
50966         * lib/ucs4-utf16.h: New file, from GNU gettext.
50967
50968 2003-04-02  Bruno Haible  <bruno@clisp.org>
50969
50970         * modules/binary-io: New file.
50971         * MODULES.html.sh (func_all_modules): Add it.
50972
50973 2003-04-02  Bruno Haible  <bruno@clisp.org>
50974
50975         * lib/binary-io.h: New file, from GNU gettext.
50976
50977 2003-04-01  Bruno Haible  <bruno@clisp.org>
50978
50979         * modules/pathname: New file.
50980         * MODULES.html.sh (func_all_modules): Add it.
50981
50982 2003-04-01  Bruno Haible  <bruno@clisp.org>
50983
50984         * lib/pathname.h: New file, from GNU gettext.
50985         * lib/concatpath.c: New file, from GNU gettext.
50986
50987 2003-03-30  Bruno Haible  <bruno@clisp.org>
50988
50989         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
50990
50991 2003-03-30  Bruno Haible  <bruno@clisp.org>
50992
50993         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
50994         function chown() doesn't exist.
50995
50996 2003-03-28  Bruno Haible  <bruno@clisp.org>
50997
50998         * modules/copy-file: New file.
50999         * MODULES.html.sh (func_all_modules): Add it.
51000
51001 2003-03-28  Bruno Haible  <bruno@clisp.org>
51002
51003         * m4/copy-file.m4: New file.
51004
51005 2003-03-28  Bruno Haible  <bruno@clisp.org>
51006
51007         * lib/copy-file.h: New file, from GNU gettext.
51008         * lib/copy-file.c: New file, from GNU gettext.
51009
51010 2003-03-18  Jim Meyering  <jim@meyering.net>
51011
51012         * lib/quote.c (quote_n): Fix typo in comment.
51013
51014 2003-03-18  Bruno Haible  <bruno@clisp.org>
51015
51016         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
51017         checking.
51018         * m4/onceonly_2_57.m4: Likewise.
51019
51020 2003-03-17  Bruno Haible  <bruno@clisp.org>
51021
51022         * m4/onceonly.m4: Require autoconf 2.54 or newer.
51023         (m4_quote): Remove macro.
51024         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
51025
51026 2003-03-14  Jim Meyering  <jim@meyering.net>
51027
51028         Merge changes from Coreutils.
51029         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
51030         to be const, in order to avoid warnings.
51031         (obstack_room): Likewise.
51032         (obstack_empty_p): Likewise.
51033
51034 2003-03-14  Bruno Haible  <bruno@clisp.org>
51035
51036         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
51037         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
51038
51039 2003-03-13  Paul Eggert  <eggert@twinsun.com>
51040
51041         Merge changes from Bison.
51042         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
51043         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
51044         when compiling Bison 1.875's `bitset bset = obstack_alloc
51045         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
51046         * lib/hash.c: Include <stdbool.h> unconditionally.
51047
51048 2003-03-13  Paul Eggert  <eggert@twinsun.com>
51049
51050         * m4/onceonly.m4 (m4_quote): New macro.
51051         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
51052         Quote AC_FOREACH variable-expansions properly.
51053
51054 2003-03-13  Paul Eggert  <eggert@twinsun.com>
51055
51056         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
51057
51058 2003-03-09  Paul Eggert  <eggert@twinsun.com>
51059
51060         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
51061         Reported by Bruce Becker; see:
51062         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
51063
51064 2003-03-03  Paul Eggert  <eggert@twinsun.com>
51065             Bruno Haible  <bruno@clisp.org>
51066
51067         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
51068         Reported by John Hughes, see
51069         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
51070
51071 2003-02-20  Bruno Haible  <bruno@clisp.org>
51072
51073         * MODULES.html.sh (func_all_modules): Add poll.
51074
51075 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
51076
51077         * modules/poll: New file.
51078
51079 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
51080
51081         * lib/poll_.h: New file.
51082         * lib/poll.c: New file.
51083
51084 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
51085
51086         * m4/poll.m4: New file.
51087
51088 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
51089
51090         * modules/mathl: New file.
51091
51092 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
51093
51094         * lib/mathl.h: New file.
51095         * lib/acosl.c: New file.
51096         * lib/asinl.c: New file.
51097         * lib/atanl.c: New file.
51098         * lib/ceill.c: New file.
51099         * lib/cosl.c: New file.
51100         * lib/expl.c: New file.
51101         * lib/floorl.c: New file.
51102         * lib/frexpl.c: New file.
51103         * lib/ldexpl.c: New file.
51104         * lib/logl.c: New file.
51105         * lib/sincosl.c: New file.
51106         * lib/sinl.c: New file.
51107         * lib/sqrtl.c: New file.
51108         * lib/tanl.c: New file.
51109         * lib/trigl.c: New file.
51110         * lib/trigl.h: New file.
51111
51112 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
51113
51114         * m4/mathl.m4: New file.
51115
51116 2003-02-18  Bruno Haible  <bruno@clisp.org>
51117
51118         * MODULES.html.sh (func_all_modules): Add mathl.
51119
51120 2003-02-17  Bruno Haible  <bruno@clisp.org>
51121
51122         * modules/mkdtemp: New module.
51123         * MODULES.html.sh (func_all_modules): Add it.
51124
51125 2003-02-17  Bruno Haible  <bruno@clisp.org>
51126
51127         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
51128
51129 2003-02-17  Bruno Haible  <bruno@clisp.org>
51130
51131         * lib/mkdtemp.h: New file, from GNU gettext.
51132         * lib/mkdtemp.c: New file, from GNU gettext.
51133
51134 2003-02-02  Jim Meyering  <jim@meyering.net>
51135
51136         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
51137         e.g. glibc-2.2.93.
51138
51139 2003-01-31  Bruno Haible  <bruno@clisp.org>
51140
51141         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
51142         'rpl_rename'.
51143         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
51144         'rpl_strnlen'.
51145         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
51146         'rpl_strtod'.
51147         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
51148         'rpl_utime'.
51149
51150 2003-01-31  Bruno Haible  <bruno@clisp.org>
51151
51152         * lib/rename.c: #undef rename before defining rpl_rename.
51153         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
51154
51155 2003-01-30  Bruno Haible  <bruno@clisp.org>
51156
51157         * modules/vasnprintf, modules/vasprintf: New modules.
51158         * MODULES.html.sh (func_all_modules): Add them.
51159
51160 2003-01-30  Bruno Haible  <bruno@clisp.org>
51161
51162         * m4/signed.m4: New file, from GNU gettext.
51163         * m4/longdouble.m4: New file, from GNU gettext.
51164         * m4/wchar_t.m4: New file, from GNU gettext.
51165         * m4/wint_t.m4: New file, from GNU gettext.
51166         * m4/vasnprintf.m4: New file.
51167         * m4/vasprintf.m4: New file.
51168
51169 2003-01-30  Bruno Haible  <bruno@clisp.org>
51170
51171         * lib/printf-args.h: New file, from GNU gettext.
51172         * lib/printf-args.c: New file, from GNU gettext.
51173         * lib/printf-parse.h: New file, from GNU gettext.
51174         * lib/printf-parse.c: New file, from GNU gettext.
51175         * lib/vasnprintf.h: New file, from GNU gettext.
51176         * lib/vasnprintf.c: New file, from GNU gettext.
51177         * lib/asnprintf.c: New file, from GNU gettext.
51178         * lib/vasprintf.h: New file, from GNU gettext with modifications.
51179         * lib/vasprintf.c: New file, from GNU gettext.
51180         * lib/asprintf.c: New file, from GNU gettext.
51181
51182 2003-01-29  Bruno Haible  <bruno@clisp.org>
51183
51184         * modules/stpncpy: New module.
51185         * MODULES.html.sh (func_all_modules): Add it.
51186
51187 2003-01-29  Bruno Haible  <bruno@clisp.org>
51188
51189         * m4/stpncpy.m4: New file.
51190
51191 2003-01-29  Bruno Haible  <bruno@clisp.org>
51192
51193         * lib/stpncpy.h: New file, from GNU gettext with modifications.
51194         * lib/stpncpy.c: New file, from GNU gettext with modifications.
51195
51196 2003-01-28  Bruno Haible  <bruno@clisp.org>
51197
51198         * modules/c-ctype: New module.
51199         * MODULES.html.sh (func_all_modules): Add it.
51200
51201 2003-01-28  Bruno Haible  <bruno@clisp.org>
51202
51203         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
51204         Paul Eggert.
51205         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
51206         Paul Eggert.
51207
51208 2003-01-27  Bruno Haible  <bruno@clisp.org>
51209
51210         * modules/xsetenv: New module.
51211         * MODULES.html.sh (func_all_modules): Add it.
51212
51213 2003-01-27  Bruno Haible  <bruno@clisp.org>
51214
51215         * lib/xsetenv.h: New file, from GNU gettext.
51216         * lib/xsetenv.c: New file, from GNU gettext.
51217
51218 2003-01-23  Jim Meyering  <jim@meyering.net>
51219
51220         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
51221         from working on systems without dirfd (at least Irix and OSF1/Tru64).
51222
51223 2003-01-23  Bruno Haible  <bruno@clisp.org>
51224
51225         * modules/minmax: New module.
51226         * MODULES.html.sh (func_all_modules): Add it.
51227
51228 2003-01-23  Bruno Haible  <bruno@clisp.org>
51229
51230         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
51231         Eggert.
51232
51233 2003-01-22  Bruno Haible  <bruno@clisp.org>
51234
51235         * modules/exit: New module.
51236         * MODULES.html.sh (func_all_modules): Add it.
51237
51238 2003-01-22  Bruno Haible  <bruno@clisp.org>
51239
51240         * lib/exit.h: New file, from GNU gettext.
51241
51242 2003-01-19  Bruno Haible  <bruno@clisp.org>
51243
51244         * gnulib-tool: Recognize option --extract-maintainer.
51245         (func_get_maintainer): New function.
51246         * modules/*: Add Maintainer entry.
51247
51248 2003-01-16  Jim Meyering  <jim@meyering.net>
51249
51250         * m4/regex.m4: The `regex' struct is both input and output.
51251         Initialize it before each use.  Patch by Tim Waugh.
51252
51253 2003-01-16  Bruno Haible  <bruno@clisp.org>
51254
51255         * MODULES.html.sh: Add a table of contents. Add the module name as
51256         leftmost column. Add hyperlinks.
51257
51258 2003-01-15  Bruno Haible  <bruno@clisp.org>
51259
51260         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
51261
51262 2003-01-15  Bruno Haible  <bruno@clisp.org>
51263
51264         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
51265         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
51266         suffix.
51267
51268 2003-01-15  Bruno Haible  <bruno@clisp.org>
51269
51270         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
51271
51272 2003-01-15  Bruno Haible  <bruno@clisp.org>
51273
51274         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
51275         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
51276
51277 2003-01-14  Jim Meyering  <jim@meyering.net>
51278
51279         * lib/same.c (same_name): Tweak a comment.
51280
51281 2003-01-14  Bruno Haible  <bruno@clisp.org>
51282
51283         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
51284         when a string comparison is sufficient.
51285
51286 2003-01-14  Bruno Haible  <bruno@clisp.org>
51287
51288         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
51289         'unsigned int'.
51290
51291 2003-01-14  Bruno Haible  <bruno@clisp.org>
51292
51293         * lib/hash-pjw.c: Add comment about low quality of this function.
51294
51295 2003-01-13  Bruno Haible  <bruno@clisp.org>
51296
51297         * modules/stpcpy: Distribute lib/stpcpy.h.
51298         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
51299
51300 2003-01-13  Bruno Haible  <bruno@clisp.org>
51301
51302         * modules/*: Add a description.
51303         * modules/strpbrk: Fix Makefile.am snippet.
51304         * modules/strtoimax: Fix dependencies.
51305         * modules/strtoumax: Likewise.
51306
51307 2003-01-13  Bruno Haible  <bruno@clisp.org>
51308
51309         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
51310         * modules/alloca (Makefile.am): All object files depend on alloca.h.
51311         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
51312
51313 2003-01-13  Bruno Haible  <bruno@clisp.org>
51314
51315         * gnulib-tool (func_create_testdir): Store config/* files in the main
51316         directory.
51317         * config.rpath: Move to ...
51318         * config/config.rpath: ... here.
51319         * modules/gettext: Contains config/config.rpath, not config.rpath.
51320         * modules/iconv: Likewise.
51321
51322 2003-01-12  Paul Eggert  <eggert@twinsun.com>
51323
51324         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
51325         to avoid collisions with libcurses and libreadline.
51326
51327         * m4/getstr.m4: Remove.
51328         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
51329
51330 2003-01-12  Paul Eggert  <eggert@twinsun.com>
51331
51332         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
51333         to avoid collisions with libcurses and libreadline.
51334
51335         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
51336         * lib/getstr.h, getstr.c: Remove.
51337         * lib/getline.c: Include "getline.h", to check interface.
51338         Move body of old getstr.c here: this defines MIN_CHUNK and
51339         declares getdelim2, which is renamed from getstr.
51340         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
51341
51342         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
51343         All uses changed.
51344         * lib/linebuffer.h: Likewise.
51345         (readline): Remove backward-compatibility macro.
51346
51347 2003-01-12  Paul Eggert  <eggert@twinsun.com>
51348
51349         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
51350         to avoid collisions with libcurses and libreadline.
51351         * getstr: Remove.
51352         * MODULES.html.sh: Remove getstr.
51353         * modules/getline: Depend on unlocked-io, not getstr.
51354
51355 2003-01-12  Jim Meyering  <jim@meyering.net>
51356
51357         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
51358
51359 2003-01-10  Bruno Haible  <bruno@clisp.org>
51360
51361         * modules/alloca: Change Makefile.am requirements. Simplify Include
51362         requirements. Add lib/alloca_.h to file list.
51363
51364 2003-01-10  Bruno Haible  <bruno@clisp.org>
51365
51366         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
51367
51368 2003-01-10  Bruno Haible  <bruno@clisp.org>
51369
51370         * lib/alloca_.h: New file.
51371         * lib/getdate.y: Unconditionally include alloca.h.
51372         * lib/makepath.c: Likewise.
51373         * lib/setenv.c: Likewise.
51374         * lib/userspec.c: Likewise.
51375
51376 2003-01-09  Karl Berry  <karl@gnu.org>
51377
51378         * MODULES.html.sh: include `dirname $0` in PATH, to find
51379         gnulib-tool.
51380
51381 2003-01-09  Bruno Haible  <bruno@clisp.org>
51382
51383         * modules/stdbool: Change configure.ac, Makefile.am requirements.
51384         Simplify Include requirements. Add lib/stdbool.h.in to file list.
51385
51386 2003-01-09  Bruno Haible  <bruno@clisp.org>
51387
51388         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
51389
51390 2003-01-09  Bruno Haible  <bruno@clisp.org>
51391
51392         * lib/stdbool.h.in: New file.
51393
51394 2003-01-09  Bruno Haible  <bruno@clisp.org>
51395
51396         * gnulib-tool (func_all_modules): Ignore files ending in ~.
51397         * MODULES.html.sh: Likewise.
51398
51399 2003-01-08  Jim Meyering  <jim@meyering.net>
51400
51401         * lib/full-write.c: Undefine and define-away `const' after inclusion
51402         of errno.h, not before.  Suggestion from Bruno Haible.
51403
51404 2003-01-08  Bruno Haible  <bruno@clisp.org>
51405
51406         * modules/full-read: Depend on full-write.
51407
51408 2003-01-08  Bruno Haible  <bruno@clisp.org>
51409
51410         * lib/safe-read.c: Include specification header first, to ensure its
51411         selfcontainedness.
51412         * lib/full-write.c: Likewise.
51413
51414 2003-01-07  Jim Meyering  <jim@meyering.net>
51415
51416         * lib/full-write.c: Rework so that it may serve to define full_read,
51417         too.
51418         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
51419
51420 2003-01-07  Bruno Haible  <bruno@clisp.org>
51421
51422         * lib/strtoimax.c: Include <stdint.h> as an alternative to
51423         <inttypes.h>.
51424         * lib/xstrtol.h: Likewise.
51425         * lib/xstrtoimax.c: Likewise.
51426         * lib/xstrtoumax.c: Likewise.
51427         * lib/human.h: Likewise.
51428
51429         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
51430         on systems that have <inttypes.h> but not <stdint.h>.
51431
51432 2003-01-07  Bruno Haible  <bruno@clisp.org>
51433
51434         * MODULES.html.sh: Add copyright notice.
51435         (missed_files): Omit CVS directory entries.
51436         (func_module): Make it work with sed-3.02.
51437         * MODULES.txt: Remove file.
51438
51439 2003-01-06  Jim Meyering  <jim@meyering.net>
51440
51441         * lib/version-etc.c: Update year in translatable copyright string.
51442
51443 2003-01-03  Karl Berry  <karl@gnu.org>
51444
51445         * config/config.{guess,sub}: update from prep.
51446
51447 2003-01-02  Karl Berry  <karl@gnu.org>
51448
51449         * doc/COPYING.DOC: belatedly updated to 1.2.
51450
51451 2003-01-01  Karl Berry  <karl@gnu.org>
51452
51453         * gnulib-tool (func_verify_module): report module name $module in
51454         error message, not $1.
51455         * gnulib-tool (create-testdir): don't complain if destdir couldn't
51456         be created, only if it doesn't exist.
51457         * gnulib-tool (last_checkin_date): don't expand the $Date here.
51458
51459 2002-12-31  Paul Eggert  <eggert@twinsun.com>
51460
51461         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
51462
51463 2002-12-31  Paul Eggert  <eggert@twinsun.com>
51464
51465         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
51466         memcmp if strcoll doesn't work.
51467
51468 2002-12-31  Bruno Haible  <bruno@clisp.org>
51469
51470         * lib/utime.c (utime_null): No need to call ftruncate if the file was
51471         nonempty.
51472
51473 2002-12-31  Bruno Haible  <bruno@clisp.org>
51474
51475         * lib/memcoll.c (STRCOLL): New macro.
51476         (memcoll): Use it.
51477
51478 2002-12-31  Bruno Haible  <bruno@clisp.org>
51479
51480         * lib/localcharset.h: New file.
51481         * lib/localcharset.c: Include it.
51482         * lib/unicodeio.c: Likewise.
51483
51484 2002-12-31  Bruno Haible  <bruno@clisp.org>
51485
51486         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
51487         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
51488
51489 2002-12-31  Bruno Haible  <bruno@clisp.org>
51490
51491         * lib/getline.h: Include <stddef.h>, for size_t.
51492
51493         * lib/unicodeio.h: Include <stddef.h>, for size_t.
51494         * lib/unicodeio.c: Don't include <stddef.h>.
51495
51496 2002-12-31  Bruno Haible  <bruno@clisp.org>
51497
51498         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
51499         HAVE_TM_ZONE.
51500
51501 2002-12-24  Karl Berry  <karl@gnu.org>
51502
51503         * config/config.guess: update from prep.
51504
51505 2002-12-24  Bruno Haible  <bruno@clisp.org>
51506
51507         General infrasructure.
51508         * m4/README: Rewritten.
51509         * m4/onceonly.m4: New file.
51510         * m4/onceonly_2_57.m4: New file.
51511
51512         Module atexit.
51513         * m4/atexit.m4: New file.
51514
51515         Module strtod.
51516         * m4/strtod.m4: New file.
51517
51518         Module strtol.
51519         * m4/strtol.m4: New file.
51520
51521         Module strtoul.
51522         * m4/strtoul.m4: New file.
51523
51524         Module memchr.
51525         * m4/memchr.m4: New file.
51526
51527         Module memcmp.
51528         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
51529         (jm_FUNC_MEMCMP): Invoke it.
51530
51531         Module memcpy.
51532         * m4/memcpy.m4: New file.
51533
51534         Module memmove.
51535         * m4/memmove.m4: New file.
51536
51537         Module memset.
51538         * m4/memset.m4: New file.
51539
51540         Module strcspn.
51541         * m4/strcspn.m4: New file.
51542
51543         Module strpbrk.
51544         * m4/strpbrk.m4: New file.
51545
51546         Module strstr.
51547         * m4/strstr.m4: New file.
51548
51549         Module strerror.
51550         * m4/strerror.m4: New file.
51551
51552         Module mktime.
51553         * m4/mktime.m4: Renamed from jm-mktime.m4.
51554         (gl_PREREQ_MKTIME): New macro.
51555         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
51556
51557         Module malloc.
51558         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
51559         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
51560         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
51561
51562         Module realloc.
51563         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
51564         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
51565         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
51566
51567         Module strftime.
51568         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
51569         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
51570         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
51571         gl_TM_GMTOFF.
51572         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
51573
51574         Module xalloc.
51575         * m4/xalloc.m4: New file.
51576
51577         Module alloca.
51578         * m4/alloca.m4: New file.
51579
51580         Module putenv.
51581         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
51582         (jm_FUNC_PUTENV): Invoke it.
51583
51584         Module setenv.
51585         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
51586         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
51587         when invoked twice.
51588         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
51589         gt_FUNC_SETENV.
51590
51591         Module memrchr.
51592         * m4/memrchr.m4: New file.
51593
51594         Module stpcpy.
51595         * m4/stpcpy.m4: New file.
51596
51597         Module strcase.
51598         * m4/strcase.m4: New file.
51599
51600         Module strdup.
51601         * m4/strdup.m4: New file.
51602
51603         Module strnlen.
51604         * m4/strnlen.m4: New file.
51605
51606         Module strndup.
51607         * m4/strndup.m4: New file.
51608
51609         Module xstrtod.
51610         * m4/xstrtod.m4: New file.
51611
51612         Module xstrtol.
51613         * m4/xstrtol.m4: New file.
51614
51615         Module getdate.
51616         * m4/getdate.m4: New file.
51617
51618         Module unlocked-io.
51619         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
51620         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
51621         * m4/jm-glibc-io.m4n: Remove file.
51622
51623         Module long-options.
51624         * m4/long-options.m4: New file.
51625
51626         Module md5.
51627         * m4/md5.m4: New file.
51628
51629         Module sha.
51630         * m4/sha.m4: New file.
51631
51632         Module getstr.
51633         * m4/getstr.m4: New file.
51634
51635         Module getline.
51636         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
51637         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
51638         <sys/types.h>, for size_t. Use the function name gnu_getline, not
51639         simply getline. Infoke gl_PREREQ_GETLINE.
51640
51641         Module obstack.
51642         * m4/obstack.m4: New file.
51643
51644         Module hash.
51645         * m4/hash.m4: New file.
51646
51647         Module readtokens.
51648         * m4/readtokens.m4: New file.
51649
51650         Module strverscmp.
51651         * m4/strverscmp.m4: New file.
51652
51653         Module stdbool.
51654         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
51655         OSF/1.
51656
51657         Module strtoll.
51658         * m4/strtoll.m4: New file.
51659
51660         Module strtoull.
51661         * m4/strtoull.m4: New file.
51662
51663         Module strtoimax.
51664         * m4/strtoimax.m4: New file.
51665
51666         Module strtoumax.
51667         * m4/strtoumax.m4: New file.
51668
51669         Module xstrtoimax.
51670         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
51671         jm_AC_PREREQ_XSTRTOIMAX.
51672         Moved the strtol prerequisites to strtol.m4.
51673         Moved the strtoll prerequisites to strtoll.m4.
51674         Moved the strtoimax prerequisites to strtoimax.m4.
51675
51676         Module xstrtoumax.
51677         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
51678         jm_AC_PREREQ_XSTRTOUMAX.
51679         Moved the strtoul prerequisites to strtoul.m4.
51680         Moved the strtoull prerequisites to strtoull.m4.
51681         Moved the strtoumax prerequisites to strtoumax.m4.
51682
51683         Module chown.
51684         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
51685         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
51686
51687         Module dup2.
51688         * m4/dup2.m4: New file.
51689
51690         Module ftruncate.
51691         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
51692         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
51693
51694         Module getgroups.
51695         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
51696         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
51697
51698         Module gettimeofday.
51699         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
51700         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
51701         gl_PREREQ_GETTIMEOFDAY.
51702
51703         Module mkdir.
51704         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
51705         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
51706
51707         Module mkstemp.
51708         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
51709         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
51710         jm_AC_TYPE_UINTMAX_T.
51711         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
51712
51713         Module stat.
51714         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
51715         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
51716
51717         Module lstat.
51718         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
51719         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
51720
51721         Module timespec.
51722         * m4/timespec.m4 (gl_TIMESPEC): New macro.
51723         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
51724         * m4/st_mtim.m4: Indentation.
51725
51726         Module nanosleep.
51727         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
51728         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
51729         gl_PREREQ_NANOSLEEP.
51730
51731         Module regex.
51732         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
51733         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
51734         (gl_REGEX): New macro.
51735
51736         Module rename.
51737         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
51738         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
51739
51740         Module rmdir.
51741         * m4/rmdir.m4: New file.
51742
51743         Module utime.
51744         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
51745         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
51746         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
51747
51748         Module dirname.
51749         * m4/dirname.m4: New file.
51750
51751         Module getopt.
51752         * m4/getopt.m4: New file.
51753
51754         Module unistd-safer.
51755         * m4/unistd-safer.m4: New file.
51756
51757         Module fnmatch.
51758         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
51759         declaration.
51760         (gl_PREREQ_FNMATCH_EXTRA): New macro.
51761         (gl_FUNC_FNMATCH_POSIX): New macro.
51762         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
51763         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
51764         simply fnmatch.
51765
51766         Module exclude.
51767         * m4/exclude.m4: New file.
51768
51769         Module human.
51770         * m4/human.m4: New file.
51771
51772         Module acl.
51773         * m4/acl.m4: Nop.
51774
51775         Module backupfile.
51776         * m4/backupfile.m4: New file.
51777         * m4/d-ino.m4: Indentation.
51778
51779         Module fsusage.
51780         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
51781         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
51782         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
51783
51784         Module dirfd.
51785         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
51786         requirements.
51787
51788         Module euidaccess.
51789         * m4/euidaccess.m4: New file.
51790
51791         Module file-type.
51792         * m4/file-type.m4: New file.
51793
51794         Module fileblocks.
51795         * m4/fileblocks.m4: New file.
51796
51797         Module filemode.
51798         * m4/filemode.m4: New file.
51799
51800         Module isdir.
51801         * m4/isdir.m4: New file.
51802
51803         Module lchown.
51804         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
51805         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
51806
51807         Module makepath.
51808         * m4/makepath.m4: New file.
51809
51810         Module modechange.
51811         * m4/modechange.m4: New file.
51812
51813         Module mountlist.
51814         * m4/mountlist.m4: New file.
51815         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
51816         Indentation.
51817
51818         Module path-concat.
51819         * m4/path-concat.m4: New file.
51820
51821         Module pathmax.
51822         * m4/pathmax.m4: New file.
51823
51824         Module same.
51825         * m4/same.m4: New file.
51826
51827         Module save-cwd.
51828         * m4/save-cwd.m4: New file.
51829
51830         Module savedir.
51831         * m4/savedir.m4: New file.
51832
51833         Module xgetcwd.
51834         * m4/xgetcwd.m4: New file.
51835         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
51836
51837         Module xreadlink.
51838         * m4/xreadlink.m4: New file.
51839
51840         Module safe-read.
51841         * m4/safe-read.m4: New file.
51842
51843         Module safe-write.
51844         * m4/safe-write.m4: New file.
51845
51846         Module closeout.
51847         * m4/closeout.m4: New file.
51848
51849         Module stdio-safer.
51850         * m4/stdio-safer.m4: New file.
51851
51852         Module getpass.
51853         * m4/getpass.m4: New file.
51854
51855         Module getugroups.
51856         * m4/getugroups.m4: New file.
51857
51858         Module group-member.
51859         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
51860         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
51861
51862         Module idcache.
51863         * m4/idcache.m4: New file.
51864
51865         Module userspec.
51866         * m4/userspec.m4: New file.
51867
51868         Module gettime.
51869         * m4/clock_time.m4: New file.
51870         * m4/gettime.m4: New file.
51871
51872         Module settime.
51873         * m4/settime.m4: New file.
51874
51875         Module posixtm.
51876         * m4/posixtm.m4: New file.
51877
51878         Module gethostname.
51879         * m4/gethostname.m4: New file.
51880
51881         Module canon-host.
51882         * m4/canon-host.m4: New file.
51883
51884         Module gettext.
51885         * m4/codeset.m4: New file, from gettext-0.11.5.
51886         * m4/gettext.m4: New file, from gettext-0.11.5.
51887         * m4/glibc21.m4: New file, from gettext-0.11.5.
51888         * m4/iconv.m4: New file, from gettext-0.11.5.
51889         * m4/intdiv0.m4: New file, from gettext-0.11.5.
51890         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
51891         * m4/inttypes.m4: New file, from gettext-0.11.5.
51892         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
51893         * m4/isc-posix.m4: New file, from gettext-0.11.5.
51894         * m4/lcmessage.m4: New file, from gettext-0.11.5.
51895         * m4/lib-ld.m4: New file, from gettext-0.11.5.
51896         * m4/lib-link.m4: New file, from gettext-0.11.5.
51897         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
51898         * m4/progtest.m4: New file, from gettext-0.11.5.
51899         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
51900         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
51901         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
51902
51903         Module localcharset.
51904         * m4/localcharset.m4: New file.
51905
51906         Module hard-locale.
51907         * m4/hard-locale.m4: New file.
51908
51909         Module mbswidth.
51910         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
51911         onceonly macros.
51912         * m4/mbrtowc.m4: Add comment.
51913
51914         Module memcasecmp.
51915         * m4/memcasecmp.m4: New file.
51916
51917         Module memcoll.
51918         * m4/memcoll.m4: New file.
51919
51920         Module unicodeio.
51921         * m4/unicodeio.m4: New file.
51922
51923         Module rpmatch.
51924         * m4/rpmatch.m4: New file.
51925
51926         Module yesno.
51927         * m4/yesno.m4: New file.
51928
51929         Module exitfail.
51930         * m4/exitfail.m4: New file.
51931
51932         Module c-stack.
51933         * m4/c-stack.m4 (gl_C_STACK): New macro.
51934         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
51935
51936         Module error.
51937         * m4/error.m4 (gl_ERROR): New macro.
51938         (jm_PREREQ_ERROR): Use onceonly macros.
51939
51940         Module fatal.
51941         * m4/fatal.m4: New file.
51942
51943         Module getloadavg.
51944         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
51945         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
51946
51947         Module getpagesize.
51948         * m4/getpagesize.m4: New file.
51949
51950         Module getusershell.
51951         * m4/getusershell.m4: New file.
51952
51953         Module physmem.
51954         * m4/physmem.m4: New file.
51955
51956         Module posixver.
51957         * m4/posixver.m4: New file.
51958
51959         Module quotearg.
51960         * m4/quotearg.m4: New file.
51961
51962         Module quote.
51963         * m4/quote.m4: New file.
51964
51965         Module readutmp.
51966         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
51967
51968         Module sig2str.
51969         * m4/sig2str.m4: New file.
51970
51971         Other.
51972         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
51973         ulonglong.m4.
51974         * m4/intmax_t.m4: New file.
51975         * m4/d-type.m4: Indentation.
51976         * m4/jm-macros.m4: Update.
51977         * m4/prereq.m4 (jm_PREREQ): Update.
51978         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
51979         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
51980         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
51981         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
51982         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
51983         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
51984         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
51985         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
51986         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
51987         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
51988         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
51989         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
51990         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
51991         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
51992         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
51993         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
51994         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
51995         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
51996         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
51997
51998 2002-12-24  Bruno Haible  <bruno@clisp.org>
51999
52000         * MODULES.txt: Update according to m4/ changes.
52001
52002         Module gettext.
52003         * config.rpath: New file, from gettext-0.11.5.
52004
52005         * modules/*: New module descriptions.
52006         * gnulib-tool: New file.
52007         * MODULES.html.sh: New file.
52008
52009 2002-12-21  Karl Berry  <karl@gnu.org>
52010
52011         * doc/fdl.texi: update to version 1.2.
52012
52013 2002-12-19  Karl Berry  <karl@gnu.org>
52014
52015         * config/config.guess: update from prep.
52016
52017 2002-12-18  Bruno Haible  <bruno@clisp.org>
52018
52019         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
52020         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
52021
52022 2002-12-17  Bruno Haible  <bruno@clisp.org>
52023
52024         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
52025         stdlib.h, string.h.
52026
52027 2002-12-17  Bruno Haible  <bruno@clisp.org>
52028
52029         * lib/canon-host.c (strdup): Remove unused declaration.
52030
52031         * lib/fsusage.c: Include full_read.h.
52032         (get_fs_usage): Use full_read instead of safe_read.
52033
52034         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
52035
52036 2002-12-12  Karl Berry  <karl@gnu.org>
52037
52038         * config/config.guess: update from prep.
52039
52040 2002-12-11  Bruno Haible  <bruno@clisp.org>
52041
52042         * m4/setenv.m4: New file, from gettext-0.11.5.
52043
52044 2002-12-11  Bruno Haible  <bruno@clisp.org>
52045
52046         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
52047         not unsetenv().
52048         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
52049         modifications:
52050
52051         2002-12-11  Bruno Haible  <bruno@clisp.org>
52052
52053                 * setenv.c (alloca): Fall back to malloc.
52054                 (freea): New macro.
52055                 (setenv): Use freea() to free memory allocated with alloca().
52056
52057         2002-11-13  Bruno Haible  <bruno@clisp.org>
52058
52059                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
52060                 function declarations.
52061                 * unsetenv.c (unsetenv): Likewise.
52062
52063         2002-03-04  Bruno Haible  <bruno@clisp.org>
52064
52065                 Portability to AIX 4.3.3.
52066                 * unsetenv.c: New file, extracted from setenv.c.
52067                 * setenv.c: Move the unsetenv() function to unsetenv.c.
52068
52069         2001-12-20  Bruno Haible  <bruno@clisp.org>
52070
52071                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
52072                 use malloc instead. For SunOS 4.
52073
52074         2001-12-11  Bruno Haible  <bruno@clisp.org>
52075
52076                 * setenv.c: Declare alloca.
52077                 (compar_fn_t): New typedef.
52078                 (KNOWN_VALUE, STORE_VALUE): Use it.
52079
52080         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
52081         setenv.h.
52082
52083 2002-12-10  Paul Eggert  <eggert@twinsun.com>
52084
52085         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
52086         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
52087         Choose values that are less likely to collide with system fnmatch
52088         options.
52089         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
52090         defined (e.g., a pure POSIX system).
52091         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
52092         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
52093
52094 2002-12-06  Paul Eggert  <eggert@twinsun.com>
52095
52096         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
52097         a pain in practice to deal with generated m4 files.  This change
52098         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
52099
52100         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
52101         and jm-glibc-io.m4, as they are no longer a special case.
52102         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
52103         kludge and the auto-generation stuff.  Check only whether the
52104         functions are declared, not whether they exist, since older hosts
52105         that don't declare the functions can't use the optimization anyway.
52106
52107 2002-12-06  Jim Meyering  <jim@meyering.net>
52108
52109         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
52110
52111         Merge in changes from libc's misc/error.c, in preparation
52112         for the merge of gnulib's changes back into libc.
52113
52114         * lib/error.c (_): Define only if not already defined.
52115         Move definition to follow all #include directives.
52116         Include unlocked-io.h only if !_LIBC.
52117         [_LIBC]: Include <libio/libioP.h>.
52118         [USE_IN_LIBIO]: Include <libio/iolibio.h>
52119         (fflush): Tweak definition to use INTUSE.
52120         (putc): Define.
52121
52122 2002-12-05  Paul Eggert  <eggert@twinsun.com>
52123
52124         * lib/alloca.c [defined emacs]: Include "lisp.h".
52125         (xalloc_die) [defined emacs]: New macro.
52126         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
52127         [! defined emacs]: Include <xalloc.h>.
52128         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
52129         (pointer): Typedef to POINTER_TYPE *.
52130         (malloc): Remove decl; we now always use xmalloc.
52131         (alloca): Use old-style definition, since Emacs needs this.
52132         Check for arithmetic overflow when computing combined size.
52133
52134 2002-12-04  Paul Eggert  <eggert@twinsun.com>
52135
52136         Do not generate unlocked-io.h automatically, since it's easier to
52137         maintain it by hand.
52138
52139         * lib/unlocked-io.h: New file, from GNU diffutils,
52140         but with proper copyright notice and attribution.
52141         * lib/gen-uio: Remove.
52142         * lib/Makefile.am: Add copyright notice.
52143         (libfetish_a_SOURCES): Add unlocked-io.h.
52144         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
52145         (DISTCLEANFILES, io_functions): Remove macros.
52146         (EXTRA_DIST): Remove gen_uio.
52147         (unlocked-io.h): Remove rule.
52148
52149 2002-12-04  Jim Meyering  <jim@meyering.net>
52150
52151         Reflect the fact that stat.c and lstat.c are no longer generated.
52152         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
52153         (DISTCLEANFILES): Likewise.
52154         (EXTRA_DIST): Likewise.
52155         (all_local): Don't depend on stat.c or lstat.c.
52156         (stat.c, lstat.c): Remove rules.
52157         (EXTRA_DIST): Remove xstat.in.
52158
52159         * lib/xstat.in: Remove file.  Contents moved into stat.c.
52160         * lib/stat.c: New file.  Contents mostly from xstat.in.
52161         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
52162         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
52163
52164         * lib/safe-read.c: Rework so that it may serve to define safe_write,
52165         too.
52166         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
52167
52168 2002-12-03  Jim Meyering  <jim@meyering.net>
52169
52170         * lib/safe-read.c, safe-write.c: Change variable names and comments,
52171         but not semantics, to minimize the differences between these two files.
52172         (safe_read): Change comment to mention SAFE_READ_ERROR.
52173
52174         * lib/safe-read.c (IS_EINTR): Define.
52175         (safe_read): Use IS_EINTR in place of in-function cpp directives.
52176
52177 2002-12-02  Jim Meyering  <jim@meyering.net>
52178
52179         * lib/safe-read.c (EINTR): Define.
52180         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
52181         (INT_MAX): Provide fallback.
52182         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
52183
52184         * lib/safe-read.h (SAFE_READ_ERROR): Define.
52185
52186 2002-12-02  Bruno Haible  <bruno@clisp.org>
52187
52188         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
52189         Define, taken from safe-read.c.
52190         (INT_MAX): Provide fallback.
52191         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
52192         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
52193
52194         * lib/safe-read.c (EINTR): Remove definition.
52195         (safe_read): Don't use EINTR if it is absent.
52196
52197 2002-12-01  Jim Meyering  <jim@meyering.net>
52198
52199         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
52200         zero.
52201         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
52202
52203 2002-11-27  Paul Eggert  <eggert@twinsun.com>
52204
52205         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
52206         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
52207         with `if (! (value < limit)) abort ();', for readability.
52208
52209 2002-11-26  Karl Berry  <karl@gnu.org>
52210
52211         * lib/strdup.c: copy from libc again, with jim's ok.
52212         * lib/.cppi-disable: re-add strdup.c
52213
52214 2002-11-25  Karl Berry  <karl@gnu.org>
52215
52216         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
52217         instead of "strtol.c".
52218
52219 2002-11-25  Karl Berry  <karl@gnu.org>
52220
52221         * config/install-sh: update from automake for variable quoting, $0 in
52222         error msgs, etc.
52223
52224         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
52225         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
52226         entry.
52227
52228 2002-11-25  Jim Meyering  <jim@meyering.net>
52229
52230         * lib/mktime.c: Sync from libc, now that it has the latest fix.
52231
52232 2002-11-24  Karl Berry  <karl@gnu.org>
52233
52234         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
52235         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
52236
52237 2002-11-24  Jim Meyering  <jim@meyering.net>
52238
52239         Update from coreutils:
52240
52241         * lib/mktime.c: Merge in changes from libc.
52242
52243         Avoid a link-time failure on some Linux systems.
52244         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
52245         (otherwise).
52246         (__mon_yday): Declare with the STATIC attribute.
52247         (__mktime_internal): Likewise.
52248         Based on a report from Greg Schafer.
52249
52250 2002-11-23  Jim Meyering  <jim@meyering.net>
52251
52252         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
52253         Use `unsigned', not `int', as type of index.
52254
52255         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
52256
52257         * lib/fsusage.c: Remove unneeded parentheses around operands of
52258         `defined'.
52259
52260 2002-11-22  Paul Eggert  <eggert@twinsun.com>
52261
52262         * lib/quotearg.h: Allow multiple inclusion by surrounding with
52263         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
52264         so that we can be included first.
52265         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
52266         * lib/quotearg.c: Include quotearg.h immediately after config.h.
52267         No need to include stddef.h or sys/types.h any more.
52268         Surround local include files with "", not "<>".
52269         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
52270         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
52271         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
52272         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
52273         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
52274         (ISPRINT): Remove; no longer needed now that we assume C89.
52275
52276         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
52277         Preserve errno.
52278
52279         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
52280         quotearg_char): Use SIZE_MAX rather than
52281         (size_t) -1 when we are talking about "infinity".
52282
52283         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
52284
52285 2002-11-22  Paul Eggert  <eggert@twinsun.com>
52286
52287         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
52288         hint that one should use `if (! x) abort ();' rather than `assert
52289         (x);', and anyway it's one less thing to worry about configuring.
52290         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
52291         hash_rehash, hash_insert): Use abort rather than assert.
52292
52293 2002-11-22  Bruno Haible  <bruno@clisp.org>
52294
52295         * lib/safe-read.h: Assume C89. Add comments.
52296         (safe_read): Change return type to size_t.
52297         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
52298         byte counts > SSIZE_MAX correctly.
52299         * lib/safe-write.h: New file.
52300         * lib/safe-write.c: New file.
52301         * lib/full-read.h: New file.
52302         * lib/full-read.c: New file.
52303         * lib/full-write.h: Assume C89. Add comments.
52304         * lib/full-write.c: Include safe-write.h.
52305         (full_write): Rewritten to use safe_write.
52306         Suggested by Jim Meyering and Paul Eggert.
52307
52308 2002-11-21  Jim Meyering  <jim@meyering.net>
52309
52310         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
52311
52312         Merge in changes from the coreutils.
52313
52314         2002-09-25  Paul Eggert  <eggert@twinsun.com>
52315         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
52316         <stdint.h>.
52317         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
52318         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
52319         int.  Work more efficiently if X is the same width as uintmax_t.
52320         Do not compare X to -1, to avoid bogus compiler warning.
52321         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
52322         Don't assume that f_frsize and f_bsize are the same type.
52323
52324         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
52325         warning on FreeBSD.
52326
52327         * lib/makepath.c (make_path): Restore umask *before* creating the final
52328         component.
52329         (make_path): Minor reformatting.
52330
52331         * lib/xmalloc.c: Adjust to work with new autoconf macros,
52332         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
52333         HAVE_MALLOC/HAVE_REALLOC.
52334
52335         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
52336         dummy ones.  At least on GNU/Linux systems, `auto' means something
52337         else.
52338         From Michael Stone.
52339
52340 2002-11-21  Bruno Haible  <bruno@clisp.org>
52341
52342         Remove case insensitive option matching.
52343         * lib/argmatch.h (argcasematch): Remove declaration.
52344         (ARGCASEMATCH): Remove macro.
52345         (__xargmatch_internal): Remove case_sensitive argument.
52346         (XARGMATCH): Update.
52347         (XARGCASEMATCH): Remove macro.
52348         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
52349         case_sensitive argument.
52350         (argcasematch): Remove function.
52351         (__xargmatch_internal): Remove case_sensitive argument.
52352         (main): Use XARGMATCH instead of XARGCASEMATCH.
52353
52354         * lib/xmalloc.c: Change compile-time error message. Add comment about
52355         required autoconf version.
52356
52357 2002-11-20  Paul Eggert  <eggert@twinsun.com>
52358
52359         Merge argmatch cleanups from Bison.  Assume C89.
52360
52361         * lib/argmatch.c: Include config.h here, not in argmatch.h.
52362         Include stdlib.h, for EXIT_FAILURE.
52363         Always include <string.h>, since we assume C89.
52364         (EXIT_FAILURE): Remove pre-C89 bug workaround.
52365         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
52366         Include <stddef.h> instead, since it's all we need for size_t.
52367         (PARAMS): Remove.  All uses removed.
52368         (ARRAY_CARDINALITY): Do not bother to #undef.
52369         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
52370         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
52371         Remove unnecessary parentheses.
52372         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
52373         Insert necessary parentheses.
52374         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
52375         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
52376
52377 2002-11-19  Bruno Haible  <bruno@clisp.org>
52378
52379         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
52380         * lib/mbswidth.h: Include <stddef.h>, for size_t.
52381
52382         * lib/mbswidth.h (PARAMS): Remove macro.
52383         (mbswidth, mbsnwidth): Use ANSI C function declarations.
52384         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
52385
52386         * lib/gcd.h (PARAMS): Remove macro.
52387         (gcd): Use ANSI C function declarations.
52388         * lib/gcd.c (gcd): Likewise.
52389
52390 2002-11-15  Bruno Haible  <bruno@clisp.org>
52391
52392         * lib/strcspn.c: Include <stddef.h>.
52393         (strcspn): Use ANSI C function declaration. Change return type to
52394         size_t. Use NULL.
52395         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
52396         (strpbrk): Use NULL.
52397         * lib/strpbrk.h (PARAMS): Remove macro.
52398         (strpbrk): Use ANSI C function declaration.
52399         * lib/strstr.c: Don't include <sys/types.h>.
52400         * lib/strstr.h (PARAMS): Remove macro.
52401         (strstr): Use ANSI C function declarations.
52402
52403 2002-11-14  Karl Berry  <karl@gnu.org>
52404
52405         * config/mkinstalldirs: `do' on separate line, instead of
52406         `for var; do'.
52407
52408 2002-11-06  Bruno Haible  <bruno@clisp.org>
52409
52410         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
52411         * lib/gcd.c (gcd): Likewise.
52412
52413 2002-11-05  Bruno Haible  <bruno@clisp.org>
52414
52415         * lib/gcd.h: New file, from gettext-0.11.5.
52416         * lib/gcd.c: New file, from gettext-0.11.5.
52417
52418 2002-11-05  Bruno Haible  <bruno@clisp.org>
52419
52420         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
52421         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
52422         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
52423         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
52424
52425         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
52426         <libintl.h>.
52427         * lib/makepath.c: Include gettext.h instead of <locale.h> and
52428         <libintl.h>.
52429
52430         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
52431         * lib/human.c: Include gettext.h instead of <libintl.h>.
52432         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
52433         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
52434         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
52435         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
52436         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
52437         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
52438         (textdomain): Remove definition.
52439         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
52440
52441         * lib/long-options.c: Remove include of <libintl.h> and definition of
52442         _.
52443         * lib/same.c: Remove include of <libintl.h> and definition of _.
52444
52445 2002-11-04  Owen Taylor  <otaylor@redhat.com>
52446
52447         * lib/config.charset: A few additions for Solaris.
52448
52449 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
52450
52451         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
52452         * lib/localcharset.c (locale_charset): Declare as extern "C".
52453
52454 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
52455
52456         * lib/config.charset: msdos in uk_UA uses CP1125.
52457
52458 2002-11-04  Bruno Haible  <bruno@clisp.org>
52459
52460         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
52461         * lib/strcase.h: New file, from GNU gettext-0.11.5.
52462         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
52463         * lib/strstr.h: New file, from GNU gettext-0.11.5.
52464         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
52465
52466 2002-11-04  Bruno Haible  <bruno@clisp.org>
52467
52468         * lib/localcharset.c (locale_charset): Don't return an empty string.
52469
52470 2002-11-04  Bruno Haible  <bruno@clisp.org>
52471
52472         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
52473         aliases.
52474
52475 2002-11-04  Bruno Haible  <bruno@clisp.org>
52476
52477         * lib/config.charset: Update for newest glibc. Add canonical names
52478         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
52479
52480 2002-11-04  Bruno Haible  <bruno@clisp.org>
52481
52482         * lib/config.charset: Add support for NetBSD.
52483
52484 2002-11-04  Bruno Haible  <bruno@clisp.org>
52485
52486         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
52487
52488 2002-11-01  Bruno Haible  <bruno@clisp.org>
52489
52490         * configure.in: Add AC_CONFIG_AUX_DIR call.
52491         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
52492         test/Makefile.
52493         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
52494
52495 2002-09-28  Karl Berry  <karl@gnu.org>
52496
52497         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
52498         installed automake until the next release, since changes have been
52499         made.
52500
52501 2002-09-25  Karl Berry  <karl@gnu.org>
52502
52503         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
52504         * lib/getopt*: copy from libc/posix.
52505         * lib/gettext.h: copy from gettext.
52506         * lib/.cppi-disable: add strdup.c, gettext.h.
52507
52508 2002-09-25  Karl Berry  <karl@gnu.org>
52509
52510         * config/srclist.txt: enable gettext.h check.
52511         * config/config.{guess,sub}: update from prep.
52512         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
52513                 from automake 1.6.3.
52514         See srclist*.
52515
52516 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
52517
52518         * regex.c (PATFETCH): Remove the translating fetch.
52519         (PATFETCH_RAW): Rename to PATFETCH.
52520         (set_image_of_range): New fun.
52521         (SET_RANGE_TABLE_WORK_AREA): Use it.
52522         (regex_compile): Don't translate the pattern chars so eagerly.
52523         Only do it when inserting an `exactn' bytecode or when handling
52524         a char-range.
52525         (mutually_exclusive_p): Avoid empty statement.
52526
52527 2002-07-06  Jim Meyering  <meyering@lucent.com>
52528
52529         * m4/README: Don't mention Makefile.am.in.
52530         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
52531
52532 2002-07-01  Jim Meyering  <meyering@lucent.com>
52533
52534         * lib/c-stack.c: Include sys/time.h.
52535         From Volker Borchert.
52536
52537 2002-06-26  Paul Eggert  <eggert@twinsun.com>
52538
52539         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
52540
52541 2002-06-26  Paul Eggert  <eggert@twinsun.com>
52542
52543         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
52544         New macro.  Use it uniformly instead of
52545         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
52546         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
52547         reported by Vin Shelton.
52548
52549 2002-06-22  Paul Eggert  <eggert@twinsun.com>
52550
52551         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
52552         Do not assume SA_SIGINFO behavior.
52553         Bug reported by Jim Meyering on NetBSD 1.5.2.
52554
52555 2002-06-22  Jim Meyering  <meyering@lucent.com>
52556
52557         * m4/c-stack.m4: New file, from diffutils-2.8.2.
52558         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
52559
52560         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
52561         now that configure.ac uses AC_GNU_SOURCE.
52562         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
52563         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
52564
52565         Update to latest tools.  Suggestions from Paul Eggert.
52566         * m4/stdbool.m4: New file, from diffutils-2.8.2.
52567         * m4/gnu-source.m4: Update from diffutils-2.8.2.
52568         * m4/fnmatch.m4: Likewise.
52569         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
52570         to AC_HEADER_STDBOOL
52571
52572 2002-06-22  Jim Meyering  <meyering@lucent.com>
52573
52574         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
52575         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
52576
52577 2002-06-22  Jim Meyering  <meyering@lucent.com>
52578
52579         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
52580
52581         * lib/exitfail.c, exitfail.h: Likewise.
52582         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
52583
52584         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
52585         of fnmatch.h.
52586         (EXTRA_DIST): Add fnmatch_loop.c.
52587         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
52588
52589         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
52590         * lib/fnmatch.c: Update from diffutils-2.8.2.
52591         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
52592         * lib/fnmatch.h: Remove file.
52593
52594 2002-06-21  Jim Meyering  <meyering@lucent.com>
52595
52596         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
52597         * m4/mbrtowc.m4: Likewise.
52598
52599         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
52600         * m4/mbswidth.m4: Reflect name change:
52601         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
52602         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
52603
52604         * m4/lib-link.m4: Update from gettext-0.11.2.
52605         * m4/gettext.m4: Likewise.
52606
52607         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
52608         From Alfred M. Szmidt.
52609
52610 2002-06-18  Paul Eggert  <eggert@twinsun.com>
52611
52612         * lib/file-type.h: Report an error if neither S_ISREG nor
52613         S_IFREG is defined, instead of using a test specific to glibc
52614         2.2.  This should be safe, since POSIX requires S_ISREG and
52615         Unix Version 7 had S_IFREG.  We don't need to check for
52616         <sys/types.h> since we don't use any symbols that it defines.
52617
52618 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
52619
52620         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
52621         $@-t, so that each temporary file name is unique and valid in the first
52622         8 characters, for operation under DOS.
52623
52624 2002-06-15  Paul Eggert  <eggert@twinsun.com>
52625
52626         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
52627
52628 2002-06-15  Jim Meyering  <meyering@lucent.com>
52629
52630         Work even with DJGPP 2.03, which lacks support for symlinks.
52631         From Richard Dawe.
52632         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
52633         is defined.
52634         * lib/lchown.c (S_ISLNK): Likewise.
52635
52636 2002-06-15  Jim Meyering  <meyering@lucent.com>
52637
52638         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
52639         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
52640         have been included before this file.
52641
52642 2002-06-14  Jim Meyering  <meyering@lucent.com>
52643
52644         * lib/file-type.h: Use the version from diffutils-2.8.2.
52645         * lib/file-type.c: Likewise.
52646
52647 2002-06-07  Jim Meyering  <meyering@lucent.com>
52648
52649         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
52650         They're needed at least for NetBSD 1.5.2.
52651         ($statxfs_includes): Include those same headers.
52652         ($statxfs_includes): Include sys/vfs.h if available.
52653         ($statxfs_includes): Likewise for sys/statvfs.h.
52654         Check for the following members in both structs statfs and statvfs:
52655         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
52656
52657 2002-06-01  Jim Meyering  <meyering@lucent.com>
52658
52659         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
52660         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
52661
52662 2002-05-28  Jim Meyering  <meyering@lucent.com>
52663
52664         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
52665         Reported by Volker Borchert.
52666
52667 2002-05-27  Jim Meyering  <meyering@lucent.com>
52668
52669         Fix a problem seen only on nonconforming systems whereby ls.c's
52670         use of localtime, and then of gettimeofday would cause trouble:
52671         the localtime call used to initialize rpl_gettimeofday's save
52672         mechanism would clobber ls's current local time information so
52673         that in any long listing the first file would always be listed
52674         with date 1970-01-01.  Analysis by Volker Borchert.
52675
52676         * lib/gettimeofday.c (localtime): Undefine.
52677         (rpl_localtime): New function.
52678
52679 2002-05-27  Jim Meyering  <meyering@lucent.com>
52680
52681         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
52682         localtime.
52683
52684         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
52685         use the replacement function; it wouldn't resolve at link time.
52686         Reported by Volker Borchert.
52687
52688 2002-05-22  Jim Meyering  <meyering@lucent.com>
52689
52690         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
52691         file-type.h.
52692         * lib/file-type.h: New file.
52693         * lib/file-type.c (file_type): New file/function.  Extracted from
52694         diffutils.
52695
52696 2002-04-30  Jim Meyering  <meyering@lucent.com>
52697
52698         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
52699
52700 2002-04-29  Paul Eggert  <eggert@twinsun.com>
52701
52702         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
52703
52704 2002-04-29  Paul Eggert  <eggert@twinsun.com>
52705
52706         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
52707         Do not check for alloca.h (no longer used) or stdbool.h (was never
52708         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
52709
52710 2002-04-29  Paul Eggert  <eggert@twinsun.com>
52711
52712         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
52713
52714 2002-04-29  Jim Meyering  <meyering@lucent.com>
52715
52716         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
52717         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
52718         Use AC_FUNC_STRNLEN here instead.
52719
52720         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
52721         With autoconf-2.53a, it's part of AC_PROG_CC.
52722
52723 2002-04-28  Paul Eggert  <eggert@twinsun.com>
52724
52725         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
52726         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
52727
52728 2002-04-28  Paul Eggert  <eggert@twinsun.com>
52729
52730         * lib/sig2str.h, lib/sig2str.c: New files.
52731         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
52732
52733 2002-04-28  Paul Eggert  <eggert@twinsun.com>
52734
52735         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
52736         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
52737         of 127, since 64 is the largest conceivable number for ancient
52738         nonstandard hosts.
52739         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
52740
52741 2002-04-28  Jim Meyering  <meyering@lucent.com>
52742
52743         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
52744
52745 2002-04-24  Jim Meyering  <meyering@lucent.com>
52746
52747         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
52748         (jm_PREREQ): Use it.
52749
52750         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
52751         mach/mach.h fcntl.h.
52752         Check for this function: setlocale.
52753
52754 2002-04-24  Jim Meyering  <meyering@lucent.com>
52755
52756         * lib/gettext.h: New file, from Gettext.
52757         * lib/Makefile.am (INCLUDES): Remove -I../intl.
52758         (libfetish_a_SOURCES): Add gettext.h.
52759
52760 2002-04-16  Jim Meyering  <meyering@lucent.com>
52761
52762         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
52763         ut_pid, ut_id, ut_exit.
52764
52765 2002-04-16  Jim Meyering  <meyering@lucent.com>
52766
52767         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
52768         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
52769         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
52770
52771 2002-04-12  Jim Meyering  <meyering@lucent.com>
52772
52773         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
52774         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
52775         existence of the getmntinfo function.  Needed for Darwin 5.3.
52776
52777         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
52778         This is necessary at least on Darwin 5.3.
52779
52780         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
52781         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
52782         strnlen.o in the library, and that makes some versions of ranlib
52783         object.
52784
52785 2002-04-12  Jim Meyering  <meyering@lucent.com>
52786
52787         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
52788
52789 2002-04-09  Jim Meyering  <meyering@lucent.com>
52790
52791         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
52792         to be more precise.  Rather than saying we're checking whether the
52793         function `works', say what we're testing.
52794         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
52795         Reported by Bruno Haible.
52796
52797 2002-03-10  Jim Meyering  <meyering@lucent.com>
52798
52799         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
52800         Suggestion from Santiago Vila.
52801
52802 2002-03-08  Jim Meyering  <meyering@lucent.com>
52803
52804         * lib/rename.c: Mention that this wrapper is needed also on
52805         mips-dec-ultrix4.4 systems.
52806
52807 2002-03-02  Jim Meyering  <meyering@lucent.com>
52808
52809         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
52810         not HAVE_CLOCK_SETTIME.
52811
52812 2002-02-27  Paul Eggert  <eggert@twinsun.com>
52813
52814         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
52815         Check for clock_settime.
52816
52817 2002-02-27  Paul Eggert  <eggert@twinsun.com>
52818
52819         * lib/nanosleep.h: Rename to....
52820         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
52821
52822         * lib/gettime.c: New file.
52823         * lib/settime.c: New file.
52824         * lib/stime.c: Remove.
52825
52826         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
52827         timespec.h.  Remove nanosleep.h.
52828
52829 2002-02-25  Paul Eggert  <eggert@twinsun.com>
52830
52831         * m4/acl.m4: New file.
52832         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
52833         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
52834
52835 2002-02-25  Paul Eggert  <eggert@twinsun.com>
52836
52837         * lib/acl.c, lib/acl.h: New files.
52838         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
52839
52840 2002-02-24  Jim Meyering  <meyering@lucent.com>
52841
52842         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
52843         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
52844         cause trouble.  Reported by Nelson Beebe.
52845
52846 2002-02-23  Paul Eggert  <eggert@twinsun.com>
52847
52848         * lib/path-concat.c (xpath_concat): Reorder code to pacify
52849         compilers that don't know that xalloc_die never returns.
52850
52851 2002-02-20  Jim Meyering  <meyering@lucent.com>
52852
52853         * lib/getdate.c: Regenerate using bison-1.33.
52854
52855 2002-02-17  Jim Meyering  <meyering@lucent.com>
52856
52857         * config/config.guess (main): Don't use `head -1'; it's no longer
52858         portable. Use `sed 1q' instead.
52859
52860 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
52861
52862         * m4/codeset.m4: Upgrade to gettext-0.11.
52863         * m4/gettext.m4: Upgrade to gettext-0.11.
52864         * m4/glibc21.m4: Upgrade to gettext-0.11.
52865         * m4/iconv.m4: Upgrade to gettext-0.11.
52866         * m4/isc-posix.m4: Upgrade to gettext-0.11.
52867         * m4/lcmessage.m4: Upgrade to gettext-0.11.
52868         * m4/lib-ld.m4: New file, from gettext-0.11.
52869         * m4/lib-link.m4: New file, from gettext-0.11.
52870         * m4/lib-prefix.m4: New file, from gettext-0.11.
52871         * m4/progtest.m4: Upgrade to gettext-0.11.
52872
52873 2002-02-15  Paul Eggert  <eggert@twinsun.com>
52874
52875         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
52876         (jm_PREREQ): Use it.
52877
52878 2002-02-15  Paul Eggert  <eggert@twinsun.com>
52879
52880         * lib/posixver.c, lib/posixver.h: New files.
52881         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
52882
52883 2002-02-02  Paul Eggert  <eggert@twinsun.com>
52884             Bruno Haible  <bruno@clisp.org>
52885
52886         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
52887         (fwrite_success_callback): New declaration.
52888         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
52889         print_unicode_char. Call failure callback instead of error.
52890         (fwrite_success_callback): New function.
52891         (exit_failure_callback): New function.
52892         (fallback_failure_callback): New function.
52893         (print_unicode_char): Call unicode_to_mb.
52894
52895 2002-01-26  Jim Meyering  <meyering@lucent.com>
52896
52897         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
52898         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
52899
52900 2002-01-26  Jim Meyering  <meyering@lucent.com>
52901
52902         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
52903
52904 2002-01-22  Paul Eggert  <eggert@twinsun.com>
52905
52906         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
52907
52908 2002-01-22  Jim Meyering  <meyering@lucent.com>
52909
52910         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
52911         Otherwise, some versions of automake would omit the rule that makes
52912         Makefile from Makefile.in.
52913
52914 2002-01-21  Paul Eggert  <eggert@twinsun.com>
52915
52916         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
52917         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
52918         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
52919         (memcoll): Set errno to zero if there is no error.
52920
52921         * lib/quotearg.c (quotearg_buffer_restyled):
52922         Fix bug with quoting buffers containing NUL when backslashing escapes.
52923         This bug was exposed by the other changes in this patch.
52924         (quotearg_n_options): New arg ARGSIZE.
52925         All callers changed.
52926         (quoting_options_from_style): New function.
52927         (quotearg_n_style): Use it.
52928         (quotearg_n_style_mem): New function.
52929
52930         * lib/quotearg.h (quotearg_n_style_mem): New function.
52931
52932 2002-01-19  Jim Meyering  <meyering@lucent.com>
52933
52934         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
52935         Remove useless quotes: DF_PROG="df".
52936         * m4/strnlen.m4: New file.
52937
52938 2002-01-16  Paul Eggert  <eggert@twinsun.com>
52939
52940         * lib/backupfile.c (ISDIGIT): Comment fix.
52941         * lib/getdate.y (ISDIGIT): Likewise.
52942         * lib/posixtm.c (ISDIGIT, year): Likewise.
52943         * lib/strverscmp.c (ISDIGIT): Likewise.
52944         * lib/userspec.c (ISDIGIT): Likewise.
52945
52946 2002-01-16  Jim Meyering  <meyering@lucent.com>
52947
52948         * lib/getdate.y: Add three semicolons, each just before a closing
52949         brace. Bison (as of version 1.31) no longer papers over that mistake.
52950
52951 2002-01-05  Jim Meyering  <meyering@lucent.com>
52952
52953         * lib/version-etc.c (version_etc_copyright): Update copyright year.
52954
52955 2001-12-19  Paul Eggert  <eggert@twinsun.com>
52956
52957         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
52958         not silently exit merely because the output buffer happens to
52959         have nothing pending.
52960
52961 2001-12-18  Paul Eggert  <eggert@twinsun.com>
52962
52963         See the big note in ../ChangeLog.
52964         * lib/human.c (suffixes): Prefer K to k for 1024.
52965         (generate_suffix_backwards): New function.
52966         (human_readable_inexact): Use it.
52967         * lib/xstrtol.c (__xstrtol): If there is no number but there
52968         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
52969         Accept 'K' as well as 'k'.
52970
52971 2001-12-15  Jim Meyering  <meyering@lucent.com>
52972
52973         * lib/regex.h (__restrict_arr): Update from libc.
52974
52975         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
52976         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
52977         (STREQ): Define.
52978
52979 2001-12-14  Jim Meyering  <meyering@lucent.com>
52980
52981         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
52982         Suggestion from Bruno Haible.
52983
52984 2001-12-10  Jim Meyering  <meyering@lucent.com>
52985
52986         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
52987         xrealloc, Instead, include "xalloc.h".
52988         (initbuffer): Don't cast xmalloc return value to char*.
52989         (readline): Reword comment.
52990         Don't cast xrealloc return value to char*
52991         Return NULL, not 0.
52992
52993 2001-12-09  Jim Meyering  <meyering@lucent.com>
52994
52995         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
52996         about `signed and unsigned type in conditional expression'.
52997         * lib/posixtm.c (posix_time_parse): Likewise.
52998
52999         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
53000
53001         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
53002         to avoid a pedantic warning.
53003
53004         * lib/getstr.c: Don't include assert.h.
53005         (getstr): Remove warning-evoking assertions.
53006         Return -1 if offset parameter is out of bounds.
53007         Change the type of a local from int to size_t.
53008
53009         * lib/strftime.c (my_strftime_localtime_r): Include this function
53010         definition in the `#if ! HAVE_TM_GMTOFF' block.
53011
53012         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
53013         Include xalloc.h instead.
53014
53015 2001-12-02  Jim Meyering  <meyering@lucent.com>
53016
53017         * lib/tempname.c: Don't declare getenv, thus reverting the change of
53018         2001-11-18.  It's no longer necessary, now that stdlib.h is always
53019         included.
53020
53021         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
53022         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
53023
53024 2001-11-30  Akim Demaille  <akim@epita.fr>
53025
53026         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
53027         before being defined.
53028
53029 2001-11-27  Paul Eggert  <eggert@twinsun.com>
53030
53031         * lib/quotearg.h (quotearg_n, quotearg_n_style):
53032         First arg is int, not unsigned.
53033         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
53034         (SIZE_MAX, UINT_MAX): New macros.
53035         (quotearg_n_options): Abort if N is negative.
53036         Avoid overflow check on hosts where size_t is 64 bits and int
53037         is 32 bits, as overflow is impossible there.
53038         Fix off-by-one typo that caused unnecessary reallocation.
53039
53040 2001-11-27  Jim Meyering  <meyering@lucent.com>
53041
53042         * lib/tempname.c: Merge with version from libc.
53043         * lib/regex.c: Likewise.
53044
53045         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
53046         systems for which STDC_HEADERS is 0, it was not included, resulting in
53047         a warning about an integer-to-pointer conversion problem with getenv.
53048         Reported by Volker Borchert.
53049
53050 2001-11-26  Jim Meyering  <meyering@lucent.com>
53051
53052         * lib/gtod.h: Remove file.
53053         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
53054         * lib/gettimeofday.c: Don't include gtod.h.
53055         (GTOD_init): Remove function.
53056         (rpl_gettimeofday): Do its job here instead, rather than aborting.
53057         Suggestion from Volker Borchert.
53058
53059 2001-11-23  Jim Meyering  <meyering@lucent.com>
53060
53061         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
53062         it.
53063         * lib/hash.c (struct hash_table): Define it here instead.
53064
53065 2001-11-22  Jim Meyering  <meyering@lucent.com>
53066
53067         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
53068
53069 2001-11-20  Jim Meyering  <meyering@lucent.com>
53070
53071         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
53072         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
53073
53074 2001-11-19  Jim Meyering  <meyering@lucent.com>
53075
53076         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
53077         directory.  Use "conftestXXXXXX" as the template.
53078         Suggestion from Paul Eggert.
53079
53080         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
53081         immediately, so the test doesn't mistakenly hit the max-open-files
53082         limit.
53083
53084 2001-11-18  Paul Eggert  <eggert@twinsun.com>
53085
53086         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
53087         (TEMPORARIES): New macro.
53088         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
53089         removes an artificial limitation (e.g. HP-UX 10.20, where
53090         TMP_MAX is 17576).
53091
53092 2001-11-18  Jim Meyering  <meyering@lucent.com>
53093
53094         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
53095
53096 2001-11-18  Jim Meyering  <meyering@lucent.com>
53097
53098         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
53099         on SunOS 4.
53100
53101         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
53102         files will be created before anything else.
53103
53104 2001-11-17  Paul Eggert  <eggert@twinsun.com>
53105
53106         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
53107         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
53108
53109 2001-11-17  Jim Meyering  <meyering@lucent.com>
53110
53111         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
53112         Prompted by a report from Bob Proulx.
53113
53114         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
53115         Instead, require UTILS_FUNC_MKSTEMP.
53116
53117 2001-11-17  Jim Meyering  <meyering@lucent.com>
53118
53119         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
53120         Now, that's done as part of AC_FUNC_STRTOD.
53121
53122 2001-11-17  Jim Meyering  <meyering@lucent.com>
53123
53124         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
53125         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
53126         rather than group writable.  Patch by Juan F. Codagnone.
53127
53128         * lib/readtokens.c: Remove explicit declarations of xmalloc and
53129         xrealloc, Instead, include "xalloc.h".
53130
53131         * lib/mountlist.c: Include unlocked-io.h after all system headers.
53132         Remove explicit declarations of xmalloc, xrealloc,
53133         and xstrdup.  Instead, include "xalloc.h".
53134
53135         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
53136         unlocked-io.h.
53137         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
53138         Likewise.
53139         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
53140
53141         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
53142         Reported by Padraig Brady.
53143
53144         * lib/mkstemp.c: #undef mkstemp.
53145         Include config.h.
53146         (rpl_mkstemp): Rename from mkstemp.
53147         Protoize.
53148
53149 2001-11-16  Jim Meyering  <meyering@lucent.com>
53150
53151         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
53152         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
53153         determine the amount of total physical memory, use pstat_getstatic.
53154         HPUX-11 doesn't define _SC_PHYS_PAGES.
53155         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
53156         If sysconf couldn't be used to determine the amount of available
53157         physical memory, use both pstat_getstatic and pstat_getdynamic.
53158         Based on a patch from Bob Proulx.
53159
53160 2001-11-10  Jim Meyering  <meyering@lucent.com>
53161
53162         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
53163         (jm_PREREQ): Use it.
53164
53165 2001-11-09  Jim Meyering  <meyering@lucent.com>
53166
53167         * m4/jm-macros.m4: Require autoconf-2.52f.
53168         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
53169         Use these AC_-prefixed names, not the AM_-prefixed ones.
53170
53171         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
53172
53173 2001-11-05  Jim Meyering  <meyering@lucent.com>
53174
53175         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
53176
53177 2001-11-04  Jim Meyering  <meyering@lucent.com>
53178
53179         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
53180         $DEFS.
53181
53182 2001-11-03  Jim Meyering  <meyering@lucent.com>
53183
53184         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
53185         of AC_DEFUN.
53186
53187         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
53188         know the name of the variable in the macro definition.
53189
53190 2001-11-03  Jim Meyering  <meyering@lucent.com>
53191
53192         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
53193         in argmatch_to_argument call.
53194
53195         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
53196         argument.
53197
53198         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
53199         e.g., a fault due to an attempt to free a NULL pointer.
53200
53201 2001-11-01  Jim Meyering  <meyering@lucent.com>
53202
53203         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
53204         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
53205
53206 2001-11-01  Jim Meyering  <meyering@lucent.com>
53207
53208         * lib/dirfd.c, lib/dirfd.h: New files.
53209         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
53210
53211         * lib/hash.c (hash_print) [TESTING]: Clean up.
53212
53213 2001-10-22  Paul Eggert  <eggert@twinsun.com>
53214
53215         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
53216         to avoid a warning if -Wall.
53217
53218 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
53219
53220         * README: New file
53221         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
53222         (per RMS's instructions, this is now the canonical source)
53223         * lgpl/, gpl/: New directories.
53224
53225 2001-10-21  Paul Eggert  <eggert@twinsun.com>
53226
53227         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
53228
53229 2001-10-21  Jim Meyering  <meyering@lucent.com>
53230
53231         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
53232         this code would end up calling gettext even in packages built
53233         with --disable-nls.
53234         * lib/getopt.c (_): Likewise.
53235         * lib/regex.c (_): Likewise.
53236
53237 2001-10-20  Paul Eggert  <eggert@twinsun.com>
53238
53239         * m4/error.m4 (jm_PREREQ_ERROR):
53240         Do not invoke AC_CHECK_FUNCS with strerror_r, as
53241         AC_FUNC_STRERROR_R does that.
53242         Check for strerror declaration.
53243
53244         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
53245         are supposed to have them these days.
53246         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
53247         Merge changes from latest Autoconf CVS.
53248         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
53249         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
53250         POSIX decided to standardize on the int flavor of strerror_r.
53251
53252 2001-10-20  Paul Eggert  <eggert@twinsun.com>
53253
53254         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
53255         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
53256         Use strerror_r that is only a macro, even if it is not a function.
53257         (strerror): Check for HAVE_DECL_STRERROR before declaring.
53258         (private_strerror): Use prototypes, not old-style function definition.
53259         (print_errno_message): New function.
53260         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
53261         char*-flavored one.
53262         (error_tail, error, error_at_line): Use it.
53263
53264 2001-10-11  Jim Meyering  <meyering@lucent.com>
53265
53266         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
53267         and quote_n (1, ... to avoid clobbering a buffer.
53268
53269 2001-10-05  Jim Meyering  <meyering@lucent.com>
53270
53271         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
53272         hash-pjw.h.
53273         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
53274         * lib/hash-pjw.h: New file.
53275
53276 2001-09-30  Jim Meyering  <meyering@lucent.com>
53277
53278         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
53279         `struct fsstat' has the `f_fstypename' member.
53280         Use that to define FS_TYPE, which is now used to make
53281         the getfsstat link test tighter.
53282
53283 2001-09-30  Jim Meyering  <meyering@lucent.com>
53284
53285         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
53286         Include <sys/ucred.h>, for Apple Darwin.
53287         Include sys/mount.h and sys/fs_types.h only if available.
53288         (FS_TYPE): Define.
53289         (read_filesystem_list): Use FS_TYPE.
53290
53291 2001-09-29  Paul Eggert  <eggert@twinsun.com>
53292
53293         * lib/exclude.c (excluded_filename): 0 -> false, since it's
53294         a boolean context.
53295
53296 2001-09-29  Jim Meyering  <meyering@lucent.com>
53297
53298         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
53299         [one-argument getmntent function]): Include stdio.h before mntent.h.
53300         SunOS 4.1.x needs it for the declaration of `FILE'.
53301         Patch by Volker Borchert.
53302
53303         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
53304         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
53305         sys/fs_types.h, and make the link-test for getfsstat guard #include
53306         directives with appropriate #if HAVE_*_H tests so that we can
53307         detect getfsstat on Apple Darwin1.3.7 systems.
53308         Reported by Nelson Beebe.
53309         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
53310
53311 2001-09-28  Paul Eggert  <eggert@twinsun.com>
53312
53313         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
53314         #defines strtoimax.  Also treat the other strto* functions
53315         like strtoimax.
53316
53317         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
53318         Check for strtoul and strtoumax,
53319         as those declarations are made even in the signed case.
53320         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
53321         Likewise, for strtol and strtoimax.
53322
53323 2001-09-28  Paul Eggert  <eggert@twinsun.com>
53324
53325         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
53326         #defines strtoimax.  Also treat the other strto* functions
53327         like strtoimax.
53328
53329         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
53330         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
53331         (strtoimax, strtoumax): Do not declare if already defined as a macro.
53332
53333 2001-09-26  Jim Meyering  <meyering@lucent.com>
53334
53335         Most macros in unlocked-io.h had the wrong number of arguments.
53336         * lib/gen-uio: New script.
53337         (USE_UNLOCKED_IO): Define to 1 if not already defined.
53338         * lib/unlocked-io.hin: Remove file.
53339         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
53340         rather than trying to embed it here.
53341         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
53342         Reported by Padraig Brady.
53343
53344 2001-09-25  Volker Borchert  <bt@teknon.de>
53345
53346         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
53347         `result'.
53348
53349 2001-09-24  Jim Meyering  <meyering@lucent.com>
53350
53351         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
53352
53353 2001-09-23  Jim Meyering  <meyering@lucent.com>
53354
53355         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
53356         instead of the mere test for existence of mntent.h.  The latter
53357         would get a false-positive on AIX 3.4 systems.
53358         In the outer getmntent if-block, don't die if neither of the getmntent
53359         tests succeeds.  Instead, just fall through and continue with the
53360         remaining tests.
53361
53362 2001-09-23  Jim Meyering  <meyering@lucent.com>
53363
53364         * lib/mountlist.c: Remove useless parentheses in #if directives.
53365         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
53366         the deprecated MOUNTED symbol is no longer defined in mntent.h.
53367
53368 2001-09-22  Jim Meyering  <meyering@lucent.com>
53369
53370         * m4/gettext.m4: New file.  From gettext.
53371         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
53372         * m4/progtest.m4: Likewise
53373         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
53374         * m4/glibc21.m4: Likewise.
53375
53376         * m4/libintl.m4: Remove.  No longer used.
53377
53378 2001-09-22  Jim Meyering  <meyering@lucent.com>
53379
53380         * lib/localcharset.c: Update from latest gettext.
53381         * lib/config.charset: Likewise.
53382
53383 2001-09-20  Jim Meyering  <meyering@lucent.com>
53384
53385         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
53386         strtoimax.
53387         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
53388         strtoumax.
53389
53390 2001-09-20  Jim Meyering  <meyering@lucent.com>
53391
53392         * lib/xstrtol.c (strtoimax): Guard declaration with
53393         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
53394         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
53395         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
53396         (strtoumax): Likewise, for completeness (it wasn't necessary).
53397
53398 2001-09-17  Paul Eggert  <eggert@twinsun.com>
53399
53400         * lib/strtoimax.c (HAVE_LONG_LONG):
53401         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
53402         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
53403         to work around bug in IBM C compiler.
53404
53405 2001-09-17  Jim Meyering  <meyering@lucent.com>
53406
53407         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
53408         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
53409         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
53410         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
53411         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
53412         whenever the right hand side need not be expanded by the shell.
53413
53414 2001-09-16  Paul Eggert  <eggert@twinsun.com>
53415
53416         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
53417         library.  It's not correct, as some older glibcs are buggy.
53418         fnmatch wasn't fixed until glibc 2.2.
53419
53420         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
53421         special shell magic here.
53422
53423 2001-09-16  Jim Meyering  <meyering@lucent.com>
53424
53425         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
53426         * m4/jm-macros.m4: Require it.
53427
53428 2001-09-16  Jim Meyering  <meyering@lucent.com>
53429
53430         * lib/mkdir.c: New file.
53431
53432 2001-09-15  Jim Meyering  <meyering@lucent.com>
53433
53434         * m4/jm-macros.m4: Check for help2man.
53435
53436 2001-09-11  Jim Meyering  <meyering@lucent.com>
53437
53438         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
53439         The body, by Paul Eggert, was moved here from configure.in.
53440         * m4/jm-macros.m4: Require UTILS_HOST_OS.
53441
53442 2001-09-04  Paul Eggert  <eggert@twinsun.com>
53443
53444         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
53445         (jm_PREREQ): Use it.
53446
53447 2001-09-04  Paul Eggert  <eggert@twinsun.com>
53448
53449         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
53450         Use ssize_t, not int, to store result of readlink.
53451         Check for ssize_t overflow as well as size_t overflow,
53452         as POSIX says the result of readlink is implementation-defined
53453         when ssize_t overflows.
53454         Remove unnecessary cast to char*.
53455         Use free+malloc instead of realloc, as the storage doesn't need
53456         to be preserved and it's clearer and can be more efficient that way.
53457         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
53458         * lib/xreadlink.h (xreadlink): Update prototype.
53459
53460 2001-09-04  Paul Eggert  <eggert@twinsun.com>
53461
53462         * lib/xgetcwd.c: Revert some of the previous change; intead,
53463         fix the HAVE_GETCWD_NULL code to behave more like the
53464         !HAVE_GETCWD_NULL code used to.
53465
53466         Include "xalloc.h".
53467         (xgetcwd): Do not return NULL when memory is exhausted; instead,
53468         invoke xalloc_die.
53469
53470 2001-09-03  Paul Eggert  <eggert@twinsun.com>
53471
53472         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
53473         sys/param.h, as pathmax.h includes them.
53474
53475 2001-09-03  Paul Eggert  <eggert@twinsun.com>
53476
53477         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
53478         (jm_PREREQ_XGETCWD): New macro.
53479
53480         * m4/getcwd.m4: New file.
53481
53482 2001-09-03  Paul Eggert  <eggert@twinsun.com>
53483
53484         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
53485         like the HAVE_GETCWD_NULL code.
53486         Include pathmax.h if not HAVE_GETCWD.
53487         Do not include xalloc.h.
53488         (INITIAL_BUFFER_SIZE): New symbol.
53489         Do not use xmalloc / xrealloc, since the caller is responsible for
53490         handling errors.  Preserve errno around `free' during failure.
53491         Do not overrun buffer when using getwd.
53492
53493 2001-09-03  Paul Eggert  <eggert@twinsun.com>
53494
53495         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
53496         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
53497         getcwd (NULL, 0).
53498
53499 2001-09-03  Paul Eggert  <eggert@twinsun.com>
53500
53501         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
53502         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
53503         spotted by Jim Meyering.
53504
53505 2001-09-03  Jim Meyering  <meyering@lucent.com>
53506
53507         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
53508         failure.
53509
53510 2001-09-02  Jim Meyering  <meyering@lucent.com>
53511
53512         * lib/error.c: Update from GNU libc.
53513
53514 2001-09-01  Jim Meyering  <meyering@lucent.com>
53515
53516         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
53517         Used by df.
53518
53519 2001-09-01  Jim Meyering  <meyering@lucent.com>
53520
53521         * lib/xreadlink.c: New file.
53522         * lib/xreadlink.h: New file.
53523         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
53524         xreadlink.h.
53525
53526         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
53527         doesn't conflict with sparc Solaris 7's definition in
53528         /usr/include/sys/int_types.h.
53529
53530         * lib/exclude.c: Use `""', not `<>' to #include non-system header
53531         files.
53532         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
53533         and strncasecmp as r-values.  Unixware didn't have declarations.
53534
53535 2001-08-31  Paul Eggert  <eggert@twinsun.com>
53536
53537         * lib/xstrtol.h: Add copyright notice.
53538         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
53539         LONGINT_INVALID_SUFFIX_CHAR.
53540
53541 2001-08-31  Paul Eggert  <eggert@twinsun.com>
53542
53543         * lib/xstrtol.c (strtoimax): New decl.
53544
53545 2001-08-31  Paul Eggert  <eggert@twinsun.com>
53546
53547         * lib/xgetcwd.c: Don't include pathmax.h.
53548         Include stdlib.h and unistd.h if available.
53549         Include xalloc.h.
53550         (xmalloc, xstrdup, free): Remove decls.
53551         (xgetcwd): Don't assume sizes fit in unsigned.
53552         Check for overflow when computing sizes.
53553         Simplify reallocation code.
53554
53555 2001-08-31  Paul Eggert  <eggert@twinsun.com>
53556
53557         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
53558         a directory's st_size can have an arbitrary value, so the old
53559         usage could waste an arbitrary amount of memory.  All uses
53560         changed.
53561         * lib/savedir.h: Update prototype.
53562
53563 2001-08-31  Paul Eggert  <eggert@twinsun.com>
53564
53565         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
53566
53567         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
53568         old strtoimax.c.
53569
53570         Also, make the following further changes to make this file's
53571         configuration more similar to that of strtol.c:
53572         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
53573         (strtoumax, uintmax_t, strtoull, strtol): Remove.
53574         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
53575         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
53576         changed to signed values.
53577
53578         And make the following changes as well:
53579         Fix copyright notice, as 1999 was missing.
53580         (verify): New macro.
53581         (strtoimax): Check sizes at compile-time, not run-time.
53582         Prefer strtol to strtoll if both work.
53583         (main): Remove; it was not that useful and was a pain to maintain.
53584
53585         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
53586
53587 2001-08-31  Jim Meyering  <meyering@lucent.com>
53588
53589         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
53590         Use an initial, malloc'd, buffer of length 128 rather than
53591         a statically allocated one of length 1024.
53592
53593 2001-08-30  Paul Eggert  <eggert@twinsun.com>
53594
53595         Simplify code, partly by assuming autoconf 2.52 semantics.
53596
53597         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
53598
53599         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
53600         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
53601         All uses removed.
53602         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
53603         Move AC_REQUIRE to next-to-top level, to avoid confusion.
53604         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
53605         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
53606         jm_AC_HEADER_INTTYPES_H.
53607         * m4/jm-macros.m4 (jm_MACROS): Likewise.
53608
53609         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
53610
53611         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
53612         Quote first arg of AC_DEFUN.
53613         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
53614         since they are needed to parse the include file even if we need
53615         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
53616         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
53617         but with opposite signedness.
53618
53619 2001-08-30  Paul Eggert  <eggert@twinsun.com>
53620
53621         Merge 'exclude' changes from tar 1.13.22.
53622         This fixes one or two unlikely storage allocation overflow bugs,
53623         but doesn't change user-visible behavior otherwise.
53624
53625 2001-08-30  Paul Eggert  <eggert@twinsun.com>
53626
53627         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
53628         (jm_PREREQ_EXCLUDE): New macro.
53629
53630 2001-08-30  Paul Eggert  <eggert@twinsun.com>
53631
53632         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
53633         tm to be declared.
53634
53635 2001-08-30  Paul Eggert  <eggert@twinsun.com>
53636
53637         * lib/hash.c: Remove '2001' from copyright notice.
53638
53639 2001-08-30  Paul Eggert  <eggert@twinsun.com>
53640
53641         * lib/full-write.h: New file.
53642         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
53643         * lib/full-write.c: Correct credits, as cccp.c no longer
53644         exists and anyway it was so heavily changed from the old cccp
53645         code as to be unrecognizable.  Include full-write.h.
53646         (full_write) Return size_t, with short writes meaning failure.
53647         All callers changed.  This fixes a bug with large buffers
53648         on 64-bit hosts.
53649         * lib/utime.c: Include full-write.h.
53650
53651 2001-08-30  Paul Eggert  <eggert@twinsun.com>
53652
53653         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
53654         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
53655         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
53656         Include if available.
53657         (<xalloc.h>): Include
53658         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
53659         (verify): New macro.  Use it to verify that EXCLUDE macros do not
53660         collide with FNM macros.
53661         (struct patopts): New struct.
53662         (struct exclude): Use it, as exclude patterns now come with options.
53663         (new_exclude): Support above changes.
53664         (new_exclude, add_exclude_file):
53665         Initial size must now be a power of two to simplify overflow checking.
53666         (free_exclude, fnmatch_no_wildcards): New function.
53667         (excluded_filename): No longer requires options arg, as the options
53668         are determined by add_exclude.  Now returns bool, not int.
53669         (excluded_filename, add_exclude):
53670         Add support for the fancy new exclusion options.
53671         (add_exclude, add_exclude_file): Now takes int options arg.
53672         Check for arithmetic overflow when computing sizes.
53673         (add_exclude_file): xrealloc might modify errno, so don't
53674         realloc until after errno might be used.
53675
53676         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
53677         New macros.
53678         (free_exclude): New decl.
53679         (add_exclude, add_exclude_file): Now takes int options arg.
53680         (excluded_filename): No longer requires options arg, as the options
53681         are determined by add_exclude.  Now returns bool, not int.
53682
53683 2001-08-30  Paul Eggert  <eggert@twinsun.com>
53684
53685         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
53686
53687 2001-08-27  Jim Meyering  <meyering@lucent.com>
53688
53689         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
53690
53691         * lib/version-etc.c (N_): Remove definition.
53692         Revert most of last change.
53693         Instead, simply don't mark the `Copyright...' string for translation.
53694         Based on advice from Paul Eggert.
53695
53696         * lib/strtoxmax.c: Tweak comment.
53697
53698 2001-08-26  Jim Meyering  <meyering@lucent.com>
53699
53700         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
53701
53702         * m4/xstrtoimax.m4: New file.
53703         * m4/xstrtoumax.m4: Add comments explaining why we
53704         AC_REPLACE_FUNCS(strtol).
53705
53706 2001-08-26  Jim Meyering  <meyering@lucent.com>
53707
53708         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
53709         of copyright with `%s' so translators don't get an untranslated
53710         message in 2002.
53711         (COPYRIGHT_YEAR): Define.
53712         (version_etc): Use fprintf rather than fputs.
53713         Suggestion from Ulrich Drepper.
53714
53715         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
53716
53717         * lib/strtoll.c: New file, from GNU libc.
53718         * lib/xstrtoimax.c: New file.
53719
53720         * lib/xstrtol.h: Add xstrtoimax.
53721         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
53722         * lib/strtoimax.c: New file.  Likewise, but first define
53723         STRTOUXMAX_SIGNED.
53724
53725         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
53726         ...
53727         * lib/strtoxmax.c: ... then renamed to this.
53728
53729 2001-08-18  Paul Eggert  <eggert@twinsun.com>
53730
53731         * m4/inttypes.m4: Add AC_PREREQ(2.13).
53732         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
53733         (jm_AC_TYPE_INTMAX_T): New macro.
53734         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
53735
53736         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
53737
53738         * m4/longlong.m4: Renamed from ulonglong.m4.
53739         * m4/inttypes.m4: Renamed from inttypes_h.m4.
53740         * m4/uintmax_t.m4: Removed.
53741
53742 2001-08-13  Paul Eggert  <eggert@twinsun.com>
53743
53744         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
53745         Port to Solaris 8, where 'sed' requires a space after the 'r'
53746         command, and where sh dislikes "$/".  Clean up the spacing a bit.
53747         Redirect output to $tmp just once.
53748
53749 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
53750
53751         * lib/addext.c (<errno.h>): Include.
53752         (errno): Declare if not defined.
53753         (addext): Work correctly when pathconf returns -1 and leaves
53754         errno alone because there is no limit.  Also, work even if
53755         pathconf returns a value greater than SIZE_MAX.
53756
53757 2001-08-12  Jim Meyering  <meyering@lucent.com>
53758
53759         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
53760         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
53761         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
53762         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
53763         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
53764         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
53765         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
53766         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
53767         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
53768         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
53769         utime.m4, utimes.m4, xstrtoumax.m4:
53770         Quote the first argument in each use of AC_DEFUN.
53771
53772 2001-08-12  Jim Meyering  <meyering@lucent.com>
53773
53774         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
53775         Simply `return getcwd (NULL, 0);'.
53776         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
53777         Use 1300 as initial value for length, not PATH_MAX.
53778
53779         * lib/pathmax.h: Clean up cpp syntax.
53780
53781 2001-08-12  Jim Meyering  <meyering@lucent.com>
53782
53783         * lib/gettimeofday.c: New file.
53784         * lib/gtod.h: New file.
53785         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
53786
53787 2001-08-05  Jim Meyering  <meyering@lucent.com>
53788
53789         * m4/jm-macros.m4: Require autoconf-2.52.
53790
53791 2001-08-04  Jim Meyering  <meyering@lucent.com>
53792
53793         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
53794         stmt, to get in sync with glibc.
53795
53796 2001-08-03  Paul Eggert  <eggert@twinsun.com>
53797
53798         The following changes are from gettext 0.10.39 as maintained by
53799         Bruno Haible.
53800
53801         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
53802         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
53803         with inverted sense.  All uses changed.
53804
53805         * lib/mbswidth.c: Don't include <limits.h>.
53806         Include <stdlib.h> and <string.h> unconditionally.
53807         (iswcntrl, mbsinit, ISCNTRL): New macros.
53808         (mbsnwidth): Use K&R style function declarations.
53809         Don't bother checking for MB_LEN_MAX == 1, since the compiler
53810         can optimize it when MB_CUR_MAX == 1.
53811         The width of control characters is zero, not 1.
53812
53813 2001-08-03  Paul Eggert  <eggert@twinsun.com>
53814
53815         The following changes are from gettext 0.10.39 as maintained by
53816         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
53817
53818         * m4/codeset.m4: Upgrade to serial AM1.
53819         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
53820         all uses changed.  Quote first arg of AC_DEFUN.
53821         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
53822
53823         * m4/iconv.m4: Upgrade to serial AM2.
53824         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
53825         Add --with-libconv-prefix.
53826         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
53827         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
53828         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
53829         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
53830         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
53831
53832         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
53833         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
53834         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
53835         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
53836         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
53837         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
53838         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
53839         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
53840         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
53841
53842         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
53843         string.h any more.
53844
53845         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
53846         not the default value.
53847
53848         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
53849         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
53850         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
53851         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
53852         Also check for iswcntrl, used for wcwidth fallback.
53853         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
53854         to Autoconf 2.13.
53855
53856 2001-08-03  Jim Meyering  <meyering@lucent.com>
53857
53858         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
53859         as it was in the original.  Reported by Paul Eggert.
53860
53861 2001-07-16  Jim Meyering  <meyering@lucent.com>
53862
53863         * m4/gettimeofday.m4: New file.
53864         Prompted by a report from Bernhard Baehr.
53865
53866 2001-07-15  Jim Meyering  <meyering@lucent.com>
53867
53868         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
53869         stuff. Now it's in ../Makefile.cfg.
53870
53871 2001-07-15  Jim Meyering  <meyering@lucent.com>
53872
53873         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
53874         (BUILT_SOURCES): Add unlocked-io.h.
53875         (io_functions): Define.
53876         (unlocked-io.h): New rule.
53877         (DISTCLEANFILES): Add unlocked-io.h.
53878         (all-local): Depend on unlocked-io.h, to ensure it is created.
53879
53880         * lib/unlocked-io.hin: New file
53881
53882         * lib/regex.c: Update from glibc.
53883
53884 2001-07-05  Jim Meyering  <meyering@lucent.com>
53885
53886         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
53887         recommendation.
53888         (libfetish_a_SOURCES): Put all .h files here instead.
53889         Remove a thus-exposed (better checks in automake) duplicate and
53890         two unnecessary .h files.
53891
53892 2001-07-04  Jim Meyering  <meyering@lucent.com>
53893
53894         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
53895         that generates jm-glibc-io.m4 so that it doesn't trigger any make
53896         distcheck failure.
53897
53898 2001-07-02  Jim Meyering  <meyering@lucent.com>
53899
53900         The following changes were prompted by suggestions from Bruno Haible.
53901
53902         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
53903         is now generated.
53904         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
53905         definition of EXTRA_DIST.
53906         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
53907         ensure that the generated file is created/updated whenever the list
53908         of $(unlocked_functions) is changed.
53909         (jm-glibc-io.m4): New rule.
53910         (unlocked-io.h): New rule -- currently unused.
53911
53912 2001-06-24  Jim Meyering  <meyering@lucent.com>
53913
53914         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
53915         unmatched right bracket, rather than kludging it with an extra,
53916         falsely-matching quote in a comment.  Patch by Akim Demaille.
53917
53918 2001-06-11  Jim Meyering  <meyering@lucent.com>
53919
53920         * lib/regex.c: Update from GNU libc.
53921
53922 2001-05-27  Jim Meyering  <meyering@lucent.com>
53923
53924         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
53925         Check for ut_type in struct utmp.
53926
53927 2001-05-27  Jim Meyering  <meyering@lucent.com>
53928
53929         * lib/readutmp.h (UT_TYPE): Define.
53930
53931 2001-05-24  Jim Meyering  <meyering@lucent.com>
53932
53933         * lib/argmatch.c: Include "quote.h".
53934         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
53935         quote function.  Reported by Göran Uddeborg.
53936
53937 2001-05-22  Jim Meyering  <meyering@lucent.com>
53938
53939         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
53940         now that we use the package-supplied version unconditionally.
53941         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
53942
53943 2001-05-21  Jim Meyering  <meyering@lucent.com>
53944
53945         * m4/regex.m4: Change a couple backticks to single quotes to avoid
53946         shell syntax errors.
53947
53948 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
53949
53950         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
53951
53952 2001-05-20  Paul Eggert  <eggert@twinsun.com>
53953
53954         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
53955         Don't bother to check library strftime, since
53956         we'll be using our own my_strftime function anyway.
53957         Define my_strftime instead of strftime.
53958
53959 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
53960
53961         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
53962         which is not yet declared.
53963
53964 2001-05-15  Jim Meyering  <meyering@lucent.com>
53965
53966         * m4/regex.m4: Use proper quoting so brackets appear in the test
53967         program.
53968         Reported by, and with help from, Bruno Haible.
53969
53970 2001-05-13  Jim Meyering  <meyering@lucent.com>
53971
53972         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
53973         undefined.
53974
53975 2001-05-11  Paul Eggert  <eggert@twinsun.com>
53976
53977         dirname code cleanup.  base_name now behaves more compatibly
53978         with POSIX basename when given file names that have trailing
53979         slashes, and similarly for dir_name.  Add new primitives
53980         base_len and dir_len.  Put the directory-name-related decls
53981         into dirname.h.
53982
53983         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
53984         * lib/backupfile.c (base_name): Likewise.
53985         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
53986         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
53987         * lib/makepath.c (strip_trailing_slashes): Likewise.
53988         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
53989         ISSLASH): Likewise.
53990         * lib/rename.c (strip_trailing_slashes): Likewise.
53991         * lib/same.c (base_name): Likewise.
53992         * lib/stripslash.c (ISSLASH): Likewise.
53993
53994         * lib/addext.c: Include <dirname.h> after size_t is defined.
53995         * lib/backupfile.c: Likewise.
53996
53997         * lib/addext.c (addext): Use base_len to trim redundant
53998         trailing slashes instead of doing it ourselves.
53999         But do not trim the last slash if it is not redundant.
54000
54001         * lib/backupfile.c (find_backup_file_name,
54002         max_backup_version): Use base_len instead of rolling it ourselves.
54003         Handle the case of "" and (on DOS) "C:" correctly.
54004
54005         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
54006         needed. Include <string.h>, <dirname.h>.
54007         (base_name): Allow file names ending in slashes, other than names
54008         that are all slashes.  In this case, return the basename followed
54009         by the slashes.  This is more general, and can be used in places
54010         where the original base_name purposely had an assertion failure.
54011         (base_len): New function.
54012
54013         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
54014         Do not include <assert.h>; no longer needed.
54015         Include xalloc.h.
54016         (memrchr): Remove decl.
54017         (dir_name_r): Remove.
54018         (dir_len): Renamed from dirlen.  All callers changed.
54019         Rewrite in terms of base_name, for simplicity and consistency.
54020         (dir_name): Never return NULL.  All callers changed.
54021         Do not include <stdlib.h> in test program; no longer needed.
54022         return 0; is fine for test program.
54023
54024         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
54025         New macros.
54026         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
54027
54028         * lib/path-concat.c (path_concat): Use base_len to compute
54029         base length, not strlen; this means we cannot rely on memcpy
54030         to null-terminate.
54031
54032         * lib/same.c (STREQ): Remove.
54033         (same_name): Handle the case where the basename ends in trailing '/'.
54034
54035         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
54036         a slash was stripped.  Do not strip the last slash after a
54037         file system prefix.
54038
54039 2001-05-11  Paul Eggert  <eggert@twinsun.com>
54040
54041         * lib/Makefile.am (libfetish_a_SOURCES):
54042         Add strftime.c, since we now compile it on all hosts.
54043
54044         * lib/strftime.c (my_strftime):
54045         Define to nstrftime if emacs, but only if my_strftime is not defined.
54046         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
54047         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
54048         Add one more extra argument: a nanoseconds value.
54049         All uses changed.
54050         (ns): New macro.
54051         (my_strftime function): Add %N format.
54052         (emacs_strftimeu): Renamed from emacs_strftime,
54053         with extra ut argument.
54054
54055 2001-05-09  Paul Eggert  <eggert@twinsun.com>
54056
54057         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
54058
54059 2001-04-21  Jim Meyering  <meyering@lucent.com>
54060
54061         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
54062         doesn't interfere.
54063
54064 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
54065
54066         * m4/ftruncate.m4: Check for chsize.
54067         Link with ftruncate.o unconditionally if ftruncate is missing.
54068         This was required when cross-compiling to i586-mingw32msvc.
54069
54070 2001-04-08  Jim Meyering  <meyering@lucent.com>
54071
54072         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
54073         recomputed; that's necessary when the offset spans a DST transition.
54074         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
54075
54076 2001-04-02  Jim Meyering  <meyering@lucent.com>
54077
54078         * lib/regex.h, regex.c: Update from GNU libc.
54079
54080 2001-03-24  Jim Meyering  <meyering@lucent.com>
54081
54082         * m4/jm-macros.m4: Require autoconf-2.49d.
54083
54084 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
54085
54086         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
54087
54088 2001-03-19  Paul Eggert  <eggert@twinsun.com>
54089
54090         * lib/version-etc.c (version_etc_copyright): Update to 2001.
54091
54092 2001-03-17  Jim Meyering  <meyering@lucent.com>
54093
54094         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
54095         now that the version in autoconf is equivalent.
54096         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
54097
54098         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
54099         Suggestion from Akim Demaille.
54100
54101         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
54102         (jm_PREREQ_TEMPNAME): New function.
54103
54104 2001-03-16  Paul Eggert  <eggert@twinsun.com>
54105
54106         * lib/tempname.c (uint64_t): Define to uintmax_t if
54107         not defined, and if UINT64_MAX is not defined.
54108         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
54109         Reported by John David Anglin.
54110
54111 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
54112
54113         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
54114         resolve alias if codeset is empty.
54115         * lib/config.charset (BeOS): Use wildcard syntax.
54116
54117 2001-03-13  Jim Meyering  <meyering@lucent.com>
54118
54119         * lib/path-concat.c (path_concat)
54120         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
54121         concatenating e.g., `C:' and `foo'.
54122         From Bruno Haible.
54123
54124 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
54125
54126         * lib/localcharset.c (locale_charset): Don't use
54127         setlocale(LC_CTYPE,NULL). Don't return NULL.
54128         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
54129
54130 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
54131
54132         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
54133         support for DOS/DJGPP.
54134
54135 2001-03-01  Paul Eggert  <eggert@twinsun.com>
54136
54137         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
54138         lacks mkstemp.  Compile our own tempname.c if we compile our own
54139         mkstemp.c, as mkstemp relies on tempname.
54140
54141 2001-03-01  Jim Meyering  <meyering@lucent.com>
54142
54143         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
54144         AH_VERBATIM really does output its argument verbatim.
54145
54146 2001-02-28  Paul Eggert  <eggert@twinsun.com>
54147
54148         * lib/Makefile.am (libfetish_a_SOURCES):
54149         Add dup-safer.c, fopen-safer.c.
54150         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
54151
54152         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
54153         * lib/unistd-safer.h: New files.
54154
54155 2001-02-25  Paul Eggert  <eggert@twinsun.com>
54156
54157         The mkstemp replacement is taken from glibc 2.2.2, with some
54158         portability fixes for use outside glibc, as follows:
54159
54160         * lib/tempname.c (struct_stat64): New macro.
54161         (direxists, __gen_tempname): Use it.
54162         This avoids a portability problem with Solaris 8.
54163
54164         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
54165         (<stddef.h>, <stdint.h>, <string.h>):
54166         Include only if STDC_HEADERS || _LIBC.
54167         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
54168         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
54169         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
54170         (__set_errno): Define this macro if <errno.h> doesn't.
54171         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
54172         Define these macros if <stdio.h> doesn't.
54173         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
54174         Define these macros if <sys/stat.h>
54175         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
54176         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
54177         __xstat64): Define if not _LIBC.
54178         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
54179         (__gen_tempname): Invoke gettimeofday only if
54180         HAVE_GETTIMEOFDAY || _LIBC;
54181         otherwise, fall back on plain "time".
54182         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
54183
54184         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
54185
54186         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
54187
54188 2001-02-18  Paul Eggert  <eggert@twinsun.com>
54189
54190         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
54191
54192 2001-02-17  Paul Eggert  <eggert@twinsun.com>
54193
54194         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
54195         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
54196         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
54197         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
54198
54199 2001-02-17  Paul Eggert  <eggert@twinsun.com>
54200
54201         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
54202         Remove workaround macros for hosts that have mbrtowc but not
54203         mbstate_t, as we now insist on proper declarations for both
54204         before using mbrtowc.
54205
54206 2001-02-17  Jim Meyering  <meyering@lucent.com>
54207
54208         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
54209         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
54210         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
54211         UnixWare 7.1.1.
54212
54213         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
54214         rather than AC_CACHE_VAL.
54215
54216 2001-02-17  Jim Meyering  <meyering@lucent.com>
54217
54218         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
54219         around included file name.
54220
54221         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
54222
54223         * lib/strftime.c: Update from GNU libc (the only changes were to
54224         comments).
54225
54226 2001-02-17  Jim Meyering  <meyering@lucent.com>
54227
54228         * lib/regex.c: Update from libc.
54229
54230 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
54231
54232         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
54233         clash.
54234
54235 2001-02-16  Paul Eggert  <eggert@twinsun.com>
54236
54237         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
54238         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
54239         Reported by Mark Hounschell via Paul Eggert.
54240
54241 2001-02-07  Jim Meyering  <meyering@lucent.com>
54242
54243         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
54244
54245 2001-02-05  Jim Meyering  <meyering@lucent.com>
54246
54247         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
54248         it includes the patch required for `large file' support with at least
54249         HP-UX's 10.20 /bin/cc.
54250
54251 2001-02-03  Jim Meyering  <meyering@lucent.com>
54252
54253         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
54254         AS_IF, now that it works once again (mysteriously).
54255         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
54256
54257 2001-01-30  Jim Meyering  <meyering@lucent.com>
54258
54259         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
54260         * m4/chown.m4: Rename conftestchown to conftest.chown.
54261         * m4/rename.m4: s/conftestdir/conftest.d1/ and
54262         s/conftestdir2/conftest.d2/.
54263         * m4/utimes.m4: s/conftestdata/conftest.data/
54264         Inspired by Pavel Roskin's change in autoconf.
54265
54266 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
54267
54268         * lib/config.charset: Update for FreeBSD 4.2.
54269
54270 2001-01-27  Jim Meyering  <meyering@lucent.com>
54271
54272         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
54273         a use of AS_IF.
54274         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
54275
54276 2001-01-26  Jim Meyering  <meyering@lucent.com>
54277
54278         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
54279         quotearg.c includes it.
54280
54281 2001-01-26  Jim Meyering  <meyering@lucent.com>
54282
54283         * lib/quotearg.c: Include stddef.h.
54284         * lib/quote.c: Include stddef.h.
54285         Reported by Axel Kittenberger.
54286
54287         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
54288         line in double quotes so that it evokes a better diagnostic.
54289         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
54290         Reported by Axel Kittenberger.
54291
54292 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
54293
54294         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
54295         as if it was a `charset'.
54296
54297 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
54298
54299         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
54300         has const.
54301
54302 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
54303
54304         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
54305         to avoid a warning.  Add back 'const' to inptr.
54306
54307 2001-01-20  Jim Meyering  <meyering@lucent.com>
54308
54309         Be sure that headers are checked before used in code compiled
54310         for the type checks.
54311         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
54312         In place of that, invoke jm_CHECK_ALL_TYPES.
54313         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
54314         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
54315         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
54316         The check for ssize_t was mistakenly run before the test for unistd.h.
54317
54318         The configure-time check for stdbool.h was missing.
54319         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
54320         (jm_PREREQ_HASH): New function.
54321
54322 2001-01-17  Jim Meyering  <meyering@lucent.com>
54323
54324         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
54325         for autoconf-2.49c.
54326         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
54327
54328 2001-01-16  Jim Meyering  <meyering@lucent.com>
54329
54330         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
54331         From Bruno Haible.
54332
54333 2001-01-14  Jim Meyering  <meyering@lucent.com>
54334
54335         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
54336         foo and bar.  Create conftestdir/ in the script, not in the C code.
54337         Remove directories in the script, not in the C code.
54338         Remove conftestdir{,2} before trying to create the directory.
54339         Make the entire configure script fail if the mkdir fails.
54340
54341 2001-01-14  Jim Meyering  <meyering@lucent.com>
54342
54343         * lib/rename.c: New file.  From Volker Borchert.
54344         Include stdlib.h, string.h or strings.h, and xalloc.h.
54345         Use strip_trailing_slashes rather than open-coding it.
54346
54347 2001-01-03  Paul Eggert  <eggert@twinsun.com>
54348
54349         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
54350
54351 2001-01-03  Jim Meyering  <meyering@lucent.com>
54352
54353         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
54354         of local `inptr' to avoid warning with some system declarations of
54355         iconv.
54356
54357 2001-01-02  Volker Borchert  <bt@teknon.de>
54358
54359         * m4/rename.m4: New file.
54360         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
54361
54362 2001-01-01  Jim Meyering  <meyering@lucent.com>
54363
54364         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
54365         even on systems with utmpx.h.  It's necessary for the declaration of
54366         utmp's ut_user member.  Reported by Andreas Jaeger.
54367
54368         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
54369         available. They are required for the declarations of getgrgid and
54370         getpwuid resp.
54371         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
54372         Reported by Andreas Jaeger.
54373
54374 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
54375
54376         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
54377         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
54378         so `make install' also works in VPATH builds.
54379
54380 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
54381
54382         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
54383         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
54384         can be used in subdirectories.
54385
54386 2000-12-29  Paul Eggert  <eggert@twinsun.com>
54387
54388         * lib/modechange.c: Do not assume that mode_t uses the
54389         traditional octal encoding.  E.g. "chmod 1 FOO" should set
54390         the other-execute bit of FOO even if S_IXOTH != 1.
54391
54392         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
54393         WOTH, XOTH, ALLM): New macros.
54394         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
54395          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
54396         Use them.
54397         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
54398         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
54399         (mode_compile):
54400         No need to use uintmax_t; unsigned long is long enough.
54401         Don't bother to get suffix since we don't use it.
54402
54403 2000-12-26  Jim Meyering  <meyering@lucent.com>
54404
54405         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
54406         better with autoheader.
54407
54408 2000-12-24  Jim Meyering  <meyering@lucent.com>
54409
54410         * lib/hash.c (is_prime): Return explicit boolean values.
54411         (hash_get_first): Return NULL to appease Irix5.6's 89.
54412         Reported by Nelson Beebe.
54413
54414 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
54415
54416         * lib/localcharset.c (locale_charset): Add support for Win32.
54417
54418 2000-12-18  Paul Eggert  <eggert@twinsun.com>
54419
54420         * lib/physmem.h, lib/physmem.c: New files.
54421
54422         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
54423         (noinst_HEADERS): Add physmem.h.
54424
54425         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
54426         't' for compatibility with Solaris 8 sort.
54427
54428 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
54429
54430         * lib/config.charset: Add support for BeOS.
54431
54432 2000-12-17  Jim Meyering  <meyering@lucent.com>
54433
54434         * m4/dos.m4 (jm_AC_DOS): New file and macro.
54435         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
54436
54437 2000-12-16  Jim Meyering  <meyering@lucent.com>
54438
54439         This bug had a serious impact on chown: `chown N:M FILE' (for integer
54440         N and M) would have treated it like `chown N:N FILE'.
54441
54442         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
54443
54444 2000-12-16  Jim Meyering  <meyering@lucent.com>
54445
54446         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
54447         SHELLS_FILE to a file name that's useful on djgpp systems.
54448         Include stdlib.h.
54449         (ADDITIONAL_DEFAULT_SHELLS): Define.
54450         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
54451         Based mostly on a patch from Prashant TR.
54452
54453 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
54454
54455         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
54456         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
54457         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
54458
54459 2000-12-08  Andreas Schwab  <schwab@suse.de>
54460
54461         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
54462         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
54463
54464 2000-12-07  Jim Meyering  <meyering@lucent.com>
54465
54466         * lib/stripslash.c (ISSLASH): Define.
54467         (strip_trailing_slashes): Use ISSLASH rather than comparing against
54468         `/'.
54469         From Prashant TR.
54470
54471         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
54472         (dir_name_r): Declare this function as static.
54473         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
54474         manifest itself on a name containing a mix of slashes and
54475         backslashes.
54476         Make this function work with names starting with a DOS-style
54477         drive letter and colon prefix.
54478         (dir_name): Append `.' if necessary.
54479         Based mostly on patches from Prashant TR and Eli Zaretskii.
54480
54481         * lib/dirname.h (dir_name_r): Remove prototype.
54482
54483 2000-12-06  Paul Eggert  <eggert@twinsun.com>
54484
54485         * m4/off_t-format.m4: Remove this file.
54486         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
54487
54488 2000-12-06  Jim Meyering  <meyering@lucent.com>
54489
54490         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
54491         replacement strtoull, we may well need the replacement strtoul, too.
54492         Check for declarations of strtoul and strtoull.
54493         Check for strtol.  Mainly as a cue to cause automake to include
54494         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
54495         Check for limits.h -- strtol.c needs it.
54496
54497 2000-12-05  Jim Meyering  <meyering@lucent.com>
54498
54499         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
54500
54501 2000-12-04  Jim Meyering  <meyering@lucent.com>
54502
54503         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
54504         Also include memory.h, stdlib.h, unistd.h if appropriate.
54505         Reported by Andreas Jaeger (conflicting declaration of malloc).
54506
54507 2000-12-02  Jim Meyering  <meyering@lucent.com>
54508
54509         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
54510         * m4/jm-macros.m4 (jm_MACROS): require it.
54511
54512 2000-12-02  Jim Meyering  <meyering@lucent.com>
54513
54514         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
54515
54516 2000-12-01  Paul Eggert  <eggert@twinsun.com>
54517
54518         * lib/memrchr.c: Include <config.h> before any system include file.
54519
54520 2000-11-30  Jim Meyering  <meyering@lucent.com>
54521
54522         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
54523
54524 2000-11-30  Jim Meyering  <meyering@lucent.com>
54525
54526         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
54527
54528 2000-11-29  Paul Eggert  <eggert@twinsun.com>
54529
54530         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
54531
54532 2000-11-26  Jim Meyering  <meyering@lucent.com>
54533
54534         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
54535
54536 2000-11-22  Paul Eggert  <eggert@twinsun.com>
54537
54538         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
54539         size of (size_t) -1; it's not portable.
54540
54541 2000-11-17  Jim Meyering  <meyering@lucent.com>
54542
54543         * lib/strstr.c: Update from GNU libc.
54544
54545 2000-11-17  Akim Demaille  <akim@epita.fr>
54546
54547         * lib/obstack.h: Formatting changes.
54548         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
54549         prevent type checking.
54550         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
54551         cast the value to (void *): assigning a `foo *' to a `void *'
54552         variable is valid.
54553         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
54554
54555 2000-11-16  Jim Meyering  <meyering@lucent.com>
54556
54557         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
54558
54559 2000-11-11  Jim Meyering  <meyering@lucent.com>
54560
54561         * lib/error.c: Add a couple #includes, merging from GNU libc version.
54562
54563 2000-11-10  Jim Meyering  <meyering@lucent.com>
54564
54565         * lib/obstack.h: Update from GNU libc.
54566         * lib/obstack.c: Likewise.
54567
54568 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
54569
54570         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
54571
54572 2000-11-06  Paul Eggert  <eggert@twinsun.com>
54573
54574         * lib/getusershell.c (setusershell): Use rewind rather than
54575         fseek/fseeko, to avoid configuration hassles with fseeko.
54576         Don't bother opening SHELLS_FILE if shellstream is NULL;
54577         it's not necessary.
54578
54579 2000-11-05  Jim Meyering  <meyering@lucent.com>
54580
54581         * lib/makepath.h (make_dir): Declare.
54582         * lib/makepath.c (make_dir): Remove `static' attribute.
54583         Tweak a comment.
54584
54585 2000-11-04  Jim Meyering  <meyering@lucent.com>
54586
54587         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
54588
54589 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
54590
54591         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
54592         last one in a bucket, advance to the next bucket.
54593
54594 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
54595
54596         * lib/fnmatch.c: Do not comment out all the code if we are using
54597         the GNU C library, because in some cases we are replacing buggy
54598         code in the GNU C library itself.
54599
54600 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
54601
54602         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
54603         (regex_compile): Catch bogus \(\1\).
54604
54605 2000-10-30  Paul Eggert  <eggert@twinsun.com>
54606
54607         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
54608         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
54609         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
54610
54611 2000-10-30  Paul Eggert  <eggert@twinsun.com>
54612
54613         * lib/error.h, getline.h, modechange.h:
54614         Remove "2000" from Copyright line, as the file hasn't been
54615         changed this year other than in the copyright notice.
54616
54617         * lib/xalloc.h: Add "2000" to Copyright line, as this file
54618         was changed this year.
54619
54620 2000-10-29  Jim Meyering  <meyering@lucent.com>
54621
54622         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
54623         renaming.
54624         * m4/ls-mntd-fs.m4: Likewise
54625
54626 2000-10-29  Jim Meyering  <meyering@lucent.com>
54627
54628         * lib/xstat.in: Fix grammar in comment.
54629
54630 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
54631
54632         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
54633         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
54634         doesn't define __restrict_arr.
54635
54636 2000-10-28  Jim Meyering  <meyering@lucent.com>
54637
54638         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
54639         (jm_PREREQ_MEMCHR): New function.
54640
54641 2000-10-28  Jim Meyering  <meyering@lucent.com>
54642
54643         * lib/memchr.c: Update from libc.
54644         Adjust for portability:
54645         [HAVE_STDLIB_H]: Include stdlib.h.
54646         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
54647         Undef __memchr, too.
54648         [!weak_alias]: Define __memchr to memchr.
54649
54650         * lib/regex.c: Update from libc.
54651         * lib/regex.h: Likewise.
54652         * lib/getopt1.c: Likewise.
54653         * lib/memcmp.c: Likewise.
54654
54655         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
54656         Avoid using fseek, when possible -- it's broken by design.
54657         Patch by Ulrich Drepper.
54658
54659 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
54660
54661         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
54662         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
54663         Giving in to popular pressure to shut up the compiler with casts.
54664
54665 2000-10-26  Jim Meyering  <meyering@lucent.com>
54666
54667         * lib/strftime.c: Update from libc.
54668
54669 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
54670
54671         * regex.c: More `unsigned char' -> `re_char' changes.
54672         Also change several `int' into `re_wchar_t'.
54673         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
54674         (PUSH_FAILURE_POINTER): Don't cast any more.
54675         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
54676         We want GCC to complain, since this piece of code makes
54677         re_match non-reentrant, which *should* be fixed.
54678         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
54679         (EXTEND_BUFFER): Use RETALLOC.
54680         (SET_LIST_BIT): Don't cast.
54681         (re_wchar_t): New type.
54682         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
54683         that those two functions will always properly return.
54684         (IMMEDIATE_QUIT_CHECK): Cast to void.
54685         (analyse_first): Use recursion rather than an explicit stack.
54686         (re_compile_fastmap): Can't fail anymore.
54687         (re_search_2): Don't check re_compile_fastmap for failure.
54688         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
54689         Now also sets the new value (passed in a new argument).
54690         (re_match_2_internal): Use it.
54691         Also, use a new var `reg' of type size_t when looping through regs
54692         rather than reuse the inappropriate `mcnt'.
54693
54694 2000-10-25  Jim Meyering  <meyering@lucent.com>
54695
54696         * lib/obstack.c: Update from libc.
54697
54698 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
54699
54700         * regex.c (regex_compile): Change the way of handling a range from
54701         a char less than 256 to a char not less than 256.
54702
54703 2000-10-24  Andrew Innes  <andrewi@gnu.org>
54704
54705         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
54706         NT-Emacs only.
54707         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
54708         so that re_search functions only quit when callers expect them to.
54709
54710 2000-10-23  Jim Meyering  <meyering@lucent.com>
54711
54712         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
54713         wrong.  That set_locale call must not have any side effects.
54714         From Paul Eggert.
54715
54716 2000-10-22  Jim Meyering  <meyering@lucent.com>
54717
54718         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
54719         [CYCLIC]: Remove now-unused definition.
54720
54721         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
54722         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
54723         Suggestion from Ulrich Drepper.
54724
54725 2000-10-21  Jim Meyering  <meyering@lucent.com>
54726
54727         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
54728         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
54729         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
54730
54731 2000-10-21  Jim Meyering  <meyering@lucent.com>
54732
54733         * lib/dirname.c (memrchr): Declare if necessary.
54734         (dir_name): Remove the restriction that there be no
54735         trailing slashes.  Now, this code skips past them, effectively
54736         ignoring them.
54737         [TEST_DIRNAME] (main): New unit tests.
54738
54739         * lib/memrchr.c: New file from GNU libc.
54740         Undef __memrchr, too.
54741         [!weak_alias]: Define __memrchr to memrchr.
54742         Guard weak_alias use with `#ifdef weak_alias'.
54743
54744 2000-10-21  Jim Meyering  <meyering@lucent.com>
54745
54746         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
54747         (dir_name): Use dir_name_r.
54748         * lib/dirname.h (dir_name_r): Declare it.
54749
54750 2000-10-17  Jim Meyering  <meyering@lucent.com>
54751
54752         * lib/quote.h (PARAMS): Define and use.
54753         Reported by Akim Demaille.
54754
54755         * lib/getopt.c: Update from libc.
54756
54757 2000-10-16  Jim Meyering  <meyering@lucent.com>
54758
54759         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
54760         setlocale.
54761         From Jan Fedak.
54762
54763 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
54764
54765         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
54766
54767 2000-09-25  Jim Meyering  <meyering@lucent.com>
54768
54769         * lib/md5.h (rol): Define (from GnuPG).
54770
54771         * lib/sha.c: Give credit (GnuPG) where due.
54772         (M): Use rol rather than open-coding it.
54773         Add a FIXME comment.
54774
54775 2000-09-21  Jim Meyering  <meyering@lucent.com>
54776
54777         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
54778         Reported by Michael Stone.
54779
54780 2000-09-20  Jim Meyering  <meyering@lucent.com>
54781
54782         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
54783         (noinst_HEADERS): Add sha.h.
54784         Based on code from Scott G. Miller and from GnuPG.
54785
54786 2000-09-18  Jim Meyering  <meyering@lucent.com>
54787
54788         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
54789         LIBS. Otherwise, everyone ends up linking with -lelf for some
54790         configurations.
54791         Reported by Mike Stone.
54792
54793 2000-09-15  Jim Meyering  <meyering@lucent.com>
54794
54795         * lib/regex.c: Update from libc.
54796
54797 2000-09-10  Jim Meyering  <meyering@lucent.com>
54798
54799         * lib/getopt.c (_getopt_internal): Update from glibc.
54800
54801 2000-09-09  Jim Meyering  <meyering@lucent.com>
54802
54803         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
54804         think it should be used as a general replacement for isascii.
54805         * lib/fnmatch.c: Likewise.
54806         * lib/mbswidth.c: Likewise
54807         * lib/regex.c: Likewise.
54808
54809         Don't use atoi.
54810         * lib/userspec.c: Include sys/param.h and limits.h.
54811         Include xstrtol.h.
54812         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
54813         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
54814         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
54815         UID, GID.  Check range.
54816
54817 2000-09-06  Jim Meyering  <meyering@lucent.com>
54818
54819         * lib/getopt.c (_getopt_internal): Update from glibc.
54820
54821 2000-08-30  Jim Meyering  <meyering@lucent.com>
54822
54823         * lib/strftime.c: Merge in changes from GNU libc.
54824
54825 2000-08-26  Jim Meyering  <meyering@lucent.com>
54826
54827         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
54828         * m4/fpending.m4: New file.
54829
54830 2000-08-26  Jim Meyering  <meyering@lucent.com>
54831
54832         * lib/closeout.c: Include "__fpending.h".
54833         (close_stdout_status): Return right away if there's nothing to flush.
54834
54835         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
54836         * lib/__fpending.c: New file.
54837         * lib/__fpending.h: New file.
54838
54839 2000-08-20  Jim Meyering  <meyering@lucent.com>
54840
54841         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
54842         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
54843         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
54844
54845 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
54846
54847         Improve fileutils installation on systems where running
54848         programs (like install) can't be unlinked.
54849         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
54850         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
54851
54852 2000-08-07  Paul Eggert  <eggert@twinsun.com>
54853
54854         Standardize on "memory exhausted" instead of "Memory exhausted"
54855         or "virtual memory exhausted".
54856         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
54857         "virtual memory exhausted".
54858         * lib/same.c (same_name): Invoke xalloc_die instead of printing
54859         our own message.
54860         * lib/userspec.c (parse_user_spec): Likewise.
54861         * lib/bumpalloc.h: comment fix
54862         * lib/same.c, userspec.c: Include xalloc.h.
54863
54864         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
54865         not char *const and pointing to a constant array.
54866         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
54867         (xrealloc): Comment fix.
54868
54869         * lib/userspec.c (parse_user_spec):
54870         Don't translate a message until just before returning,
54871         to avoid unnecessary translation.
54872
54873 2000-08-07  Jim Meyering  <meyering@lucent.com>
54874
54875         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
54876         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
54877         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
54878         getgroups.c, gethostname.c, getopt.h, group-member.c,
54879         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
54880         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
54881         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
54882         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
54883         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
54884         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
54885         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
54886         yesno.c: Back out Copyright date changes for each file with no change
54887         this year.  This eases coordination with other programs using the same
54888         source code modules.  From Paul Eggert.
54889
54890 2000-08-06  Paul Eggert  <eggert@twinsun.com>
54891
54892         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
54893         not char, for compatibility with glibc 2.1.3 strftime.c.
54894
54895 2000-08-03  Greg McGary  <greg@mcgary.org>
54896
54897         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
54898         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
54899         (EXTEND_BUFFER): Use them.
54900
54901 2000-08-01  Jim Meyering  <meyering@lucent.com>
54902
54903         * lib/dirname.c (ISSLASH): Define.
54904         (BACKSLASH_IS_PATH_SEPARATOR): Define.
54905         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
54906         both `\' and `/' may be use as path separators.
54907         Based on a patch from Prashant TR.
54908
54909 2000-07-31  Paul Eggert  <eggert@twinsun.com>
54910
54911         * lib/quotearg.c (quotearg_n_options): Don't make the initial
54912         slot vector a constant, since it might get modified.
54913
54914 2000-07-31  Jim Meyering  <meyering@lucent.com>
54915
54916         * lib/xmalloc.c: Use `virtual memory exhausted', not
54917         `Memory exhausted'.
54918         * lib/obstack.c (print_and_abort): Likewise.
54919
54920 2000-07-30  Paul Eggert  <eggert@twinsun.com>
54921
54922         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
54923         buffer, so that the caller can always quote one small
54924         component of a "memory exhausted" message in slot 0.
54925         From a suggestion by Jim Meyering.
54926
54927 2000-07-30  Jim Meyering  <meyering@lucent.com>
54928
54929         * lib/makepath.c (make_path): Quote the other instance, too.
54930
54931         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
54932         (STATIC_BUF_SIZE): Define.
54933         (quotearg_n_options): Use only statically allocated storage when
54934         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
54935         than STATIC_BUF_SIZE.
54936
54937 2000-07-29  Jim Meyering  <meyering@lucent.com>
54938
54939         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
54940         * lib/dirname.c (dir_name): Likewise.
54941
54942         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
54943         `/'.
54944
54945         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
54946         (dir_name): Assert that there are no trailing slashes.
54947
54948 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
54949
54950         * lib/mbswidth.h (mbswidth): Add a flags argument.
54951         (mbswidth): New declaration.
54952         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
54953         * lib/mbswidth.c (mbswidth): Add a flags argument.
54954         (mbsnwidth): New function.
54955
54956 2000-07-24  Jim Meyering  <meyering@lucent.com>
54957
54958         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
54959
54960 2000-07-23  Paul Eggert  <eggert@twinsun.com>
54961
54962         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
54963
54964 2000-07-23  Paul Eggert  <eggert@twinsun.com>
54965
54966         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
54967         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
54968         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
54969         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
54970         invoke multibyte primitives.
54971
54972 2000-07-23  Paul Eggert  <eggert@twinsun.com>
54973
54974         * lib/quotearg.c:
54975         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
54976         so that mbstate_t is always defined.
54977
54978         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
54979         be 1 in at least one GCC installation, and this configuration
54980         error is likely to be common.  Ignoring MB_LEN_MAX hurts
54981         performance on hosts that have mbrtowc but have only unibyte
54982         locales, but I assume these hosts are rare.
54983
54984 2000-07-23  Paul Eggert  <eggert@twinsun.com>
54985
54986         * lib/mbswidth.c (_XOPEN_SOURCE):
54987         Don't define; this causes problems on Solaris 7.
54988         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
54989
54990 2000-07-23  Jim Meyering  <meyering@lucent.com>
54991
54992         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
54993         too: getgrgid, getpwuid, getuid.
54994
54995 2000-07-23  Jim Meyering  <meyering@lucent.com>
54996
54997         * lib/basename.c (base_name): Add an assertion.
54998
54999 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
55000
55001         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
55002         shadow its mbsinit function.
55003
55004 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
55005
55006         * lib/mbswidth.h: New file.
55007         * lib/mbswidth.c: New file.
55008         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
55009         (noinst_HEADERS): Add mbswidth.h.
55010
55011 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
55012
55013         * lib/config.charset: Add support for FreeBSD. Improve support for
55014         HP-UX and IRIX 6.
55015
55016 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
55017
55018         * m4/mbswidth.m4: New file.
55019         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
55020
55021 2000-07-15  Jim Meyering  <meyering@lucent.com>
55022
55023         * lib/makepath.c: Include quote.h.
55024         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
55025         corresponding argument in a `quote (...)' call.
55026         Give better diagnostics.
55027
55028         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
55029         (noinst_HEADERS): Add quote.h.
55030
55031         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
55032         from tar's src/misc.c.
55033         * lib/quote.h: New file.  Prototypes for same.
55034
55035 2000-07-14  Paul Eggert  <eggert@twinsun.com>
55036
55037         From a suggestion by Bruno Haible.
55038         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
55039         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
55040         to decide whether to define the BeOS workaround macro;
55041         this adjusts to the change to AC_MBSTATE_T.
55042
55043 2000-07-14  Jim Meyering  <meyering@lucent.com>
55044
55045         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
55046         jm_AC_TYPE_UINTMAX_T.
55047
55048 2000-07-13  Paul Eggert  <eggert@twinsun.com>
55049
55050         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
55051
55052         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
55053         quotearg_buffer_restyled): Add support for
55054         clocale_quoting_style.  Undo previous change to
55055         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
55056         and "{RIGHT QUOTATION MARK}" msgids.
55057
55058 2000-07-10  Paul Eggert  <eggert@twinsun.com>
55059
55060         From a suggestion by Bruno Haible.
55061         * m4/mbstate_t.m4 (AC_MBSTATE_T):
55062         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
55063         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
55064         and mbstate_t, to a single-part test that simply defines mbstate_t.
55065         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
55066         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
55067
55068 2000-07-10  Jim Meyering  <meyering@lucent.com>
55069
55070         * m4/strerror_r.m4: Mirror the correction made in autoconf.
55071
55072         * m4/gnu-source.m4: Output to confdefs.h directly.
55073         Suggestion from Akim Demaille.
55074
55075 2000-07-09  Paul Eggert  <eggert@twinsun.com>
55076
55077         The old behavior of quoting `like this' doesn't look good with
55078         newer, ISO-style fonts.  See:
55079         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
55080
55081         Instead, quote "like this" by default.  Let the translator
55082         tailor the locale-specific quoting behavior by providing
55083         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
55084
55085         * lib/quotearg.c (N_): New macro.
55086         (gettext_default): New function.
55087         (quotearg_buffer_restyled): Use
55088         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
55089         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
55090
55091 2000-07-09  Jim Meyering  <meyering@lucent.com>
55092
55093         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
55094         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
55095
55096         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
55097         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
55098
55099 2000-07-09  Jim Meyering  <meyering@lucent.com>
55100
55101         * lib/Most files: Update copyright dates to include 2000.
55102
55103 2000-07-08  Jim Meyering  <meyering@lucent.com>
55104
55105         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
55106         if not defined.
55107         (xgethostname): Remove now-unnecessary #ifdef.
55108         Move declaration of `err' into loop where it's used.
55109
55110 2000-07-05  Paul Eggert  <eggert@twinsun.com>
55111         and Bruno Haible  <haible@clisp.cons.org>
55112
55113         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
55114         only if the test for an object-type mbstate_t fails.  This
55115         prevents us from mistakenly reporting that mbstate_t is a
55116         system object type after we "#define mbstate_t int" to work
55117         around its lack.
55118
55119 2000-07-05  Paul Eggert  <eggert@twinsun.com>
55120         and Bruno Haible  <haible@clisp.cons.org>
55121
55122         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
55123
55124 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
55125
55126         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
55127         to strerror_r.
55128         Include <ctype.h> for use of isalpha.
55129
55130 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
55131
55132         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
55133         by allocating a larger buffer. Test the gethostname return value for
55134         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
55135         returns an error and ENAMETOOLONG isn't defined.
55136
55137 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
55138
55139         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
55140         dimension.
55141
55142 2000-07-04  Jim Meyering  <meyering@lucent.com>
55143
55144         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
55145         of the deprecated AC_CHECKING.
55146
55147 2000-07-04  Jim Meyering  <meyering@lucent.com>
55148
55149         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
55150         Reported by Bruno Haible.
55151
55152 2000-07-04  Jim Meyering  <meyering@lucent.com>
55153
55154         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
55155         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
55156         lacks mbrtowc.
55157
55158 2000-07-03  Paul Eggert  <eggert@twinsun.com>
55159
55160         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
55161         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
55162
55163 2000-07-03  Paul Eggert  <eggert@twinsun.com>
55164         and Bruno Haible  <haible@clisp.cons.org>
55165
55166         * lib/quotearg.c (mbrtowc):
55167         Assign to *pwc, and return 1 only if result is nonzero.
55168         (iswprint): Use ISPRINT when substituting our own mbrtowc.
55169
55170 2000-07-03  Jim Meyering  <meyering@lucent.com>
55171
55172         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
55173
55174 2000-07-03  Jim Meyering  <meyering@lucent.com>
55175
55176         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
55177         This is necessary to get a definition of e.g., UTMP_FILE on
55178         HP-UX 10.20.
55179         From Bob Proulx.
55180
55181 2000-07-02  Jim Meyering  <meyering@lucent.com>
55182
55183         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
55184
55185         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
55186         AC_LIBOBJ(function_name).
55187         * m4/chown.m4: Likewise.
55188         * m4/fnmatch.m4: Likewise.
55189         * m4/ftruncate.m4: Likewise.
55190         * m4/getgroups.m4: Likewise.
55191         * m4/getline.m4: Likewise.
55192         * m4/group-member.m4: Likewise.
55193         * m4/jm-macros.m4: Likewise.
55194         * m4/lstat.m4: Likewise.
55195         * m4/malloc.m4: Likewise.
55196         * m4/memcmp.m4: Likewise.
55197         * m4/nanosleep.m4: Likewise.
55198         * m4/putenv.m4: Likewise.
55199         * m4/realloc.m4: Likewise.
55200         * m4/regex.m4: Likewise.
55201         * m4/stat.m4: Likewise.
55202         * m4/strftime.m4: Likewise.
55203
55204 2000-07-02  Jim Meyering  <meyering@lucent.com>
55205
55206         * lib/quotearg.c (mbstate_t): Don't define here.
55207
55208 2000-07-02  Jim Meyering  <meyering@lucent.com>
55209
55210         * lib/nanosleep.c (SIGCONT): Define if not already defined.
55211
55212 2000-07-01  Jim Meyering  <meyering@lucent.com>
55213
55214         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
55215
55216 2000-07-01  Jim Meyering  <meyering@lucent.com>
55217
55218         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
55219         problem.
55220
55221 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
55222
55223         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
55224         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
55225
55226 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
55227
55228         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
55229         per change in ../m4/ls-mntd-fs.m4.
55230         (read_filesystem_list): Ignore symbolic links.
55231
55232 2000-06-29  Jim Meyering  <meyering@lucent.com>
55233
55234         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
55235         for declaration of strcmp.
55236
55237         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
55238
55239         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
55240         Avoid warning by casting result to `char *' to remove `const'.
55241
55242 2000-06-28  Jim Meyering  <meyering@lucent.com>
55243
55244         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
55245         included by quotearg.c, for which we perform this test.  From
55246         Bruno Haible.
55247
55248 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
55249
55250         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
55251         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
55252         <utmpx.h> exists, put readutmp.o into LIBOBJS.
55253
55254 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
55255
55256         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
55257
55258 2000-06-26  Paul Eggert  <eggert@twinsun.com>
55259
55260         savedir now sets errno on failure and invokes xmalloc to get memory.
55261         Fix a couple of other minor bugs while we're at it.
55262
55263         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
55264         (NAMLEN): Remove macro.
55265         (malloc, realloc): Remove decls.
55266         (stpcpy): Likewise.
55267         ("xalloc.h"): Include.
55268         (NAME_SIZE_DEFAULT): New macro.
55269         (savedir): Use xmalloc / xrealloc to allocate memory.
55270         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
55271         Skip "" directory entries.
55272         Use strlen to calculate directory entry length, since the old method
55273         is rarely used these days and isn't worth supporting.
55274         Don't use a pointer after freeing it.
55275         Check for integer overflow when calculating allocation size.
55276         Use memcpy to copy entries, instead of stpcpy.
55277         Set errno properly when returning NULL.
55278         Check for readdir error.
55279
55280 2000-06-26  Jim Meyering  <meyering@lucent.com>
55281
55282         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
55283
55284 2000-06-25  Jim Meyering  <meyering@lucent.com>
55285
55286         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
55287         Linux header bug when _XOPEN_SOURCE is defined to 500.
55288
55289 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
55290
55291         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
55292         deficiency.
55293
55294 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
55295
55296         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
55297         Include xalloc.h.
55298         Don't include <stdlib.h>.  Don't declare malloc, realloc.
55299
55300 2000-06-24  Jim Meyering  <meyering@lucent.com>
55301
55302         * m4/strerror_r.m4: Revive this file -- to try out an experimental
55303         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
55304         for which strerror does return char*, but which lacks a conveniently
55305         accessible declaration of the function.  If the compile-test says
55306         strerror_r doesn't work, then resort to a `run'-test that works on
55307         BeOS and segfaults on DEC Unix.
55308
55309 2000-06-24  Jim Meyering  <meyering@lucent.com>
55310
55311         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
55312
55313 2000-06-23  Paul Eggert  <eggert@twinsun.com>
55314
55315         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
55316         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
55317
55318 2000-06-23  Paul Eggert  <eggert@twinsun.com>
55319
55320         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
55321         (mbrtowc, mbstate_t): Define substitutes if
55322         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
55323         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
55324         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
55325
55326 2000-06-23  Jim Meyering  <meyering@lucent.com>
55327
55328         * m4/afs.m4: Add missing AC_MSG_RESULT.
55329         Reported by Bruno Haible.
55330
55331         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
55332         Suggestion from Bruno Haible.
55333
55334 2000-06-23  Jim Meyering  <meyering@lucent.com>
55335
55336         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
55337
55338 2000-06-21  Jim Meyering  <meyering@lucent.com>
55339
55340         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
55341
55342 2000-06-21  Jim Meyering  <meyering@lucent.com>
55343
55344         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
55345         (noinst_HEADERS): Add getstr.h.
55346
55347         * lib/getline.c (getstr): Move into a separate file.
55348         * lib/getstr.c (getstr): New file, extracted from getline.c, with
55349         the following changes: new parameter, delim2; both delim[12]
55350         parameters have type `int', not `char'.  The latter would lose
55351         with 8-bit delimiters.
55352         * lib/getstr.h: New file.
55353
55354 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
55355
55356         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
55357         than 1024, return a memory chunk of least possible size, instead
55358         of size PATH_MAX + 2. In the loop, increment the size proportionally.
55359         Use free/xmalloc instead of xrealloc to avoid copying for very long
55360         paths.
55361
55362 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
55363
55364         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
55365         the empty string.
55366
55367 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
55368
55369         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
55370         address, not strdup.  Include <stdlib.h> and don't declare free().
55371
55372 2000-06-19  Jim Meyering  <meyering@lucent.com>
55373
55374         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
55375
55376 2000-06-18  Jim Meyering  <meyering@lucent.com>
55377
55378         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
55379
55380         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
55381         `checking whether...' message to be consistent with that of the
55382         lstat test.
55383
55384 2000-06-18  Jim Meyering  <meyering@lucent.com>
55385
55386         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
55387         Besides, these days every porting target provides a mkdir function.
55388
55389         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
55390         needed. (this snippet comes from src/system.h).
55391
55392 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
55393
55394         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
55395
55396 2000-06-15  Paul Eggert  <eggert@twinsun.com>
55397
55398         * lib/human.c (adjust_value): New function.
55399         (human_readable_inexact): Apply rounding style even when
55400         printing approximate values.
55401
55402 2000-06-14  Paul Eggert  <eggert@twinsun.com>
55403
55404         * lib/human.c (human_readable_inexact): Allow an input block
55405         size that is not a multiple of the output block size, and vice versa.
55406         Reported by Piergiorgio Sartor.
55407
55408 2000-06-14  Paul Eggert  <eggert@twinsun.com>
55409
55410         * lib/getdate.y (get_date): Apply relative times after time
55411         zone indicator, not before.  Reported by Todd A. Jacobs.
55412
55413 2000-06-13  Jim Meyering  <meyering@lucent.com>
55414
55415         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
55416
55417         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
55418
55419 2000-06-12  Paul Eggert  <eggert@twinsun.com>
55420
55421         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
55422
55423 2000-06-12  Jim Meyering  <meyering@lucent.com>
55424
55425         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
55426         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
55427         optional argument.
55428         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
55429         the optional argument, `lib'.
55430
55431 2000-06-08  Jim Meyering  <meyering@lucent.com>
55432
55433         * m4/largefile.m4: Remove file (now that it's part of autoconf).
55434
55435 2000-06-04  Paul Eggert  <eggert@twinsun.com>
55436
55437         Rewrite largefile configuration so that we don't need to run
55438         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
55439         AC_CANONICAL_HOST in configure.in -- jmm]
55440
55441         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
55442         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
55443         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
55444         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
55445         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
55446         All uses changed.
55447         Instead of inspecting the output of getconf, try to compile the
55448         test program without and with the macro definition.
55449         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
55450         for getconf.  Instead, check for the needed flags by compiling
55451         test programs.
55452
55453 2000-06-04  Paul Eggert  <eggert@twinsun.com>
55454
55455         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
55456
55457 2000-06-04  Jim Meyering  <meyering@lucent.com>
55458
55459         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
55460         SunOS 4.1.4 for which gid_t is an unsigned type.
55461
55462 2000-06-03  Jim Meyering  <meyering@lucent.com>
55463
55464         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
55465         now that autoconf requires that.
55466
55467         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
55468         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
55469         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
55470
55471 2000-06-03  Jim Meyering  <meyering@lucent.com>
55472
55473         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
55474
55475 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
55476
55477         * m4/glibc21.m4: New file.
55478         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
55479
55480 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
55481
55482         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
55483         newer, don't install charset.alias.
55484         * lib/config.charset: Change the Linux/glibc rules so they become empty
55485         on glibc-2.1 or newer.
55486
55487 2000-06-02  Jim Meyering  <meyering@lucent.com>
55488
55489         * lib/mountlist.c: Back out last change.  Instead, do this...
55490         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
55491         me_dummy member using the same `ignore'-testing code.
55492         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
55493         fs_type strings.
55494         From Mark D. Roth.
55495
55496 2000-05-29  Jim Meyering  <meyering@lucent.com>
55497
55498         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
55499         mounts with the `ignore' attribute.  Based on a patch from
55500         Mark D. Roth.
55501
55502 2000-05-28  Jim Meyering  <meyering@lucent.com>
55503
55504         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
55505         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
55506         * m4/stat.m4: Likewise.
55507         * m4/lstat.m4: Likewise.
55508         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
55509
55510         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
55511         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
55512
55513 2000-05-26  Jim Meyering  <meyering@lucent.com>
55514
55515         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
55516
55517 2000-05-24  Jim Meyering  <meyering@lucent.com>
55518
55519         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
55520         autoconf requires that.
55521         * m4/lib-check.m4: Likewise.
55522         * m4/jm-macros.m4: Likewise.
55523         * m4/strftime.m4: Likewise.
55524
55525         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
55526         AC_CHECK_DECLS, now that autoconf requires that.
55527
55528 2000-05-22  Jim Meyering  <meyering@lucent.com>
55529
55530         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
55531         * m4/lstat.m4: Likewise.
55532
55533 2000-05-22  Jim Meyering  <meyering@lucent.com>
55534
55535         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
55536
55537 2000-05-20  Jim Meyering  <meyering@lucent.com>
55538
55539         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
55540         (jm_PREREQ): Use it.
55541
55542 2000-05-18  Jim Meyering  <meyering@lucent.com>
55543
55544         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
55545         back, too, since it may have been modified by allocate_entry.
55546         (hash_delete): Rewrite to use neither the assignment operator
55547         nor the comma operator in an if-expression.
55548
55549 2000-05-15  Paul Eggert  <eggert@twinsun.com>
55550
55551         * lib/closeout.c:
55552         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
55553         Remove; no longer needed.
55554         "quotearg.h": Add include.
55555         (file_name): Do not bother to explicitly initialize to NULL; it's less
55556         efficient on some hosts.
55557         (close_stdout_status): Remove test as to whether stdout was already
55558         closed; it breaks for the case "echo x | sort >&-".
55559         Quote file name colons.
55560         Do not assume that _("write error") lacks format strings.
55561
55562 2000-05-15  Jim Meyering  <meyering@lucent.com>
55563
55564         * lib/version-etc.c (version_etc_copyright): Update the copyright
55565         string used in all --version output.
55566
55567 2000-05-14  Jim Meyering  <meyering@lucent.com>
55568
55569         * lib/closeout.c (close_stdout_set_file_name): New function.
55570         (close_stdout_status): Use new file-scoped global.
55571         Return right away if fstat says the stdout file descriptor is invalid.
55572         * lib/closeout.h (close_stdout_set_file_name): Declare.
55573
55574 2000-05-10  Jim Meyering  <meyering@lucent.com>
55575
55576         * lib/closeout.c [default_exit_status]: New file-scoped variable.
55577         (close_stdout_set_status): New function.
55578         * lib/closeout.h (close_stdout_set_status): Declare.
55579
55580 2000-05-09  Jim Meyering  <meyering@lucent.com>
55581
55582         * m4/gettext.m4: Rename this...
55583         * m4/libintl.m4: ...to this.
55584
55585 2000-05-08  Jim Meyering  <meyering@lucent.com>
55586
55587         * lib/long-options.c: Don't include closeout.h.
55588         (parse_long_options): Don't call close_stdout for --version.
55589
55590 2000-05-06  Paul Eggert  <eggert@twinsun.com>
55591
55592         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
55593         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
55594         2.1.3 bug.  This avoids a clash when files like regex.c define
55595         _GNU_SOURCE.
55596
55597 2000-05-06  Jim Meyering  <meyering@lucent.com>
55598
55599         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
55600         (AC_REPLACE_FUNCS): Add strnlen.
55601
55602         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
55603         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
55604
55605         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
55606         AC_SEARCH_LIBS call for nanosleep.
55607         (LIB_NANOSLEEP): Set and AC_SUBST.
55608
55609 2000-05-06  Jim Meyering  <meyering@lucent.com>
55610
55611         * lib/strnlen.c: Undefine __strnlen and strnlen.
55612         [!weak_alias]: Define __strnlen to strnlen.
55613
55614         * lib/atexit.c: New file, from libiberty.
55615
55616 2000-05-06  Jim Meyering  <meyering@lucent.com>
55617
55618         * lib/closeout.c (close_stdout_status): Also check for errors on the
55619         stderr stream.
55620
55621 2000-05-05  Jim Meyering  <meyering@lucent.com>
55622
55623         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
55624         AC_SEARCH_LIBS call for clock_gettime.
55625         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
55626
55627         * m4/search-libs.m4: Update from autoconf.
55628
55629         su doesn't work on Solaris 2.6.
55630         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
55631         <shadow.h>.  Reported by Dragos Harabor.
55632
55633 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
55634
55635         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
55636         memcpy instead of xmalloc, xrealloc, path_concat.
55637         (locale_charset): Treat empty environment variables as absent.
55638         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
55639
55640 2000-05-04  Jim Meyering  <meyering@lucent.com>
55641
55642         * lib/getopt.c: Update from glibc.
55643         * lib/obstack.c: Likewise.
55644         * lib/obstack.h: Likewise.
55645         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
55646         file
55647
55648         * lib/regex.h: Likewise.
55649         * lib/strndup.c: Likewise.
55650         * lib/strnlen.c: New file, from glibc.
55651
55652 2000-05-03  Jim Meyering  <meyering@lucent.com>
55653
55654         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
55655
55656 2000-05-02  Paul Eggert  <eggert@twinsun.com>
55657
55658         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
55659         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
55660         compile-time test, rather than inspecting host and OS, to
55661         decide whether to define _LARGEFILE_SOURCE.
55662
55663 2000-05-01  Jim Meyering  <meyering@lucent.com>
55664
55665         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
55666
55667         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
55668         Based on a patch from Bruno Haible.
55669
55670 2000-05-01  Jim Meyering  <meyering@lucent.com>
55671
55672         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
55673
55674 2000-04-29  Jim Meyering  <meyering@lucent.com>
55675
55676         * lib/path-concat.c: Declare strdup only if it's not defined.
55677         * lib/canon-host.c: Likewise.
55678
55679 2000-04-28  Jim Meyering  <meyering@lucent.com>
55680
55681         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
55682         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
55683         is included first, then limits.h is included by locale.h by libintl.h.
55684         From John David Anglin.
55685
55686 2000-04-25  Jim Meyering  <meyering@lucent.com>
55687
55688         * lib/makepath.c (S_IRWXUGO): Define.
55689         (make_path): Always perform explicit chmod if MODE specifies any
55690         of the `special' permission bits.  Prompted by a bug report against
55691         install from Mate Wierdl and Joost van Baal.
55692
55693 2000-04-18  Jim Meyering  <meyering@lucent.com>
55694
55695         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
55696         (jm_PREREQ): Use it.
55697
55698 2000-04-18  Jim Meyering  <meyering@lucent.com>
55699
55700         * lib/README: New file.
55701
55702         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
55703         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
55704
55705 2000-04-17  Jim Meyering  <meyering@lucent.com>
55706
55707         Get it right :-)
55708         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
55709         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
55710         Suggestion from Akim Demaille.
55711
55712 2000-04-17  Jim Meyering  <meyering@lucent.com>
55713
55714         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
55715         the definition of it to rpl_strftime also defined-away the system's
55716         declaration.
55717
55718 2000-04-15  Jim Meyering  <meyering@lucent.com>
55719
55720         Use `C' to denote so-called `contiguous' files, the same way
55721         that tar does.
55722         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
55723         (ftypelet): Use S_ISCTG.
55724         From Michael Deutschmann.
55725
55726 2000-04-14  Jim Meyering  <meyering@lucent.com>
55727
55728         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
55729         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
55730         clobbered.
55731
55732 2000-04-14  Jim Meyering  <meyering@lucent.com>
55733
55734         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
55735
55736 2000-04-13  Jim Meyering  <meyering@lucent.com>
55737
55738         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
55739         AH_VERBATIM to insert required #ifndef into config.h.in.
55740         Suggestion from Akim Demaille.
55741
55742 2000-04-12  Jim Meyering  <meyering@lucent.com>
55743
55744         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
55745         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
55746         Christian Krackowizer.
55747
55748         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
55749         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
55750         (AC_SYS_LARGEFILE): Require.
55751         (AM_C_PROTOTYPES): Require.
55752
55753 2000-04-08  Jim Meyering  <meyering@lucent.com>
55754
55755         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
55756         names don't conflict.  Reported by Eli Zaretskii.
55757
55758 2000-04-07  Jim Meyering  <meyering@lucent.com>
55759
55760         * lib/putenv.c: Move inclusion of errno.h so it follows that of
55761         sys/types.h, to work around system header problems on AIX 3.2.5.
55762         From Bruno Haible.
55763
55764 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
55765
55766         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
55767         bug.  Deal with the different error behavior of Irix iconv.
55768
55769 2000-04-05  Paul Eggert  <eggert@twinsun.com>
55770
55771         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
55772         IRIX if the installer said otherwise.
55773
55774 2000-04-05  Jim Meyering  <meyering@lucent.com>
55775
55776         Portability tweaks required for ultrix4.3.
55777         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
55778         (jm_CHECK_DECLS): Add getutent to the list of functions.
55779         (_jm_DECL_HEADERS): Add utmpx.h.
55780         From John David Anglin.
55781
55782         * m4/strftime.m4: Back out the 2000-04-02 change.
55783         Instead of that change, simply undefine putenv in the test program.
55784
55785 2000-04-05  Jim Meyering  <meyering@lucent.com>
55786
55787         Portability tweaks required for ultrix4.3.
55788         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
55789         getutent.
55790         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
55791         * lib/canon-host.c: Declare strdup.
55792         * lib/path-concat.c: Likewise.
55793         From John David Anglin.
55794
55795 2000-04-04  Jim Meyering  <meyering@lucent.com>
55796
55797         Be more DOS 8.3-friendly.
55798         * lib/ref-add.sin: Renamed from ref-add.sed.in.
55799         * lib/ref-del.sin: Renamed from ref-del.sed.in.
55800         * lib/Makefile.am: Reflect renaming.
55801         Reported by Eli Zaretskii.
55802
55803         Use a temporary file name that won't clash with `charset.alias'
55804         in the DOS 8.3 name space.
55805         * lib/Makefile.am (charset_tmp): Define.
55806         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
55807         (uninstall-local): Likewise.
55808         Reported by Eli Zaretskii.
55809
55810 2000-04-03  Jim Meyering  <meyering@lucent.com>
55811
55812         * m4/gettext.m4: Fix typo in comment.
55813
55814         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
55815         textutils/configure.in).  Suggestion from Paul Eggert.
55816         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
55817
55818 2000-04-02  Paul Eggert  <eggert@twinsun.com>
55819
55820         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
55821         variable in the shell rather than using putenv, which isn't
55822         portable.  This avoids the configure-time inter-test dependency
55823         on the potentially-renamed putenv function.
55824
55825 2000-03-30  Paul Eggert  <eggert@twinsun.com>
55826
55827         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
55828         before checking struct stat.st_blksize, so that
55829         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
55830
55831 2000-03-29  Paul Eggert  <eggert@twinsun.com>
55832
55833         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
55834         since strftime.c uses HAVE_STRFTIME to decide whether to use
55835         the underlying strftime.
55836
55837 2000-03-29  Paul Eggert  <eggert@twinsun.com>
55838
55839         * lib/time/strftime.c (my_strftime): Make sure we call the system
55840         strftime, not ourselves, when invoking the underlying strftime.
55841
55842 2000-03-24  Jim Meyering  <meyering@lucent.com>
55843
55844         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
55845         (charset_alias): Define.
55846         (install-exec-local): Factor out common code.
55847         (uninstall-local): Split lines longer than 80.
55848         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
55849         (SUFFIXES): Define.
55850         (.sed.in.sed): New rule.  Don't redirect directly to $@.
55851         (CLEANFILES): Add ref-add.sed and ref-del.sed.
55852
55853 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
55854
55855         * lib/config.charset: Output a line containing "Packages using this
55856         file".
55857         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
55858         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
55859         ref-del.sed): New rules.
55860
55861 2000-03-17  Jim Meyering  <meyering@lucent.com>
55862
55863         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
55864         Otherwise, include <strings.h>
55865
55866 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
55867
55868         * lib/unicodeio.c (utf8_wctomb): New function.
55869         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
55870         format instead of in UCS-4 with platform dependent endianness.
55871
55872 2000-03-10  Jim Meyering  <meyering@lucent.com>
55873
55874         * m4/lib-check.m4: Look for getspnam in -lgen, too.
55875         From Marco Franzen.
55876
55877 2000-03-07  Paul Eggert  <eggert@twinsun.com>
55878
55879         * lib/savedir.c (savedir): Work even if directory size is
55880         negative; this can happen with some screwy NFS configurations.
55881
55882 2000-03-06  Jim Meyering  <meyering@lucent.com>
55883
55884         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
55885         if it's NULL (because we ran out of memory).  From Bruno Haible.
55886
55887 2000-03-05  Jim Meyering  <meyering@lucent.com>
55888
55889         * lib/localcharset.c ("path-concat.h"): Include.
55890         (get_charset_aliases): Use path_concat instead of ANSI string
55891         concatenation.
55892
55893         * lib/unicodeio.h (PARAMS): Define.
55894         Use it to guard prototype.
55895
55896 2000-03-04  Jim Meyering  <meyering@lucent.com>
55897
55898         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
55899         for lib/localcharset.c.
55900
55901 2000-03-04  Jim Meyering  <meyering@lucent.com>
55902
55903         * lib/Makefile.am (install-exec-local): Create $(libdir) before
55904         installing into it.
55905         (uninstall-local): Uncomment this rule so `make distcheck' works
55906         once again.
55907
55908         * lib/unicodeio.c (<errno.h>): Include it.
55909         (errno): Declare if not defined.
55910
55911         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
55912
55913         * lib/config.charset: New version, incorporating remarks from a linux
55914         i18n mailing list.  From Bruno Haible.
55915
55916 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
55917
55918         * m4/codeset.m4: New file.
55919         * m4/iconv.m4: New file.
55920         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
55921
55922 2000-03-03  Jim Meyering  <meyering@lucent.com>
55923
55924         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
55925
55926 2000-03-02  Jim Meyering  <meyering@lucent.com>
55927
55928         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
55929         the messages come out on separate lines.
55930
55931         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
55932         rather than jm_CHECK_DECLARATIONS.
55933         * m4/decl.m4: Remove now-unused file.
55934
55935         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
55936         geteuid.
55937
55938 2000-03-02  Jim Meyering  <meyering@lucent.com>
55939
55940         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
55941
55942 2000-03-01  Jim Meyering  <meyering@lucent.com>
55943
55944         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
55945         * lib/unicodeio.c: Likewise.
55946
55947 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
55948
55949         * lib/config.charset: New file.
55950         * lib/localcharset.c: New file.
55951         * lib/unicodeio.h, lib/unicodeio.c: New files.
55952         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
55953         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
55954         (noinst_HEADERS): Add unicodeio.h.
55955         (all-local, install-exec-local, charset.alias): New targets.
55956
55957 2000-02-28  Paul Eggert  <eggert@twinsun.com>
55958
55959         * lib/quotearg.c (ALERT_CHAR): New macro.
55960         (quotearg_buffer_restyled): Use it.
55961
55962 2000-02-27  Jim Meyering  <meyering@lucent.com>
55963
55964         * m4/check-decl.m4: Add getenv to the list.
55965
55966 2000-02-27  Jim Meyering  <meyering@lucent.com>
55967
55968         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
55969         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
55970
55971         * lib/backupfile.c: Guard inclusion of stdlib.h with
55972         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
55973         Declare malloc if needed.
55974
55975         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
55976         `#ifndef HAVE_DECL..'
55977         now that autoconf always defines the HAVE_DECL_ symbols.
55978         * lib/human.c: Likewise.
55979         * lib/same.c: Likewise.
55980         * lib/strtoumax.c: Likewise.
55981
55982         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
55983         declaration check was not run.
55984         * lib/hash.c: Likewise.
55985         * lib/human.c: Likewise.
55986         * lib/same.c: Likewise.
55987         * lib/strtoumax.c: Likewise.
55988
55989         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
55990         `.', then first look up the entire `.'-containing string as a login
55991         name.
55992
55993 2000-02-23  Jim Meyering  <meyering@lucent.com>
55994
55995         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
55996         in place of my hack.
55997
55998 2000-02-18  Paul Eggert  <eggert@twinsun.com>
55999
56000         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
56001         (textint): New typedef.
56002         (parser_control): Member year changed from int to textint.
56003         All uses changed.
56004         (YYSTYPE): Removed; replaced by %union with int and textint members.
56005         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
56006         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
56007         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
56008         (tSNUMBER, tUNUMBER): Now of type <textintval>.
56009         (date, number, to_year): Use width of number in digits, not its value,
56010         to determine whether it's a 2-digit year, or a 2-digit time.
56011         (yylex): Store number of digits of numeric tokens.
56012         Reported by John Kendall.
56013
56014         (parser_control): Changed from struct parser_control to typedef (for
56015         consistency).  All uses changed.
56016
56017         (tID): Removed; not used.
56018         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
56019
56020 2000-02-14  Paul Eggert  <eggert@twinsun.com>
56021
56022         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
56023         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
56024
56025 2000-02-12  Jim Meyering  <meyering@lucent.com>
56026
56027         * lib/userspec.c (ISDIGIT): Define it.
56028         (isdigit): Remove definition.
56029         (is_number): Use ISDIGIT, not isdigit.
56030         <libintl.h>: Include.
56031         (_ and N_): Define.
56032         (parse_user_spec): Mark translatable strings.
56033
56034 2000-02-10  Jim Meyering  <meyering@lucent.com>
56035
56036         With these changes, nanosleep.[ch] are finally enough like the other
56037         lib/* replacement files to compile on a few more losing systems.
56038
56039         * lib/nanosleep.h: Don't include config.h.
56040         Remove prototype from declaration of nanosleep.
56041         (PARAMS): Remove now-unneeded definition.
56042         * lib/nanosleep.c: #undef nanosleep.
56043         (rpl_nanosleep): Rename from nanosleep.
56044
56045 2000-02-10  Jim Meyering  <meyering@lucent.com>
56046
56047         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
56048         gnu_nanosleep to rpl_nanosleep.
56049
56050 2000-02-09  Jim Meyering  <meyering@lucent.com>
56051
56052         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
56053         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
56054
56055 2000-02-08  Akim Demaille  <akim@epita.fr>
56056
56057         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
56058         `[' and `]' and remove uses of `changequote'.
56059         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
56060         (AC_SYS_LARGEFILE): Likewise.
56061         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
56062         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
56063         of changequote.
56064         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
56065         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
56066         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
56067         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
56068
56069 2000-02-05  Jim Meyering  <meyering@lucent.com>
56070
56071         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
56072         Remove explicit use of AC_HEADER_TIME.  It is required by
56073         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
56074         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
56075         in autoconf whereby the expansion of the latter ended up preceding
56076         the expansion of its prerequisite, AC_HEADER_TIME.
56077         Reported by Volker Borchert.
56078
56079 2000-02-03  Jim Meyering  <meyering@lucent.com>
56080
56081         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
56082
56083 2000-02-03  Jim Meyering  <meyering@lucent.com>
56084
56085         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
56086         rather than with `#if HAVE_UTMPNAME'.
56087
56088 2000-02-02  Jim Meyering  <meyering@lucent.com>
56089
56090         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
56091         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
56092         Reported by Eli Zaretskii.
56093
56094 2000-02-01  Jim Meyering  <meyering@lucent.com>
56095
56096         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
56097
56098 2000-01-31  Jim Meyering  <meyering@lucent.com>
56099
56100         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
56101         functions.  Add the time.h and sys/time.h headers along with the
56102         AC_REQUIRE'ment of AC_HEADER_TIME.
56103
56104 2000-01-31  Jim Meyering  <meyering@lucent.com>
56105
56106         * lib/nanosleep.h (nanosleep): Guard declaration with
56107         `#if ! HAVE_DECL_NANOSLEEP'.
56108         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
56109         the declaration in that vendor's sys/timers.h.
56110         Reported by Christian Krackowizer.
56111
56112         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
56113         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
56114         (ISPRINT): Likewise.
56115         Reported by Tom Tromey.
56116
56117 2000-01-30  Jim Meyering  <meyering@lucent.com>
56118
56119         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
56120
56121         * m4/prereq.m4 (utmp_includes): Define.
56122         Check for ut_user and ut_name members in both struct utmpx
56123         and struct utmp.
56124
56125 2000-01-30  Jim Meyering  <meyering@lucent.com>
56126
56127         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
56128         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
56129         header files where only utmpx.ut_user is declared.
56130
56131         * lib/readutmp.h (UT_USER): Define.
56132
56133 2000-01-29  Jim Meyering  <meyering@lucent.com>
56134
56135         * m4/lib-check.m4: New file containing library-related checks from
56136         fileutils and sh-utils (textutils had none).
56137
56138 2000-01-28  Jim Meyering  <meyering@lucent.com>
56139
56140         * m4/perl.m4: Change format of warning message to look more like that
56141         from the missing script.  Suggestion from François Pinard.
56142
56143 2000-01-25  Jim Meyering  <meyering@lucent.com>
56144
56145         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
56146         well as time.h in the compile check.
56147         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
56148         Fix typo in cross-compiling case: s/yes/no/.
56149
56150 2000-01-23  Jim Meyering  <meyering@lucent.com>
56151
56152         * m4/jm-macros.m4: Move df-related tests here from
56153         fileutils/configure.in
56154
56155         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
56156         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
56157
56158         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
56159         s/space/ac_fsusage_space/.
56160         (jm_FILE_SYSTEM_USAGE): Take two parameters.
56161
56162         * m4/ftruncate.m4: New file (derived from part of
56163         fileutils/configure.in).
56164         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
56165         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
56166
56167         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
56168         AC_SUBST these here, rather than just in sh-util/configure.in, so
56169         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
56170         all the same.
56171         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
56172         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
56173         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
56174         (AC_SUBST(POW_LIBM)): Likewise.
56175         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
56176
56177 2000-01-23  Jim Meyering  <meyering@lucent.com>
56178
56179         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
56180         obstack.c.
56181
56182 2000-01-22  Jim Meyering  <meyering@lucent.com>
56183
56184         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
56185
56186         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
56187
56188         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
56189         configure.in
56190         (AC_CHECK_HEADERS): Likewise for sh-utils.
56191         (AC_CHECK_HEADERS): Likewise for textutils.
56192         Merge the three lists of headers.
56193
56194         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
56195         from fileutils' configure.in.
56196
56197         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
56198         code. Moved tests into their own function (_jm_DECL_HEADERS) in
56199         check-decl.m4.
56200
56201         * m4/check-decl.m4: Use #if rather than #ifdef.
56202         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
56203         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
56204         (_jm_DECL_HEADERS): Define new function.
56205         (jm_CHECK_DECLARATIONS): Require it.
56206
56207 2000-01-22  Jim Meyering  <meyering@lucent.com>
56208
56209         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
56210         [! HAVE_DECL_STRTOULL]: Declare strtoull.
56211         Required for some AIX systems.  Reported by Christian Krackowizer.
56212         [TESTING] (main): New function.
56213
56214         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
56215         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
56216         letters.
56217
56218         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
56219         iswprint.
56220
56221         * lib/strverscmp.c (ISDIGIT): Define.
56222         (strverscmp): Use ISDIGIT, not isdigit.
56223
56224 2000-01-19  Jim Meyering  <meyering@lucent.com>
56225
56226         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
56227         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
56228         defines `struct timespec' in <sys/time.h>
56229
56230         * m4/c-bs-a.m4: Remove uses of changequote altogether.
56231         Thanks to Akim for explaining.
56232
56233 2000-01-17  Paul Eggert  <eggert@twinsun.com>
56234
56235         * lib/nanosleep.c (nanosleep):
56236         Don't use SA_INTERRUPT to decide whether to call sigaction, as
56237         POSIX.1 doesn't require SA_INTERRUPT and some systems
56238         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
56239         it's been part of POSIX.1 since day 1 (in 1988).
56240
56241 2000-01-17  Jim Meyering  <meyering@lucent.com>
56242
56243         * lib/interlock: Remove unused file.  Reported by François Pinard.
56244
56245 2000-01-16  Paul Eggert  <eggert@twinsun.com>
56246
56247         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
56248         alert, backslash, formfeed, and vertical tab unnecessarily in
56249         shell quoting style.
56250
56251 2000-01-16  Jim Meyering  <meyering@lucent.com>
56252
56253         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
56254         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
56255         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
56256         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
56257
56258 2000-01-16  Jim Meyering  <meyering@lucent.com>
56259
56260         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
56261         because the latter didn't work.
56262
56263 2000-01-15  Jim Meyering  <meyering@lucent.com>
56264
56265         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
56266         (AC_REPLACE_FUNCS): Add memcpy and memset.
56267         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
56268         Add strpbrk.
56269         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
56270
56271 2000-01-12  Jim Meyering  <meyering@lucent.com>
56272
56273         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
56274         (jm_PREREQ): Use it.
56275         (jm_PREREQ_READUTMP): New macro.
56276         (jm_PREREQ): Use it.
56277
56278 2000-01-11  Paul Eggert  <eggert@twinsun.com>
56279
56280         Quote multibyte characters correctly.
56281         * m4/c-bs-a.m4: New file.
56282         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
56283         (jm_PREREQ): Use it.
56284
56285 2000-01-11  Paul Eggert  <eggert@twinsun.com>
56286
56287         * m4/uintmax_t.m4: Port to autoconf 2.13.
56288
56289 2000-01-08  Jim Meyering  <meyering@ascend.com>
56290
56291         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
56292         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
56293
56294 2000-01-04  Jim Meyering  <meyering@ascend.com>
56295
56296         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
56297         jm_STRUCT_DIRENT_D_TYPE.
56298         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
56299         jm_STRUCT_DIRENT_D_INO.
56300         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
56301         jm_STRUCT_UTIMBUF.
56302         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
56303         renamings.
56304         * m4/utime.m4: Likewise.
56305
56306         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
56307         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
56308
56309 2000-01-03  Paul Eggert  <eggert@twinsun.com>
56310
56311         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
56312         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
56313
56314 2000-01-02  Jim Meyering  <meyering@ascend.com>
56315
56316         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
56317         remember if this is necessary.
56318
56319 1999-12-26  Jim Meyering  <meyering@ascend.com>
56320
56321         * m4/jm-macros.m4: Use it here.
56322         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
56323
56324 1999-12-23  Jim Meyering  <meyering@ascend.com>
56325
56326         * m4/jm-macros.m4: Check for clock_gettime (moved from
56327         fileutils/configure.in)
56328         Check for gettimeofday.
56329
56330 1999-12-20  Jim Meyering  <meyering@ascend.com>
56331
56332         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
56333         autoconf-2.14a-1999-12-20.
56334
56335 1999-12-19  Jim Meyering  <meyering@ascend.com>
56336
56337         * m4/lstat-slash.m4: New file.
56338         * m4/jm-macros.m4: Use the new macro:
56339         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
56340
56341 1999-12-07  Jim Meyering  <meyering@ascend.com>
56342
56343         * m4/perl.m4: Require that File::Compare be available, too.
56344         Too many systems seem to lack it.
56345
56346         * m4/strftime.m4: Add checks for most of the cpp macros tested in
56347         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
56348
56349 1999-11-18  Paul Eggert  <eggert@twinsun.com>
56350
56351         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
56352         problem with the QNX 4.25 shell, which doesn't propagate exit
56353         status of failed commands inside shell assignments.
56354
56355 1999-11-17  Jim Meyering  <meyering@ascend.com>
56356
56357         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
56358
56359 1999-11-07  Jim Meyering  <meyering@ascend.com>
56360
56361         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
56362
56363 1999-11-06  Jim Meyering  <meyering@ascend.com>
56364
56365         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
56366         * m4/jm-macros.m4 (jm_MACROS): Use it here.
56367
56368 1999-11-05  Jim Meyering  <meyering@ascend.com>
56369
56370         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
56371         configure.in of textutils, fileutils, and sh-utils into this one
56372         (shared between those packages) file.
56373         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
56374         AC_STRUCT_ST_BLKSIZE.
56375
56376 1999-11-03  Jim Meyering  <meyering@ascend.com>
56377
56378         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
56379         of AC_CHECK_TYPE checks includes unistd.h.
56380         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
56381         Suggestion from Akim Demaille.
56382
56383 1999-10-30  Jim Meyering  <meyering@ascend.com>
56384
56385         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
56386         m4-quoted string.
56387         * m4/ls-mntd-fs.m4: Likewise.
56388         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
56389         * m4/jm-winsz1.m4: Likewise.
56390
56391         * m4/const.m4: Remove file, since the fix made it into the experimental
56392         version of autoconf.
56393         * m4/mktime.m4: Likewise.
56394
56395         * m4/check-type.m4: Remove file, now that the latest version of
56396         AC_CHECK_TYPE takes a third arg to specify additional #includes.
56397
56398         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
56399         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
56400         AC_CHECK_TYPE.
56401
56402 1999-10-04  Jim Meyering  <meyering@ascend.com>
56403
56404         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
56405
56406 1999-09-22  Paul Eggert  <eggert@twinsun.com>
56407
56408         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
56409         2.95.1 bug with HP-UX 10.20.
56410
56411 1999-09-17  Jim Meyering  <meyering@ascend.com>
56412
56413         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
56414         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
56415         due to missing strdup (against sh-utils-2.0).
56416
56417 1999-08-29  Jim Meyering  <meyering@ascend.com>
56418
56419         * m4/jm-macros.m4: Require jm_BISON.
56420         * m4/bison.m4: New file.
56421
56422 1999-08-17  Paul Eggert  <eggert@twinsun.com>
56423
56424         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
56425         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
56426
56427 1999-08-05  Jim Meyering  <meyering@ascend.com>
56428
56429         * m4/getline.m4: Rename test file from conftestdata to conftest.data
56430         to avoid conflicts with `conftest' on 8+3 filesystems.
56431         Suggestion from Eli Zaretskii.
56432
56433 1999-08-04  Jim Meyering  <meyering@ascend.com>
56434
56435         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
56436         fileutils and sh-utils (textutils's getline test was inadequate).
56437         (AM_FUNC_GETLINE): Run this test.
56438         (AC_CHECK_FUNCS): Check for getdelim.
56439         Reported by Bob Proulx.
56440
56441 1999-08-02  Jim Meyering  <meyering@ascend.com>
56442
56443         * m4/jm-macros.m4: Add a comment.
56444
56445 1999-08-01  Paul Eggert  <eggert@twinsun.com>
56446
56447         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
56448         <inttypes.h> defines strtoumax as a macro (and not as a
56449         function).
56450
56451 1999-08-01  Paul Eggert  <eggert@twinsun.com>
56452
56453         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
56454         that we can shift, multiply and divide unsigned long long
56455         values; Ultrix cc can't do it.
56456
56457 1999-08-01  Paul Eggert  <eggert@twinsun.com>
56458
56459         * m4/mktime.m4: New file, which is a preview of what should appear
56460         in the next public autoconf release.
56461
56462 1999-08-01  Paul Eggert  <eggert@twinsun.com>
56463
56464         * m4/lfs.m4: Remove this file.
56465         * m4/largefile.m4: New file.  It contains the old contents of
56466         lfs.m4, except that all names with prefix AC_LFS have been
56467         changed to use the prefix AC_SYS_LARGEFILE instead, to be
56468         compatible with future autoconf versions.  Also, some minor m4
56469         quoting problems have been fixed.
56470
56471 1999-08-01  Paul Eggert  <eggert@twinsun.com>
56472
56473         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
56474         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
56475         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
56476         and simplify the shell code.
56477
56478 1999-08-01  Jim Meyering  <meyering@ascend.com>
56479
56480         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
56481         m4.
56482
56483 1999-07-20  Jim Meyering  <meyering@ascend.com>
56484
56485         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
56486
56487 1999-07-15  Jim Meyering  <meyering@ascend.com>
56488
56489         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
56490
56491 1999-05-22  Jim Meyering  <meyering@ascend.com>
56492
56493         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
56494
56495 1999-05-20  Jim Meyering  <meyering@ascend.com>
56496
56497         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
56498         Add a colon after each `then' in case $4 is empty.
56499
56500 1999-05-16  Jim Meyering  <meyering@ascend.com>
56501
56502         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
56503
56504 1999-05-10  Jim Meyering  <meyering@ascend.com>
56505
56506         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
56507
56508         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
56509         AC_FUNC_MKTIME.
56510
56511 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
56512
56513         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
56514
56515 1999-05-04  Paul Eggert  <eggert@twinsun.com>
56516
56517         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
56518         not CPPFLAGS, so that linking works correctly in IRIX.
56519
56520 1999-04-30  Paul Eggert  <eggert@twinsun.com>
56521
56522         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
56523
56524 1999-04-20  Paul Eggert  <eggert@twinsun.com>
56525
56526         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
56527         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
56528         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
56529         jm_AC_TYPE_UNSIGNED_LONG_LONG.
56530         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
56531
56532         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
56533
56534 1999-04-20  Jim Meyering  <meyering@ascend.com>
56535
56536         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
56537         AC_REPLACE xstroull if necessary.  From Paul Eggert.
56538         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
56539
56540 1999-04-18  Jim Meyering  <meyering@ascend.com>
56541
56542         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
56543         * m4/jm-macros.m4: Use it.
56544
56545 1999-04-06  Jim Meyering  <meyering@ascend.com>
56546
56547         * m4/strftime.m4: Remove test for %f.
56548
56549 1999-03-29  Jim Meyering  <meyering@ascend.com>
56550
56551         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
56552         superset of the AC_TYPE_* checks in the textutils, fileutils,
56553         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
56554         AC_TYPE_PID_T.
56555
56556 1999-03-28  Jim Meyering  <meyering@ascend.com>
56557
56558         * m4/jm-macros.m4: Define GNU_PACKAGE here.
56559         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
56560         replaced e.g., in the *.sh files of the sh-utils.
56561
56562 1999-03-20  Jim Meyering  <meyering@ascend.com>
56563
56564         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
56565         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
56566         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
56567
56568 1999-03-19  Jim Meyering  <meyering@ascend.com>
56569
56570         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
56571
56572 1999-03-12  Jim Meyering  <meyering@ascend.com>
56573
56574         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
56575
56576 1999-03-07  Jim Meyering  <meyering@ascend.com>
56577
56578         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
56579         declared.
56580
56581 1999-02-17  Jim Meyering  <meyering@ascend.com>
56582
56583         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
56584         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
56585
56586 1999-02-07  Jim Meyering  <meyering@ascend.com>
56587
56588         * m4/group-member.m4: New file -- extracted from sh-utils'
56589         configure.in.
56590
56591         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
56592         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
56593
56594 1999-02-06  Jim Meyering  <meyering@ascend.com>
56595
56596         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
56597         * m4/fnmatch.m4: Likewise.
56598         * m4/getgroups.m4: Likewise.
56599         * m4/lstat.m4: Likewise.
56600         * m4/malloc.m4: Likewise.
56601         * m4/putenv.m4: Likewise.
56602         * m4/realloc.m4: Likewise.
56603         * m4/regex.m4: Likewise.
56604         * m4/stat.m4: Likewise.
56605         * m4/strftime.m4: Likewise.
56606         Suggestion from Alain Magloire.
56607
56608         * m4/chown.m4: Use `.$ac_objext', not `.o'.
56609         * m4/fnmatch.m4: Likewise.
56610         * m4/getgroups.m4: Likewise.
56611         * m4/getline.m4: Likewise.
56612         * m4/lstat.m4: Likewise.
56613         * m4/malloc.m4: Likewise.
56614         * m4/memcmp.m4: Likewise.
56615         * m4/putenv.m4: Likewise.
56616         * m4/realloc.m4: Likewise.
56617         * m4/regex.m4: Likewise.
56618         * m4/stat.m4: Likewise.
56619         * m4/strftime.m4: Likewise.
56620         Suggestion from Alain Magloire.
56621
56622         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
56623         an argument.
56624
56625         * m4/regex.m4: Add a run-time Test for proper operation of
56626         re_compile_pattern.
56627
56628 1999-01-31  Jim Meyering  <meyering@ascend.com>
56629
56630         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
56631
56632 1999-01-30  Jim Meyering  <meyering@ascend.com>
56633
56634         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
56635
56636         * m4/jm-mktime.m4: Make this a wrapper around the official
56637         AM_FUNC_MKTIME rather than my private copy, now that the official one
56638         is up to date.
56639         * m4/mktime.m4: Remove file.
56640
56641         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
56642         * m4/uptime.m4: Likewise.
56643         * m4/uintmax_t.m4: Likewise.
56644
56645 1999-01-28  Jim Meyering  <meyering@ascend.com>
56646
56647         * m4/jm-macros.m4: Use jm_AFS.
56648         * m4/afs.m4: New file (from fileutils' configure.in).
56649
56650         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
56651         * m4/chown.m4: Likewise.
56652         * m4/d-ino.m4: Likewise.
56653         * m4/d-type.m4: Likewise.
56654         * m4/fnmatch.m4: Likewise.
56655         * m4/getgroups.m4: Likewise.
56656         * m4/gettext.m4: Likewise.
56657         * m4/jm-mktime.m4: Likewise.
56658         * m4/jm-winsz2.m4: Likewise.
56659         * m4/lcmessage.m4: Likewise.
56660         * m4/ls-mntd-fs.m4: Likewise.
56661         * m4/malloc.m4: Likewise.
56662         * m4/memcmp.m4: Likewise.
56663         * m4/putenv.m4: Likewise.
56664         * m4/realloc.m4: Likewise.
56665         * m4/st_mtim.m4: Likewise.
56666         * m4/strftime.m4: Likewise.
56667
56668 1999-01-16  Jim Meyering  <meyering@ascend.com>
56669
56670         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
56671         (ARGMATCH_DIE_DECL): Define.
56672
56673 1999-01-12  Jim Meyering  <meyering@ascend.com>
56674
56675         * m4/Makefile.am.in: Rewrite to avoid using fmt.
56676         Reported by Lars Hecking.
56677
56678 1999-01-10  Jim Meyering  <meyering@ascend.com>
56679
56680         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
56681         gross kludge.
56682         * m4/inttypes_h.m4: Likewise.
56683         * m4/lstat.m4: Likewise.
56684         * m4/malloc.m4: Likewise.
56685         * m4/readdir.m4: Likewise.
56686         * m4/realloc.m4: Likewise.
56687         * m4/st_dm_mode.m4: Likewise.
56688         * m4/stat.m4: Likewise.
56689         * m4/utimbuf.m4: Likewise.
56690         * m4/utimes.m4: Likewise.
56691
56692         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
56693         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
56694         comments in config.h.in are meaningful.
56695
56696         * m4/jm-macros.m4: Require autoconf-2.13 here.
56697
56698         * m4/regex.m4: By default, don't use the included regex.c on systems
56699         with glibc 2.  Suggestion from Uli Drepper.
56700
56701 1999-01-02  Jim Meyering  <meyering@ascend.com>
56702
56703         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
56704
56705 1998-12-18  Jim Meyering  <meyering@ascend.com>
56706
56707         * m4/Makefile.am.in (Makefile.am): Simplify rule.
56708         Based on a suggestion from Lars Hecking.
56709
56710 1998-11-16  Paul Eggert  <eggert@twinsun.com>
56711
56712         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
56713
56714 1998-11-16  Jim Meyering  <meyering@ascend.com>
56715
56716         * m4/lfs.m4: Double-quote the `uname...` expression.
56717
56718 1998-11-14  Jim Meyering  <meyering@ascend.com>
56719
56720         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
56721         * m4/stat.m4: Likewise.
56722
56723 1998-11-03  Jim Meyering  <meyering@ascend.com>
56724
56725         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
56726         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
56727
56728 1998-10-18  Jim Meyering  <meyering@ascend.com>
56729
56730         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
56731
56732 1998-10-17  Jim Meyering  <meyering@ascend.com>
56733
56734         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
56735         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
56736         calls for those previously hard-coded headers.  Instead, take a new
56737         parameter.
56738         (jm_CHECK_DECLARATIONS): Reflect interface change.
56739         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
56740         (jm_CHECK_DECL_LOCALTIME_R): New macro.
56741
56742         * m4/mktime.m4: Test for spring-forward gap before long-running test.
56743
56744 1998-10-14  Jim Meyering  <meyering@ascend.com>
56745
56746         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
56747         instead of "TZ=America/Vancouver".  From Paul Eggert.
56748
56749 1998-10-11  Jim Meyering  <meyering@ascend.com>
56750
56751         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
56752         This adds a test for a recently added compatibility fix for mktime.c.
56753         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
56754
56755 1998-09-27  Jim Meyering  <meyering@ascend.com>
56756
56757         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
56758
56759         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
56760         ../configure.in, including a change from Gordon Matzigkeit to allow
56761         cross-compiling for the Hurd.
56762
56763         * m4/glibc.m4: New file/macro to test for the GNU C Library
56764         versions 1 and 2.  From Gordon Matzigkeit.
56765         Indent.
56766
56767 1998-09-21  Jim Meyering  <meyering@ascend.com>
56768
56769         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
56770
56771 1998-08-18  Paul Eggert  <eggert@twinsun.com>
56772
56773         Port nanosecond-resolution times to UnixWare 2.1.2 and
56774         pedantic Solaris 2.6.
56775
56776         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
56777         AC_STRUCT_ST_MTIM.
56778         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
56779         Generate name of ns member, instead of just 1 or undef.
56780         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
56781
56782 1998-08-15  Jim Meyering  <meyering@ascend.com>
56783
56784         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
56785         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
56786         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
56787         instead of jm_TYPE_SSIZE_T.
56788
56789 1998-08-12  Jim Meyering  <meyering@ascend.com>
56790
56791         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
56792
56793 1998-08-02  Jim Meyering  <meyering@ascend.com>
56794
56795         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
56796         in acconfig.h manually.
56797
56798 1998-07-31  Paul Eggert  <eggert@twinsun.com>
56799
56800         * m4/st_mtim.m4: New file.
56801
56802 1998-07-28  Jim Meyering  <meyering@ascend.com>
56803
56804         * m4/utimes.m4: Undef stat.
56805
56806 1998-07-25  Jim Meyering  <meyering@ascend.com>
56807
56808         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
56809         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
56810
56811 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
56812
56813         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
56814         uid and gid actually remain unchanged.
56815
56816 1998-07-07  Jim Meyering  <meyering@ascend.com>
56817
56818         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
56819
56820 1998-07-04  Jim Meyering  <meyering@ascend.com>
56821
56822         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
56823         to prove that this macro can be used in packages without regex.c.
56824
56825 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
56826
56827         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
56828         is to be used.
56829
56830 1998-07-03  Jim Meyering  <meyering@ascend.com>
56831
56832         * m4/gettext.m4: Add -lintl if it's found to be necessary.
56833
56834         * m4/gettext.m4: New file -- from gettext-0.10.35.
56835         * m4/lcmessage.m4: Likewise.
56836         * m4/progtest.m4: Likewise.
56837
56838         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
56839         * m4/jm-macros.m4: Require the new macro.
56840
56841 1998-06-29  Jim Meyering  <meyering@ascend.com>
56842
56843         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
56844         for the definition of NGROUPS (used in a system header included
56845         by sys/mount.h).
56846
56847 1998-06-28  Jim Meyering  <meyering@ascend.com>
56848
56849         * m4/ls-mntd-fs.m4: New file.
56850         * m4/fstypename.m4: New file.
56851
56852         * m4/jm-macros.m4: Require the new macro.
56853         * m4/jm-glibc-io.m4: New file.
56854
56855 1998-05-19  Jim Meyering  <meyering@ascend.com>
56856
56857         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
56858         * m4/lchown.m4: New file.
56859
56860         * m4/Makefile.am.in: New file.
56861         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
56862
56863 1998-05-14  Jim Meyering  <meyering@ascend.com>
56864
56865         * m4/Makefile.am (EXTRA_DIST): Add them.
56866         * m4/jm-macros.m4: New file.
56867         * m4/utimbuf.m4: New file.
56868
56869 1998-05-12  Jim Meyering  <meyering@ascend.com>
56870
56871         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
56872
56873 1998-05-11  Jim Meyering  <meyering@ascend.com>
56874
56875         * m4/isc-posix.m4: New file.
56876
56877 1998-05-10  Jim Meyering  <meyering@ascend.com>
56878
56879         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
56880
56881 1998-05-09  Jim Meyering  <meyering@ascend.com>
56882
56883         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
56884         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
56885         with automake.
56886
56887         * m4/ssize_t.m4: New file.
56888         * m4/mktime.m4: Remove file -- the new automake has this now.
56889
56890 1998-04-26  Jim Meyering  <meyering@ascend.com>
56891
56892         * m4/assert.m4: New file.
56893         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
56894
56895 1998-04-05  Jim Meyering  <meyering@ascend.com>
56896
56897         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
56898         (jm_PREREQ): Use it here.
56899
56900 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
56901
56902         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
56903         in acconfig.h.
56904
56905 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
56906
56907         * m4/prereq.m4: New file.
56908         * m4/error.m4: New file.
56909         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
56910
56911 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
56912
56913         * m4/getline.m4: Don't set am_cv_func_working_getline before the
56914         cache-check for the same variable -- that defeated the purpose of
56915         the test; the test program was never run.  This was a problem only
56916         on systems with losing getline functions -- HP-UX 10.20 is one.
56917         Reported by Bjorn Helgaas.
56918
56919 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
56920
56921         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
56922
56923 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
56924
56925         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
56926
56927         * m4/const.m4: New file.  Use an initializer in this declaration
56928         typedef int charset[2]; const charset x;
56929         Reported by Bob Glickstein.
56930
56931 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
56932
56933         * m4/chown.m4: Fix reversed types on -1 args to chown.
56934         From Kaveh Ghazi.
56935
56936 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
56937
56938         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
56939         Add lseek and memchr.
56940
56941         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
56942         T.E.Dickey <dickey@clark.net> said that some older preprocessors
56943         have a 20-character limit on names.
56944
56945 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
56946
56947         * m4/inttypes_h.m4: New file.
56948         * m4/uintmax_t.m4: New file.
56949         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
56950
56951
56952         -----
56953
56954         Local Variables:
56955         coding: utf-8
56956         End:
56957
56958         Copyright (C) 1997-2009 Free Software Foundation, Inc.
56959
56960         Copying and distribution of this file, with or without
56961         modification, are permitted provided the copyright notice
56962         and this notice are preserved.