test-stat-time: speed up execution
[gnulib.git] / ChangeLog
1 2009-10-09  Eric Blake  <ebb9@byu.net>
2
3         test-stat-time: speed up execution
4         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
5         warning on mingw.
6         (nap): New helper function.
7         (prepare_test): Use it to reduce sleep time.
8         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
9         execution.
10         * modules/stat-time-tests (configure.ac): Check for usleep.
11
12 2009-10-09  Jim Meyering  <meyering@redhat.com>
13
14         selinux-h: always use getfilecon wrappers
15         * lib/getfilecon.c: New file.
16         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
17         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
18         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
19         (fgetfilecon): Provide a stub.
20         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
21         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
22         file unconditionally.
23         When <selinux/selinux.h> is found, arrange to use wrappers.
24         * modules/selinux-h (Files): Add getfilecon.c.
25         (Makefile.am): Substitute include-next-related bits
26         into the now-always-generated selinux/selinux.h file.
27         * doc/glibc-functions/lgetfilecon.texi: New file.
28         * doc/glibc-functions/fgetfilecon.texi: New file.
29         * doc/glibc-functions/getfilecon.texi: New file.
30         * doc/glibc-functions/getfilecon-desc.texi: New file.
31         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
32         which to pull in the new files.
33         * MODULES.html.sh (Misc): Add selinux-h.
34
35 2009-10-08  Jim Meyering  <meyering@redhat.com>
36
37         unistd: fix comment typo
38         * lib/unistd.in.h (euidaccess): Fix a comment typo.
39
40 2009-10-08  Eric Blake  <ebb9@byu.net>
41
42         areadlink: use SIZE_MAX consistently
43         * modules/areadlink (Depends-on): Add stdint.
44         * modules/areadlink-with-size (Depends-on): Likewise.
45         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
46         gives NULL; drop sys/types, since unistd gives size_t; and add
47         stdint for SIZE_MAX.
48         (SIZE_MAX): Rely on headers.
49         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
50         and add stdint.
51         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
52         (SIZE_MAX): Likewise.
53         (INITIAL_BUF_SIZE): Turn into enum.
54         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
55
56 2009-10-08  Jim Meyering  <meyering@redhat.com>
57
58         areadlinkat: avoid compilation failure
59         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
60         Fix typo in comment.
61
62 2009-10-07  Eric Blake  <ebb9@byu.net>
63
64         areadlinkat-with-size: new module
65         * modules/areadlinkat-with-size: New module.
66         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
67         * lib/areadlink.h (areadlinkat): Declare it.
68         * MODULES.html.sh (File system functions): Mention it.
69         * modules/areadlinkat-with-size-tests: New test.
70         * tests/test-areadlinkat-with-size.c: New file.
71
72         xreadlinkat: new module
73         * modules/xreadlinkat: New module.
74         * lib/xreadlinkat.c (xreadlinkat): New file.
75         * lib/xreadlink.h (xreadlinkat): Declare it.
76         * MODULES.html.sh (File system functions): Mention it.
77
78         areadlinkat: new module
79         * lib/at-func.c (FUNC_FAIL): New define.
80         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
81         * modules/areadlinkat: New module.
82         * lib/linkat.c (areadlinkat): Move...
83         * lib/areadlinkat.c (areadlinkat): ...to new file.
84         * lib/areadlink.h (areadlinkat): Declare it.
85         * modules/linkat (Depends-on): Add areadlinkat.
86         * MODULES.html.sh (File system functions): Mention it.
87         * modules/areadlinkat-tests: New test.
88         * tests/test-areadlinkat.c: New file.
89
90         areadlink, areadlink-with-size: add tests
91         * modules/areadlink-tests: New test.
92         * modules/areadlink-with-size-tests: Likewise.
93         * tests/test-areadlink.h: New file.
94         * tests/test-areadlink.c: Likewise.
95         * tests/test-areadlink-with-size.c: Likewise.
96
97         maint: minor cleanups
98         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
99         _UNUSED_PARAMETER_ instead.
100         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
101         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
102         * modules/linkat-tests (Files): Distribute test-link.h.
103
104         openat, utimens: whitespace cleanup
105         * lib/openat.c: Prefer space throughout, rather than mix of 8
106         spaces vs. tabs.
107         * lib/at-func.c: Likewise.
108         * lib/utimens.c: Likewise.
109
110         openat: avoid using wrong fd
111         * lib/openat.c (openat_permissive): Reject user's fd if saving the
112         working directory chooses same fd.
113         * lib/at-func.c (AT_FUNC_NAME): Likewise.
114
115         mkdir, mkdirat: fix cygwin 1.5.x bug
116         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
117         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
118         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
119         bug.
120         (gl_PREREQ_MKDIR): Delete unused macro.
121         * modules/mkdir (Files): Track file rename.
122         (configure.ac): Update macro name.
123         * modules/openat (Depends-on): Add mkdir.
124         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
125
126         mkdir, mkdirat: add tests
127         * modules/mkdir-tests: New test.
128         * tests/test-mkdir.h: New file.
129         * tests/test-mkdir.c: Likewise.
130         * tests/test-mkdirat.c: Likewise.
131         * modules/openat-tests (Files): Add new files.
132         (Makefile.am): Run new test.
133
134 2009-10-06  Eric Blake  <ebb9@byu.net>
135
136         doc: tweak *at function documentation
137         * doc/posix-functions/faccessat.texi (faccessat): Mention
138         known issue with replacement.
139         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
140         * doc/posix-functions/linkat.texi (linkat): Likewise.
141         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
142         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
143         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
144         * doc/posix-functions/renameat.texi (renameat): Likewise.
145         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
146
147         openat: fix GNU/Hurd bug in unlinkat
148         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
149         broken.
150         * doc/posix-functions/unlink.texi (unlink): Document this.
151         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
152
153         fdopendir: fix GNU/Hurd bug
154         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
155         allowing non-directory fds.
156         * lib/fdopendir.c (rpl_fdopendir): Work around it.
157         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
158         * modules/dirent (Makefile.am): Substitute it.
159         * lib/dirent.in.h (fdopendir): Declare replacement.
160         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
161         * tests/test-fdopendir.c (main): Test something other than
162         /dev/null, since on Hurd that behaves like a directory.
163
164         test-symlink: port to GNU/Hurd
165         * tests/test-symlink.h (test_symlink): Relax expected errno.
166
167         doc: tweak more cygwin information
168         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
169         now compatible with glibc.
170         * doc/posix-functions/getopt.texi (getopt): Likewise.
171
172         getopt-gnu: add another test
173         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
174         guarantee behavior relied on by m4.
175         * tests/test-getopt.c (main): Use it.
176         * modules/getopt-posix-tests (Depends-on): Add setenv.
177         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
178
179         getopt: fix compilation on darwin
180         * lib/getopt.in.h (includes): Leave breadcrumbs during system
181         include.
182         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
183         Reported by Ludovic Courtès.
184
185 2009-10-06  Bruno Haible  <bruno@clisp.org>
186
187         * modules/size_max (Description): Discourage its use.
188         Reported by Simon Josefsson.
189
190 2009-10-06  Jim Meyering  <meyering@redhat.com>
191
192         linkat: avoid compilation failure
193         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
194
195 2009-10-05  Eric Blake  <ebb9@byu.net>
196
197         linkat: support Linux 2.6.17
198         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
199         linkat on Linux, but allow cache variable override.
200         * lib/linkat.c (rpl_linkat): Define override.
201         * modules/linkat (Depends-on): Add symlinkat.
202         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
203         * modules/unistd (Makefile.am): Substitute it.
204         * lib/unistd.in.h (linkat): Declare replacement.
205         Reported by Pádraig Brady.
206
207         quotearg: port test to systems with C.UTF-8 locale
208         * tests/test-quotearg.c (struct result_strings): Add another
209         member, differentiating between C.ASCII and C.UTF-8 handling.
210         (compare_strings): Add parameter.
211         (main): Adjust all callers.
212
213         getopt: avoid clash with FreeBSD _getopt_internal
214         * lib/getopt.in.h (_getopt_internal): Override the name.
215         * lib/getopt_int.h (includes): Pick up any overrides.
216         Reported by Reuben Thomas.
217
218         hash: allow C89 compilation
219         * lib/hash.c (check_tuning): Move declaration before statement.
220         Reported by Reuben Thomas.
221
222 2009-10-05  Karl Berry  <karl@gnu.org>
223
224         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
225
226 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
227             Bruno Haible  <bruno@clisp.org>
228
229         * lib/uname.c (uname): Use a table-driver algorithm to compute
230         Windows NT versions.
231
232 2009-10-04  Bruno Haible  <bruno@clisp.org>
233
234         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
235         program_invocation_short_name.
236         * modules/progname (configure.ac): Test for presence of
237         program_invocation_short_name.
238         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
239
240 2009-10-04  Bruno Haible  <bruno@clisp.org>
241
242         * lib/progname.c (set_program_name): Fix comment.
243         Reported by Jim Meyering.
244
245 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
246             Bruno Haible  <bruno@clisp.org>
247
248         * lib/uname.c: Include <string.h>.
249         (uname): Do only one call to GetVersionEx in the common case.
250
251 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
252             Bruno Haible  <bruno@clisp.org>
253
254         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
255         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
256         (uname): Add support for Windows CE and various non-x86 CPU types.
257
258 2009-10-03  Bruno Haible  <bruno@clisp.org>
259
260         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
261         invocation to tests/configure.ac.
262         Reported by Ian Beckwith <ianb@erislabs.net>.
263
264 2009-10-02  Eric Blake  <ebb9@byu.net>
265
266         fchdir: avoid compiler warning
267         * lib/fchdir.c (canonicalize_file_name)
268         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
269
270         test-open: support mingw errno values
271         * tests/test-open.h (test_open): Relax test.
272         * tests/test-fopen.h (test_fopen): Likewise.
273         * tests/test-openat-safer.c (main): Likewise.
274
275         open: fix opening directory on mingw
276         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
277
278         test-open: on GNU/Hurd, /dev/null is a directory
279         * tests/test-fopen.h (main): Rename...
280         (test_fopen): ...to this.  Use a guaranteed non-directory when
281         confirming open behavior on trailing slash.
282         * tests/test-openat-safer.c (main): Likewise.
283         * tests/test-open.h (main): Likewise....
284         (test_open): ...to this.
285         * tests/test-fopen.c (main): Adjust caller.
286         * tests/test-fopen-safer.c (main): Likewise.
287         * tests/test-open.c (main): Likewise.
288         * tests/test-fcntl-safer.c (main): Likewise.
289         Reported by Samuel Thibault.
290
291         rename, fchdir: don't ignore chdir failure
292         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
293         * lib/rename.c (rpl_rename) [W32]: Likewise.
294         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
295         an empty destination directory if source cannot be renamed,
296         although there is still possibility for failure.
297         * doc/posix-functions/rename.texi (rename): Document the race.
298         Reported by Jim Meyering.
299
300         maint: cleanup whitespace in recent commits
301         * lib/rename.c (rpl_rename): Remove tabs.
302         * tests/test-link.h (test_link): Likewise.
303         * lib/fchdir.c (get_name): Likewise.
304         Reported by Jim Meyering.
305
306 2009-10-02  Ben Pfaff  <blp@gnu.org>
307
308         relocatable-prog-wrapper: Add missing dependency on
309         double-slash-root.
310         * modules/relocatable-prog-wrapper: Add dependency.
311         Reported by Ian Beckwith <ianb@erislabs.net>.
312
313 2009-10-02  Eric Blake  <ebb9@byu.net>
314
315         renameat: fix Solaris bugs
316         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
317         needed fixing.
318         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
319         * modules/stdio (Makefile.am): Substitute it.
320         * lib/stdio.in.h (renameat): Declare replacement.
321         * lib/renameat.c (rpl_renameat): Implement fix.
322
323         renameat: new module
324         * modules/renameat: New file.
325         * lib/renameat.c (renameat): Likewise.
326         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
327         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
328         * modules/stdio (Makefile.am): Substitute them.
329         * lib/stdio.in.h (renameat): Declare it.
330         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
331         * doc/posix-functions/renameat.texi (renameat): Likewise.
332         * modules/renameat-tests: New test.
333         * tests/test-renameat.c: Likewise.
334
335         rename: fix mingw bugs
336         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
337         directory overwrite bugs.
338
339         rename: fix another cygwin 1.5 bug
340         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
341         checks.
342         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
343         unnecessary cygwin workarounds.  Also work around bug with moving
344         full directory onto an empty one.
345         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
346
347         rename-dest-slash: merge into rename module
348         * modules/rename-dest-slash (Status): Mark obsolete.
349         (Depends-on): Add rename.
350         (Files): Let rename do it all.
351         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
352         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
353         * m4/rename-dest-slash.m4: ...so this file can be deleted.
354         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
355         * lib/rename.c (rpl_rename): Update comments.
356
357         rename: fix cygwin 1.5.x bugs
358         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
359         * lib/rename.c (rpl_rename): Work around them.
360         * modules/rename (Depends-on): Add same-inode.
361
362         rename: fix Solaris 10 bug
363         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
364         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
365         was the only bug.
366
367         rename: fix Solaris 9 bug
368         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
369         on non-directory.  Avoid calling exit.
370         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
371         strdup.
372         * modules/rename-tests (Depends-on): Drop lstat.
373         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
374         (gl_PREREQ_RENAME): Delete unused macro.
375
376         rename-dest-slash: fix NetBSD bug
377         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
378         links.
379         * modules/rename-dest-slash (Depends-on): Add same-inode.
380
381         rename-tests: new test, exposes several platform bugs
382         * modules/rename-tests: New file.
383         * tests/test-rename.h: Likewise.
384         * tests/test-rename.c: Likewise.
385         * doc/posix-functions/rename.texi (rename): Improve documentation,
386         including bugs that will eventually be fixed in gnulib.
387
388 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
389
390         * lib/uname.c: Include <stdlib.h>
391         (uname): Assume version info is available.
392
393 2009-10-02  Jim Meyering  <meyering@redhat.com>
394
395         gnu-web-doc-update: correct --help output
396         * build-aux/gnu-web-doc-update: Make --help output relevant.
397
398         gnu-web-doc-update: add standard options
399         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
400
401         gnu-web-doc-update: New module.
402         Use this script to automatically update the on-line web documentation
403         for your GNU project at http://www.gnu.org/software/$pkg/manual/
404         * modules/gnu-web-doc-update: New file, from coreutils.
405         * build-aux/gnu-web-doc-update: New script.
406
407 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
408
409         link: LoadLibrary is not needed.
410         * lib/link.c: Use GetModuleHandle.
411
412 2009-10-01  Eric Blake  <ebb9@byu.net>
413
414         getopt: bump serial number
415         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
416         change.
417
418         tests: tighten link, rmdir, and remove tests
419         * tests/test-link.h (includes): No need to use <config.h> here.
420         Clean up if directory hard link was created, otherwise test for
421         trailing '.'.
422         * tests/test-linkat.c (main): Simplify.
423         * tests/test-remove.c (main): Enhance test for trailing '.'.
424         * tests/test-rmdir.h (test_rmdir_func): Likewise.
425
426 2009-10-01  Jim Meyering  <meyering@redhat.com>
427
428         maint.mk: requiring "make major" was annoying, for a "minor" release.
429         What is intended is "stable", to contrast with alpha and beta,
430         so require "make stable", not "make major".
431         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
432         (get_tool_versions): Likewise.
433         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
434
435 2009-09-30  Ben Pfaff  <blp@gnu.org>
436
437         Fix broken build of replacement for Windows tmpfile().
438         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
439         flags argument added along with the 'mkostemp' module.
440
441 2009-09-28  Bruno Haible  <bruno@clisp.org>
442
443         Avoid identifier clash with POSIX function 'remove' defined as a macro.
444         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
445         to 'remove_elt'.
446         (gl_list_remove): Update.
447         * lib/gl_list.c (gl_list_remove): Update.
448         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
449         to 'remove_elt'.
450         (gl_oset_remove): Update.
451         * lib/gl_list.c (gl_oset_remove): Update.
452         Reported by Eric Blake.
453
454 2009-09-28  Eric Blake  <ebb9@byu.net>
455
456         doc: mention yet more cygwin 1.7 status
457         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
458         cygwin.
459         * doc/glibc-functions/execvpe.texi (execvpe): New file.
460         * doc/gnulib.texi (Glibc unistd.h): Mention it.
461
462         argp: fix test failure
463         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
464         that are not upper-case.  Pass correct range to tolower.
465
466 2009-09-27  Jim Meyering  <meyering@redhat.com>
467
468         test-yesno: work around sparc-dash here-document infelicity
469         Without this change, the literal \177 byte in a here document
470         would make dash 0.5.5.1-3 access uninitialized memory.
471         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
472         Instead, use a marker, "@", and filter through tr to create the desired
473         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
474
475 2009-09-27  Bruno Haible  <bruno@clisp.org>
476
477         Disable untested support for new flavours of ACLs on AIX.
478         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
479         progress.
480         * lib/set-mode-acl.c (qset_acl): Likewise.
481
482 2008-12-07  Bruno Haible  <bruno@clisp.org>
483
484         Add support for new flavours of ACLs on AIX. (Untested.)
485         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
486         (file_has_acl): Add support for newer AIX.
487         * lib/set-mode-acl.c (qset_acl): Likewise.
488         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
489         Rainer Tammer <tammer@tammer.net>.
490
491 2009-09-26  Eric Blake  <ebb9@byu.net>
492
493         argp: fix compilation of getopt
494         * lib/getopt.in.h (includes): Use different guard than glibc.
495         Reported by Sergey Poznyakoff.
496
497         doc: mention more cygwin 1.7 status
498         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
499         bug.
500         * doc/posix-functions/execl.texi (execl): Likewise.
501         * doc/posix-functions/execle.texi (execle): Likewise.
502         * doc/posix-functions/execlp.texi (execlp): Likewise.
503         * doc/posix-functions/execv.texi (execv): Likewise.
504         * doc/posix-functions/execve.texi (execve): Likewise.
505         * doc/posix-functions/execvp.texi (execvp): Likewise.
506         * doc/glibc-functions/canonicalize_file_name.texi
507         (canonicalize_file_name): Cygwin 1.7 now provides this.
508         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
509         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
510         on AT_SYMLINK_NOFOLLOW.
511
512 2009-09-24  Eric Blake  <ebb9@byu.net>
513
514         test-linkat: make test more robust
515         * tests/test-linkat.c (main): Avoid collision with EEXIST.
516
517         getopt: fix inclusion guards for cygwin
518         * modules/getopt-posix (Depends-on): Add include-next.
519         (Makefile.am): Substitute more items in replacement header.
520         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
521         <getopt.h>.
522         * lib/getopt.in.h (includes): Use split inclusion guard, and
523         prefer <getopt.h> over include <unistd.h> when one is present.
524         (option): Also override name of 'struct option'.
525
526         same-inode: revert prior change; it is not yet ready
527         * NEWS: Undo mention of this change.
528         * lib/same-inode.h (same-inode.h): Undo tri-state change.
529         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
530         * lib/cycle-check.c (cycle_check): Likewise.
531         * lib/same.c (same_name): Likewise.
532         * lib/at-func2.c (at_func2): Likewise.
533
534 2009-09-23  Eric Blake  <ebb9@byu.net>
535
536         linkat: new module
537         * modules/linkat: New file.
538         * lib/at-func2.c (at_func2): Likewise.
539         * lib/linkat.c (linkat): Likewise.
540         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
541         * lib/openat-priv.h (at_func2): Add declaration.
542         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
543         * modules/unistd (Makefile.am): Substitute them.
544         * lib/unistd.in.h (linkat): Declare it.
545         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
546         * doc/posix-functions/linkat.texi (linkat): Likewise.
547         * doc/posix-functions/link.texi (link): Tweak wording.
548         * tests/test-link.c (main): Move guts...
549         * tests/test-link.h (test_link): ...into new file.
550         * modules/linkat-tests: New test.
551         * tests/test-linkat.c: Likewise.
552         * modules/link-tests (Files): Ship new file.
553         (Depends-on): Add stdbool.
554
555         dirname: add library-safe mdir_name
556         * lib/dirname.h (mdir_name): New prototype.
557         * lib/dirname.c (dir_name): Move guts...
558         (mdir_name): ...to new function that avoids xalloc_die.
559
560         fchdir: another mingw fix
561         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
562         * lib/fchdir.c (get_name): New helper method; skips canonicalize
563         on mingw (where it has not yet been ported), and make it optional
564         elsewhere.
565         (_gl_register_fd): Use it.
566
567         same-inode: make SAME_INODE tri-state, to port to mingw
568         * NEWS: Mention this change.
569         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
570         st_ino always being 0.
571         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
572         * lib/cycle-check.c (cycle_check): Likewise.
573         * lib/same.c (same_name): Likewise.
574
575         lstat: avoid mingw compilation error
576         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
577         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
578         lstat ourselves.
579         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
580         was adequate.
581         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
582         the checks for lstat.
583         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
584
585         link: fix test failure on Solaris 9
586         * lib/link.c (rpl_link): Don't assume link will catch bogus
587         trailing slash on source.
588
589         test-symlinkat: enhance test
590         * tests/test-readlink.c (main): Move guts...
591         * tests/test-readlink.h (test_readlink): ...into new file.
592         * tests/test-symlink.c (main): Move guts...
593         * tests/test-symlink.h (test_symlink): ...into new file.
594         * tests/test-symlinkat.c (main): Use new files for further
595         coverage.
596         (do_symlink, do_readlink): New helper functions.
597         * modules/symlink-tests (Files): Ship new file.
598         (Depends-on): Add stdbool.
599         * modules/readlink-tests (Files): Ship new file.
600         (Depends-on): Add stdbool.
601         * modules/symlinkat-tests (Files): Use new files.
602
603 2009-09-23  Eric Blake  <ebb9@byu.net>
604
605         readlink: document portability issue with symlink length
606         * doc/posix-functions/lstat.texi (lstat): Mention that some file
607         systems have bogus st_size on symlinks, and mention the
608         areadlink-with-size module.
609         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
610         * doc/posix-functions/readlink.texi (readlink): Mention the
611         areadlink module, and ERANGE failure.
612         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
613         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
614
615         readlink: fix Solaris 9 bug with trailing slash
616         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
617         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
618         * doc/posix-functions/readlink.texi (readlink): Document this.
619         * modules/readlink-tests: New test.
620         * tests/test-readlink.c: Likewise.
621
622         readlink: fix cygwin 1.5.x bug with return type
623         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
624         * lib/unistd.in.h (readlink): Use ssize_t.
625         * lib/readlink.c (readlink): Likewise.
626         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
627         * modules/unistd (Makefile.am): Substitute it.
628         * lib/unistd.in.h (readlink): Declare replacement.
629         * doc/posix-functions/readlink.texi (readlink): Document this.
630
631         symlink: use throughout gnulib
632         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
633         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
634         symlink is not used.
635         * modules/symlinkat (Depends-on): Add symlink.
636         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
637         * modules/canonicalize-tests (Depends-on): Likewise.
638         * modules/lstat-tests (Depends-on): Likewise.
639         * modules/openat-tests (Depends-on): Likewise.
640         * modules/remove-tests (Depends-on): Likewise.
641         * modules/rmdir-tests (Depends-on): Likewise.
642         * modules/unlink-tests (Depends-on): Likewise.
643         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
644         * tests/test-canonicalize.c (symlink): Likewise.
645         * tests/test-fstatat.c (symlink): Likewise.
646         * tests/test-lstat.c (symlink): Likewise.
647         * tests/test-remove.c (symlink): Likewise.
648         * tests/test-rmdir.c (symlink): Likewise.
649         * tests/test-unlink.c (symlink): Likewise.
650         * tests/test-unlinkat.c (symlink): Likewise.
651
652         symlink: new module, for Solaris 9 bug
653         * modules/symlink: New file.
654         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
655         * lib/symlink.c: Likewise.
656         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
657         * modules/unistd (Makefile.am): Substitute them.
658         * lib/unistd.in.h (symlink): Declare replacement.
659         * MODULES.html.sh (File system functions): Mention it.
660         * doc/posix-functions/symlink.texi (symlink): Likewise.
661         * modules/symlink-tests: New test.
662         * tests/test-symlink.c: Likewise.
663
664 2009-09-23  Bruno Haible  <bruno@clisp.org>
665
666         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
667         when needed.
668         Test case: gnulib-tool --import --with-tests atexit inttypes.
669         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
670
671 2009-09-23  Bruno Haible  <bruno@clisp.org>
672
673         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
674         subcommand, not in a subshell.
675
676 2009-09-22  Eric Blake  <ebb9@byu.net>
677
678         unistd: sort replacement declarations
679         * lib/unistd.in.h: Sort declarations.
680
681         open, openat: minor optimization
682         * lib/open.c (open): If open succeeded, len is non-zero.
683         * lib/openat.c (rpl_openat): Likewise.
684
685         link-follow: ensure correct result
686         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
687         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
688         distinguish between possible failures.
689
690 2009-09-21  Eric Blake  <ebb9@byu.net>
691
692         fts: avoid compiler warning
693         * lib/fts.c (dirent_inode_sort_may_be_useful)
694         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
695
696 2009-09-19  Bruno Haible  <bruno@clisp.org>
697
698         * lib/progreloc.c (canonicalize_file_name): New declaration.
699
700 2009-09-19  Eric Blake  <ebb9@byu.net>
701
702         link: fix quoting
703         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
704
705         openat: fix openat bugs on Solaris 9
706         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
707         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
708         * modules/openat (Depends-on): Add open.
709         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
710         * modules/fcntl-h (Makefile.am): Substitute it.
711         * lib/fcntl.in.h (openat): Declare replacement.
712         * doc/posix-functions/openat.texi (openat): Document this.
713
714         openat: move fstatat and unlinkat into correct files
715         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
716         compiled.
717         * lib/openat.c (fstatat, unlinkat): Move...
718         * lib/fstatat.c (fstatat): ...into correct files.
719         * lib/unlinkat.c (unlinkat): Likewise.
720
721         openat: fix unlinkat bugs on Solaris 9
722         * lib/unlinkat.c (unlinkat): New file.
723         * modules/openat (Depends-on): Add unlink.
724         (Files): Distribute it.
725         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
726         trailing slash behavior is broken.
727         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
728         * modules/unistd (Makefile.am): Substitute it.
729         * lib/unistd.in.h (unlinkat): Declare replacement.
730         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
731
732         openat: fix fstatat bugs on Solaris 9
733         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
734         stat.
735         * doc/posix-functions/fstatat.texi (fstatat): Document this.
736
737         test-unlinkat: enhance test, to expose Solaris 9 bug
738         * tests/test-unlink.c (main): Factor guts...
739         * tests/test-unlink.h (test_rmdir_func): ...into new file.
740         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
741         * tests/test-rmdir.c (main): Adjust caller.
742         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
743         (unlinker): New helper function.
744         (rmdirat): Enhance check.
745         * modules/rmdir-tests (Depends-on): Add stdbool.
746         * modules/unlink-tests (Depends-on): Likewise.
747         (Files): Add test-unlink.h.
748         * modules/openat-tests (Files): Likewise.
749         (Depends-on): Add unlinkdir.
750
751         test-fstatat: new test, to expose Solaris 9 bugs
752         * tests/test-stat.c (main): Factor guts...
753         * tests/test-stat.h (test_stat_func): ...into new file.
754         * tests/test-lstat.c (main): Factor guts...
755         * tests/test-lstat.h (test_lstat_func): ...into new file.
756         * tests/test-fstatat.c: New file.
757         * modules/stat-tests (Files): Add test-stat.h.
758         * modules/lstat-tests (Files): Add test-lstat.h.
759         (Depends-on): Add stdbool.
760         * modules/openat-tests (Depends-on): Add pathmax.
761         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
762         (Makefile.am): Run new test.
763
764         remove: new module, for mingw and Solaris 9 bugs
765         * modules/remove: New file.
766         * lib/remove.c: Likewise.
767         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
768         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
769         * modules/stdio (Makefile.am): Use them.
770         * lib/stdio.in.h (remove): Declare replacement.
771         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
772         * doc/posix-functions/remove.texi (remove): Likewise.
773         * modules/remove-tests: New test.
774         * tests/test-remove.c: Likewise.
775
776         unlink: new module, for Solaris 9 bug
777         * modules/unlink: New file.
778         * lib/unlink.c: Likewise.
779         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
780         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
781         * modules/unistd (Makefile.am): Use them.
782         * lib/unistd.in.h (stat): Declare replacement.
783         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
784         * doc/posix-functions/unlink.texi (unlink): Likewise.
785         * modules/unlink-tests: New test.
786         * tests/test-unlink.c: Likewise.
787
788         lstat: fix Solaris 9 bug
789         * lib/lstat.c (lstat): Also check for trailing slash on
790         non-symlink, non-directories.  Use stat module to simplify logic.
791         * doc/posix-functions/lstat.texi (lstat): Document it.
792         * modules/lstat-tests (Depends-on): Add errno, same-inode.
793         (configure.ac): Check for symlink.
794         * tests/test-lstat.c (main): Add more tests.
795
796         stat: add as dependency to other modules
797         * modules/chown (Depends-on): Add stat.
798         * modules/euidaccess (Depends-on): Likewise.
799         * modules/fchdir (Depends-on): Likewise.
800         * modules/isdir (Depends-on): Likewise.
801         * modules/link (Depends-on): Likewise.
802         * modules/lstat (Depends-on): Likewise.
803         * modules/mkdir-p (Depends-on): Likewise.
804         * modules/modechange (Depends-on): Likewise.
805         * modules/open (Depends-on): Likewise.
806         * modules/readlink (Depends-on): Likewise.
807         * modules/same (Depends-on): Likewise.
808
809         stat: fix Solaris 9 bug
810         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
811         slash.
812         * lib/stat.c (rpl_stat): Work around it.
813         * doc/posix-functions/stat.texi (stat): Update documentation.
814
815         stat: new module, for mingw bug
816         * modules/stat: New file.
817         * lib/stat.c: Likewise.
818         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
819         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
820         * modules/sys_stat (Makefile.am): Use them.
821         * lib/sys_stat.in.h (stat): Declare replacement.
822         * lib/openat.c (fstatat): Deal with lstat and stat being function
823         macros.
824         * modules/openat (Depends-on): Add inline.
825         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
826         * doc/posix-functions/stat.texi (stat): Likewise.
827         * modules/stat-tests: New test.
828         * tests/test-stat.c: Likewise.
829
830 2009-09-19  Jim Meyering  <meyering@redhat.com>
831
832         syntax-check: detect unnecessary inclusion of canonicalize.h
833         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
834
835 2009-09-19  Eric Blake  <ebb9@byu.net>
836
837         canonicalize-lgpl: adjust clients to use correct header
838         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
839         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
840         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
841         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
842         * lib/progreloc.c (includes): Likewise.
843
844 2009-09-19  Jim Meyering  <meyering@redhat.com>
845
846         test-posixtm.c: correct a comment
847         * tests/test-posixtm.c: Correct first-line comment.
848         Spotted by Eric Blake.
849
850 2009-09-16  Jim Meyering  <meyering@redhat.com>
851
852         posixtm-tests: make T const-correct; add a test case
853         * tests/test-posixtm.c (T): Declare const.
854         Add a test for -(2^31+1).
855         Remove useless can-succeed-only-in-2002 test.
856
857         posixtm-tests: adjust the sole failing test
858         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
859         expected output matches what mktime now produces.  Cross-checked via
860         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
861
862         posixtm: move #ifdef'd tests into a new module
863         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
864         * tests/test-posixtm.c: ... this new file.
865         * modules/posixtm-tests: New module.
866
867 2009-09-19  Eric Blake  <ebb9@byu.net>
868
869         openat: simplify use of at-func.c
870         * lib/at-func.c (includes): Include prerequisites here, to
871         simplify requirements on client files.
872         * lib/openat-priv.h: Add double-inclusion guard.
873         * lib/faccessat.c (includes): Simplify.
874         * lib/fchmodat.c (includes): Likewise.
875         * lib/fchownat.c (includes): Likewise.
876         * lib/mkdirat.c (includes): Likewise.
877         * lib/mkfifoat.c (includes): Likewise.
878         * lib/symlinkat.c (includes): Likewise.
879
880         openat: allow return of fd 0
881         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
882         * modules/save-cwd (Depends-on): Replace fcntl-safer with
883         unistd-safer.
884         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
885         <fcntl.h>; this module does not leak fds.
886         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
887         must be allowed to return 0, leaving openat_safer to add the
888         safety.
889         (openat_permissive): Avoid writing to just-opened fd 2 if
890         restoring the current directory fails.
891         * lib/openat-die.c (openat_restore_fail): Add comment.
892         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
893         (save_cwd): Guarantee safe fd, but without use of open_safer.
894         * tests/test-openat.c: New test.
895         * modules/openat-tests (Files, Makefile.am): Distribute and build
896         new file.
897
898         relocatable-prog-wrapper: fix build
899         * modules/relocatable-prog-wrapper (Files): Update name of
900         canonicalize m4 file, broken on 2009-09-17.
901         Reported by emad hajjar <aleppos@hotmail.com>.
902
903 2009-09-19  Bruno Haible  <bruno@clisp.org>
904
905         * lib/safe-alloc.h: Use the standard header with GPL copyright.
906         * lib/safe-alloc.c: Likewise.
907         Reported by Ian Beckwith <ianb@erislabs.net>.
908
909 2009-09-18  Bruno Haible  <bruno@clisp.org>
910
911         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
912         Reported by <erobles@sensacd.com.mx>.
913
914 2009-09-17  Eric Blake  <ebb9@byu.net>
915
916         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
917         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
918         slashes when checking if last component is missing.
919         * tests/test-canonicalize.c (main): Test this.
920
921         canonicalize, canonicalize-lgpl: honor // if distinct from /
922         * modules/canonicalize (Files): Add double-slash-root.m4.
923         * modules/canonicalize-lgpl (Files): Likewise.
924         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
925         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
926         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
927         fallback definition.
928         (canonicalize_filename_mode): Use it to protect //.
929         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
930         (__realpath): Likewise.
931         * tests/test-canonicalize.c (main): Test this.
932         * tests/test-canonicalize-lgpl.c (main): Likewise.
933         * modules/canonicalize-tests (Depends-on): Add same-inode.
934         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
935
936         canonicalize-lgpl: fix glibc bug with trailing slash
937         * m4/canonicalize-lgpl.m4: Move contents...
938         * m4/canonicalize.m4: ...here.
939         (gl_CANONICALIZE_LGPL): Factor realpath check...
940         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
941         glibc 2.3.5 bug, fixed 2005-04-27.
942         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
943         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
944         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
945         * modules/canonicalize-lgpl (Files): Manage file rename.
946         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
947         * modules/stdlib (Makefile.am): Substitute witness.
948         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
949         is needed.
950         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
951         replacement is required.
952         * lib/canonicalize.c (canonicalize_file_name): Likewise.
953         * doc/glibc-functions/canonicalize_file_name.texi
954         (canonicalize_file_name): Document this.
955         * doc/posix-functions/realpath.texi (realpath): Likewise.
956
957         canonicalize-lgpl: reject non-directory with trailing slash
958         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
959         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
960         catches failures in glibc 2.3.5.
961         * tests/test-canonicalize.c (main): Likewise.
962
963         canonicalize-lgpl: use native realpath if it works
964         * lib/canonicalize-lgpl.c (realpath): Guard with
965         FUNC_REALPATH_WORKS.
966         * lib/stdlib.in.h (realpath): Make declaration optional based on
967         HAVE_REALPATH.
968         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
969         native realpath works.
970         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
971         * modules/stdlib (Makefile.am): Substitute witness.
972
973         canonicalize, canonicalize-lgpl: use <stdlib.h>
974         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
975         (Include): Mention <stdlib.h>.
976         (configure.ac): Mention functions we provide.
977         * modules/canonicalize (configure.ac): Likewise.
978         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
979         realpath if canonicalize_file_name is missing.
980         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
981         * modules/stdlib (Makefile.am): Substitute witnesses.
982         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
983         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
984         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
985         * NEWS: Document this.
986         * doc/glibc-functions/canonicalize_file_name.texi
987         (canonicalize_file_name): Likewise.
988         * doc/posix-functions/realpath.texi (realpath): Likewise.
989         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
990
991         test-canonicalize: consolidate into single C program
992         * tests/test-canonicalize.sh: Delete; move setup into...
993         * tests/test-canonicalize.c (main): ...the program, making it
994         easier to run in debugger.  Add some tests.
995         * modules/canonicalize-tests (Files): Remove unused file.
996         (Depends-on): Add progname.
997         (configure.ac, Makefile.am): Simplify.
998
999         test-canonicalize-lgpl: consolidate into single C program
1000         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
1001         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
1002         easier to run in debugger.  Add some tests.
1003         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
1004         (configure.ac, Makefile.am): Simplify.
1005
1006         canonicalize: avoid resolvepath
1007         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
1008         unnecessary checks.
1009         * lib/canonicalize.c (includes): Simplify.
1010         (canonicalize_file_name): Drop resolvepath implementation.
1011         * modules/canonicalize (Depends-on): Drop filenamecat.
1012
1013         canonicalize: don't lose errno
1014         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
1015         over calls to free.
1016
1017         canonicalize: simplify errno handling
1018         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
1019         assignment.
1020
1021         canonicalize, canonicalize-lgpl: update module dependencies
1022         * modules/canonicalize (Depends-on): Add extensions, lstat,
1023         pathmax, stdlib.
1024         (Files): Drop pathmax.h.
1025         (configure.ac): Adjust macro name.
1026         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
1027         lstat, stdlib, sys_stat.
1028         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
1029         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
1030         extensions.
1031         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
1032         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
1033         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
1034         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
1035         declaration, if available.
1036         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
1037         we can rely on the readlink module.
1038         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
1039         (includes): Use <unistd.h> unconditionally.
1040
1041 2009-09-17  Eric Blake  <ebb9@byu.net>
1042
1043         maint: make Include sections of modules consistent
1044         * modules/alloca: Use only header name; no need to list #include.
1045         * modules/alloca-opt: Likewise.
1046         * modules/arpa_inet: Likewise.
1047         * modules/canon-host: Likewise.
1048         * modules/configmake: Likewise.
1049         * modules/dirent: Likewise.
1050         * modules/eealloc: Likewise.
1051         * modules/environ: Likewise.
1052         * modules/fchdir: Likewise.
1053         * modules/fcntl: Likewise.
1054         * modules/fcntl-h: Likewise.
1055         * modules/gethrxtime: Likewise.
1056         * modules/gettime: Likewise.
1057         * modules/ignore-value: Likewise.
1058         * modules/inet_ntop: Likewise.
1059         * modules/inet_pton: Likewise.
1060         * modules/inttypes: Likewise.
1061         * modules/isnand-nolibm: Likewise.
1062         * modules/isnanf-nolibm: Likewise.
1063         * modules/mbchar: Likewise.
1064         * modules/mbfile: Likewise.
1065         * modules/mbiter: Likewise.
1066         * modules/mbuiter: Likewise.
1067         * modules/netdb: Likewise.
1068         * modules/netinet_in: Likewise.
1069         * modules/nproc: Likewise.
1070         * modules/pagealign_alloc: Likewise.
1071         * modules/poll: Likewise.
1072         * modules/printf-frexp: Likewise.
1073         * modules/pthread: Likewise.
1074         * modules/putenv: Likewise.
1075         * modules/random_r: Likewise.
1076         * modules/relocatable-prog: Likewise.
1077         * modules/search: Likewise.
1078         * modules/select: Likewise.
1079         * modules/selinux-h: Likewise.
1080         * modules/settime: Likewise.
1081         * modules/signal: Likewise.
1082         * modules/size_max: Likewise.
1083         * modules/socklen: Likewise.
1084         * modules/ssize_t: Likewise.
1085         * modules/stdarg: Likewise.
1086         * modules/stdbool: Likewise.
1087         * modules/stddef: Likewise.
1088         * modules/stdint: Likewise.
1089         * modules/stdio: Likewise.
1090         * modules/stdlib: Likewise.
1091         * modules/string: Likewise.
1092         * modules/strings: Likewise.
1093         * modules/sys_file: Likewise.
1094         * modules/sys_ioctl: Likewise.
1095         * modules/sys_select: Likewise.
1096         * modules/sys_socket: Likewise.
1097         * modules/sys_stat: Likewise.
1098         * modules/sys_time: Likewise.
1099         * modules/sys_times: Likewise.
1100         * modules/sys_utsname: Likewise.
1101         * modules/sys_wait: Likewise.
1102         * modules/sysexits: Likewise.
1103         * modules/time: Likewise.
1104         * modules/times: Likewise.
1105         * modules/tmpfile: Likewise.
1106         * modules/trim: Likewise.
1107         * modules/unistd: Likewise.
1108         * modules/wchar: Likewise.
1109         * modules/wctype: Likewise.
1110
1111 2009-09-17  Bruno Haible  <bruno@clisp.org>
1112
1113         Make getdate.y compile on QNX and NetBSD 5 / i386.
1114         * m4/getdate.m4 (gl_GETDATE): Conditionally define
1115         TIME_T_FITS_IN_LONG_INT.
1116         * lib/getdate.y (long_time_t): New type.
1117         (relative_time): Change type of 'seconds' field to long_time_t.
1118         (get_date): Update types of local variables. Check against overflow
1119         during conversion from long_time_t to time_t.
1120         Reported by Matt Kraai <kraai@ftbfs.org>
1121         and Hasso Tepper <hasso@netbsd.org>.
1122
1123 2009-09-17  Bruno Haible  <bruno@clisp.org>
1124
1125         * modules/COPYING: Update copyright years.
1126         * modules/README: Likeiwse.
1127         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
1128         Reported by Ian Beckwith <ianb@erislabs.net>.
1129
1130 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
1131
1132         * users.txt: Update references for gnuit package.
1133
1134 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
1135
1136         * m4/getdelim.m4: Fix typo in copyright line.
1137
1138 2009-09-17  Bruno Haible  <bruno@clisp.org>
1139
1140         * lib/atoll.c: Use the standard header with GPL copyright.
1141         * lib/argz.in.h: Likewise.
1142         * lib/glob.c: Likewise.
1143         * lib/glob-libc.h: Likewise.
1144         * lib/random_r.c: Likewise.
1145         * lib/siglist.h: Likewise.
1146         * lib/strsignal.c: Likewise.
1147         Reported by Ian Beckwith <ianb@erislabs.net>.
1148
1149 2009-09-17  Eric Blake  <ebb9@byu.net>
1150
1151         rmdir: ensure correct dependency order
1152         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
1153
1154 2009-09-17  Bruno Haible  <bruno@clisp.org>
1155
1156         Disable assertion that fails on NetBSD 5 / i386.
1157         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
1158         Reported by Sam Steingold <sds@gnu.org>
1159         and Hasso Tepper <hasso@netbsd.org>.
1160
1161 2009-09-16  Eric Blake  <ebb9@byu.net>
1162
1163         unlinkdir: port to mingw
1164         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
1165         on which no one can unlink a directory.
1166
1167         stdlib: sort witness names
1168         * modules/stdlib (Makefile.am): Sort replacements.
1169         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
1170         * lib/stdlib.in.h: Likewise.
1171
1172         parse-duration-tests: avoid link failure
1173         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
1174         LIBINTL.
1175         Reported by Tom G. Christensen.
1176
1177         openat-tests: ensure unlinkat behaves like rmdir
1178         * tests/test-rmdir.c (main): Factor guts...
1179         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
1180         * modules/rmdir-tests (Files): Ship new file.
1181         * modules/openat-tests: New test.
1182         * tests/test-unlinkat.c: Likewise.
1183
1184         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
1185         * modules/rmdir-errno (Status, Notice): Now obsolete.
1186
1187         rmdir: work around cygwin 1.5.x and mingw bugs
1188         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
1189         * lib/rmdir.c (rmdir): Work around it.
1190         * modules/rmdir (Status, Notice): No longer obsolete.
1191         (Files): Add dos.m4.
1192         (Depends-on): Add unistd.
1193         (configure.ac): Set witnesses.
1194         (License): Relax to LGPLv2+.
1195         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
1196         * modules/unistd (Makefile.am): Substitute witnesses.
1197         * lib/unistd.in.h (rmdir): Declare replacement.
1198         * doc/posix-functions/rmdir.texi (rmdir): Document this.
1199         * modules/rmdir-tests: New tests.
1200         * tests/test-rmdir.c: Likewise.
1201
1202 2009-09-15  Eric Blake  <ebb9@byu.net>
1203
1204         fchdir: improve use of replacement functions
1205         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
1206         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
1207         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
1208         REPLACE_CLOSEDIR.
1209         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
1210         * modules/sys_stat (Makefile.am): Substitute correct witness.
1211         * modules/dirent (Makefile.am): Likewise.
1212         * modules/unistd (Makefile.am): Likewise.
1213         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
1214         * lib/unistd.in.h (dup): Likewise.
1215         * lib/sys_stat.in.h (fstat): Likewise.
1216
1217         maint: ignore gnulib-tool temp files
1218         * .gitignore: Ignore files created during gnulib-tool --test.
1219
1220 2009-09-13  Jim Meyering  <meyering@redhat.com>
1221
1222         posixtm: don't reject a time that specify "60" as the number of seconds
1223         * lib/posixtm.c (posixtime): The code to reject invalid dates
1224         would also reject a time specified with the .60 suffix.
1225         But POSIX allows that, in order to accommodate leap seconds.
1226         So don't reject it.
1227         (main): Adjust tests accordingly.
1228         * modules/posixtm (Depends-on): Add stpcpy.
1229
1230 2009-09-11  Jim Meyering  <meyering@redhat.com>
1231
1232         announce-gen: include [$release_type] in emitted Subject:
1233         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
1234         e.g., [stable] in the emitted Subject: line.
1235
1236 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1237
1238         Remove obsolete macros from several modules.
1239         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
1240         obsolete Autoconf macros with their modern counterparts.
1241         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
1242         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
1243         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
1244         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
1245         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
1246         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
1247         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
1248         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
1249         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
1250         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
1251         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
1252         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
1253         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
1254         * m4/sockets.m4 (gl_SOCKETS): Likewise.
1255         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
1256         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
1257         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
1258         * m4/time_r.m4 (gl_TIME_R): Likewise.
1259         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
1260         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
1261         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
1262
1263         Fix copyright header in build-aux scripts.
1264         * build-aux/git-version-gen: Fix copyright header to match GPLv3
1265         recommendation.
1266         * build-aux/ncftpput-ftp: Likewise.
1267         * build-aux/update-copyright: Likewise.
1268
1269 2009-09-09  Eric Blake  <ebb9@byu.net>
1270
1271         test-link: allow Linux choice of errno
1272         * tests/test-link.c (main): Relax test for alternate error.
1273
1274         strndup: fix improper m4 caching
1275         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
1276         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
1277         (gl_PREREQ_STRNDUP): Delete.
1278         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
1279         * modules/string (Makefile.am): Substitute it.
1280         * lib/string.in.h (strndup): Modernize prototype.
1281
1282         getcwd: port to mingw
1283         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
1284         different from the POSIX assumptions made throughout the getcwd
1285         module; fortunately, the mingw getcwd does not need replacement.
1286         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
1287         * modules/getcwd-tests: New test.
1288         * tests/test-getcwd.c: Likewise.
1289
1290         link: fix platform bugs
1291         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
1292         * lib/link.c (link): Work around them.  Fix related mingw bug.
1293         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
1294         * modules/unistd (Makefile.am): Substitute it.
1295         * lib/unistd.in.h (link): Declare replacement.
1296         * doc/posix-functions/link.texi (link): Document this.
1297         * modules/link (Depends-on): Add strdup-posix, sys_stat.
1298
1299         test-link: consolidate into single C program, test more cases
1300         * tests/test-link.sh: Delete.
1301         * tests/test-link.c: Test more error conditions.  Exposes bugs on
1302         at least Cygwin and Solaris.
1303         * modules/link-tests (Files): Remove unused file.
1304         (Depends-on): Add errno, sys_stat.
1305         (Makefile.am): Simplify.
1306
1307 2009-09-08  Bruno Haible  <bruno@clisp.org>
1308
1309         Work around towlower, towupper bug on mingw.
1310         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
1311         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
1312         * doc/posix-functions/towlower.texi: Mention the mingw bug.
1313         * doc/posix-functions/towupper.texi: Likewise.
1314         Reported by Eric Blake.
1315
1316 2009-09-08  Jim Meyering  <meyering@redhat.com>
1317
1318         build: don't try to run autoheader if we don't use it
1319         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
1320         is not used in configure.ac.
1321
1322 2009-09-08  Eric Blake  <ebb9@byu.net>
1323
1324         euidaccess: fix compilation error
1325         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
1326
1327         rawmemchr: relax license
1328         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
1329         okay.
1330         Reported by Jim Meyering.
1331
1332         mkfifoat: new module
1333         * modules/mkfifoat: New file.
1334         * lib/mkfifoat.c: Likewise.
1335         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
1336         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
1337         * modules/sys_stat (Makefile.am): Use them.
1338         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
1339         * MODULES.html.sh (File system functions): Mention module.
1340         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
1341         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
1342         * modules/mkfifoat-tests: New test.
1343         * tests/test-mkfifoat.c: Likewise.
1344
1345         strchrnul: relax license
1346         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
1347         okay.
1348         Reported by Jim Meyering.
1349
1350 2009-09-08  Eric Blake  <ebb9@byu.net>
1351
1352         fstatat: fix compilation on Solaris
1353         * lib/fstatat.c (includes): Add fcntl.h.
1354         Reported by Pádraig Brady.
1355
1356 2009-09-07  Eric Blake  <ebb9@byu.net>
1357
1358         rename: modernize replacement
1359         * modules/rename (Depends-on): Add stdio.
1360         (configure.ac): Declare witness.
1361         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
1362         stdio take care of replacement.
1363         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
1364         * modules/stdio (Makefile.am): Substitute them.
1365         * lib/stdio.in.h (rename): Declare replacement.
1366         * lib/rename.c (includes): Allow cross-compilation to non-windows
1367         machines.
1368         * doc/posix-functions/rename.texi (rename): Improve
1369         documentation.
1370
1371         stdio: sort witness names
1372         * modules/stdio (Makefile.am): Sort replacements.
1373         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
1374         * lib/stdio.in.h: Likewise.
1375
1376         getcwd: minor cleanups
1377         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
1378         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
1379
1380         openat: provide more convenience names
1381         * modules/faccessat (configure.ac): Add C witness.
1382         * lib/unistd.in.h (readlinkat): Fix typo.
1383         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
1384         convenience wrappers.
1385         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
1386         wrappers in syntax checks.
1387
1388 2009-09-06  Eric Blake  <ebb9@byu.net>
1389
1390         doc: fix comments in recent patches
1391         * lib/faccessat.c: Mention correct function.
1392         * lib/fchmodat.c: Likewise.
1393         * lib/fchownat.c: Likewise.
1394         * lib/symlinkat.c: Likewise.
1395         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
1396         constants.
1397
1398         faccessat, symlinkat: continue cleanup of previous patch
1399         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
1400         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
1401         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
1402         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
1403         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
1404         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
1405         set.
1406
1407 2009-09-06  Bruno Haible  <bruno@clisp.org>
1408
1409         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
1410         (fstatat): Declare if GNULIB_FSTATAT is set.
1411         (mkdirat): Declare if GNULIB_MKDIRAT is set.
1412         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
1413         (unlinkat): Declare if GNULIB_UNLINKAT is set.
1414         * modules/fcntl-h (Files): Remove m4/openat.m4.
1415         * modules/sys_stat (Files): Remove m4/openat.m4.
1416         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
1417         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
1418         * modules/unistd (Files): Remove m4/openat.m4.
1419         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
1420         GNULIB_OPENAT.
1421         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
1422         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
1423         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
1424         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
1425         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
1426         gl_OPENAT_DEFAULTS.
1427         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
1428         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
1429         Don't require gl_OPENAT_DEFAULTS.
1430         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
1431         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
1432         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
1433         (gl_OPENAT_DEFAULTS): Remove macro.
1434
1435 2009-09-06  Bruno Haible  <bruno@clisp.org>
1436
1437         * modules/openat (configure.ac): Remove unneeded witness.
1438
1439 2009-09-06  Bruno Haible  <bruno@clisp.org>
1440
1441         Set errno to ENOSYS when a function is entirely unsupported.
1442         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
1443         EOPNOTSUPP.
1444         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
1445         * modules/chown (Depends-on): Remove errno.
1446
1447 2009-09-06  Bruno Haible  <bruno@clisp.org>
1448
1449         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
1450
1451 2009-09-06  Bruno Haible  <bruno@clisp.org>
1452
1453         * lib/sys_stat.in.h: Fix preprocessor command indentation.
1454
1455 2009-09-06  Ben Pfaff  <blp@gnu.org>
1456             Bruno Haible  <bruno@clisp.org>
1457
1458         Work around a glibc bug in strtok_r.
1459         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
1460         Undefine if UNDEFINE_STRTOK_R is set.
1461         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
1462         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1463         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
1464         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
1465         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
1466         UNDEFINE_STRTOK_R.
1467         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
1468
1469 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
1470
1471         exclude: minor fix
1472         * lib/exclude.c: Include wctype.h
1473
1474 2009-09-06  Akim Demaille  <demaille@gostai.com>
1475
1476         bootstrap: improve error message
1477         * build-aux/bootstrap (find_tool): Upon failure, report the list
1478         of candidates.
1479         Honor the initial value of the envvar.
1480
1481 2009-09-05  Eric Blake  <ebb9@byu.net>
1482
1483         symlinkat: new module
1484         * modules/symlinkat: New file.
1485         * lib/symlinkat.c: Likewise.
1486         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
1487         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
1488         * modules/unistd (Makefile.am): Use them.
1489         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
1490         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
1491         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
1492         * MODULES.html.sh (File system functions): Mention module.
1493         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
1494         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
1495         * modules/symlinkat-tests: New test.
1496         * tests/test-symlinkat.c: Likewise.
1497
1498         test-openat-safer: add more checks
1499         * tests/test-openat-safer.c (main): Check more code paths.
1500
1501 2009-09-05  Jim Meyering  <meyering@redhat.com>
1502
1503         syntax-check: detect unnecessary inclusion of openat.h
1504         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
1505
1506 2009-09-05  Bruno Haible  <bruno@clisp.org>
1507
1508         Support towlower, towupper.
1509         * doc/posix-functions/towlower.texi: Mention module wctype.
1510         * doc/posix-functions/towupper.texi: Likewise.
1511         * lib/wctype.in.h (towlower, towupper): New functions.
1512         * tests/test-wctype.c: Include stdio.h, stdlib.h.
1513         (ASSERT): New macro.
1514         (e): New variable.
1515         (main): Test also towlower, towupper. Test WEOF argument.
1516         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
1517
1518 2009-09-05  Bruno Haible  <bruno@clisp.org>
1519
1520         Fix conversion behaviour when the input is invalid.
1521         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
1522         mark occurring in first pass of indirect conversion.
1523         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
1524         input.
1525         Found by clang's static analyzer.
1526
1527 2009-09-05  Bruno Haible  <bruno@clisp.org>
1528
1529         * tests/test-striconveh.c (main): Test indirect conversion on platforms
1530         where direct conversion is possible.
1531
1532 2009-09-04  Eric Blake  <ebb9@byu.net>
1533
1534         openat: fail with ENOENT on empty name
1535         * lib/openat-proc.c (openat_proc_name): Special-case the empty
1536         buffer.
1537
1538         link-follow: fix logic bug in prior patch
1539         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
1540         reversed sense of yes and no in prior patch.  Avoid confusing
1541         compilation failure with desired semantics.
1542
1543         link-follow: accomodate mingw and cross-compilation
1544         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
1545         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
1546         cross-compilation results to -1, to make linkat easier to
1547         implement when cross-compiling.  Trivially support mingw.
1548         * modules/link-follow (configure.ac): Call new name.
1549         * NEWS: Mention this.
1550
1551 2009-09-03  Eric Blake  <ebb9@byu.net>
1552
1553         faccessat: compile replacement
1554         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
1555         needed.
1556
1557         fts: fix compilation error
1558         * lib/fts.c (includes): Re-add "openat.h", for
1559         openat_needs_fchdir.
1560
1561         faccessat: new module
1562         * modules/faccessat: New file.
1563         * lib/faccessat.c: Likewise.
1564         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
1565         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
1566         * modules/unistd (Makefile.am): Use it.
1567         * lib/unistd.in.h (faccessat): Declare it.
1568         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
1569         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
1570         * MODULES.html.sh (File system functions): Mention it.
1571         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
1572         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
1573
1574         euidaccess: prefer POSIX over non-standard implementation
1575         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
1576         * lib/euidaccess.c (euidaccess): Use it if available.
1577
1578         openat: make template easier to use
1579         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
1580         AT_FUNC_F2 to be undefined.
1581         (VALIDATE_FLAG): New macro; use it to reject bad flags.
1582         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
1583         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
1584         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
1585         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
1586         Likewise.
1587         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
1588         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
1589         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
1590         Likewise.
1591
1592         openat: declare in POSIX headers
1593         * NEWS: Mention this.
1594         * modules/openat (configure.ac): Declare witnesses.
1595         (Depends-on): Add fcntl-h, sys_stat, unistd.
1596         (Include): Mention correct headers.
1597         * modules/fcntl-h (Depends-on): Add link-warning.
1598         (Files): Add openat.m4.
1599         (Makefile.am): Substitute witnesses.
1600         * modules/sys_stat (Files, Makefile.am): Likewise.
1601         * modules/unistd (Files, Makefile.am): Likewise.
1602         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
1603         (gl_OPENAT_DEFAULTS): New macro.
1604         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
1605         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
1606         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
1607         (SYS_STAT_H): Remove unused variable.
1608         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
1609         * lib/fcntl--.h (includes): Remove unneeded header.
1610         * lib/openat-safer.c (includes): Likewise.
1611         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
1612         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
1613         appropriate headers.
1614         (__OPENAT_PREFIX): Delete.
1615         * lib/fcntl.in.h (openat): Provide declaration.
1616         (AT_FDCWD): Fix Solaris bug.
1617         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
1618         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
1619         * lib/fchmodat.c (includes):  Adjust to find declaration.
1620         * lib/fchownat.c (includes): Likewise.
1621         * lib/mkdirat.c (includes): Likewise.
1622         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
1623         still visible.
1624
1625 2009-09-02  Eric Blake  <ebb9@byu.net>
1626
1627         errno: use consistently
1628         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
1629         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
1630         * lib/canonicalize.c (ELOOP): Likewise.
1631         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
1632         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
1633         * lib/lchown.c (EOPNOTSUPP): Likewise.
1634         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
1635         * lib/savewd.c (ESTALE): Likewise.
1636         * lib/settime.c (ENOSYS): Likewise.
1637         * lib/utimens.c (ENOSYS): Likewise.
1638         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
1639         * lib/chdir-safer.c (ELOOP): Likewise.
1640         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
1641         * modules/c-stack (Depends-on): Add errno.
1642         * modules/canonicalize (Depends-on): Likewise.
1643         * modules/chdir-safer (Depends-on): Likewise.
1644         * modules/fdopendir (Depends-on): Likewise.
1645         * modules/inet_ntop (Depends-on): Likewise.
1646         * modules/inet_pton (Depends-on): Likewise.
1647         * modules/lchown (Depends-on): Likewise.
1648         * modules/openat (Depends-on): Likewise.
1649         * modules/savewd (Depends-on): Likewise.
1650         * modules/settime (Depends-on): Likewise.
1651         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
1652
1653         fts: avoid leaking fds
1654         * modules/fts (Depends-on): Add cloexec.
1655         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
1656         flag.
1657
1658         fts: make directory fds more robust
1659         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
1660         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
1661
1662         backupfile, chdir-long, fts, savedir: make safer
1663         * lib/backupfile.c (includes): Use "dirent--.h", since
1664         numbered_backup can write to stderr during readdir.
1665         * lib/savedir.c (includes): Likewise.
1666         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
1667         emulation can write to stderr on failure.
1668         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
1669         * lib/getcwd.c: Document why opendir_safer is unused.
1670         * lib/glob.c: Likewise.
1671         * lib/scandir.c: Likewise.
1672         * lib/openat-proc.c: Likewise, for open_safer.
1673         * modules/backupfile (Depends-on): Add dirent-safer.
1674         * modules/savedir (Depends-on): Likewise.
1675         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
1676         * modules/chdir-long (Depends-on): Add openat-safer.
1677
1678         openat-safer: new module
1679         * modules/openat-safer: New file.
1680         * lib/openat-safer.c: Likewise.
1681         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
1682         * lib/fcntl-safer.h (openat_safer): Declare.
1683         * lib/fcntl--.h (openat): Override.
1684         * MODULES.html.sh (File descriptor based I/O): Mention it.
1685         * lib/openat.h: Add double-inclusion guards.
1686         * lib/openat.c (includes): Only include "fcntl-safer.h", not
1687         "fcntl--.h", so we can implement openat.
1688         * modules/openat-safer-tests: New test.
1689         * tests/test-openat-safer.c: New file.
1690
1691         dirent-safer: new module
1692         * modules/dirent-safer: New file.
1693         * lib/dirent--.h: Likewise.
1694         * lib/dirent-safer.h: Likewise.
1695         * lib/opendir-safer.c: Likewise.
1696         * m4/dirent-safer.m4: Likewise.
1697         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
1698         * modules/dirent-safer-tests: New test.
1699         * tests/test-dirent-safer.c: New file.
1700         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
1701
1702         fdopendir: optimize on mingw
1703         * lib/unistd.in.h (_gl_directory_name): New prototype.
1704         * lib/fchdir.c (_gl_directory_name): Implement it.
1705         (fchdir): Use it to simplify implementation.
1706         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
1707         fchdir, when available, to avoid calling [f]chdir().
1708
1709         fdopendir: split into its own module
1710         * lib/openat.c (fdopendir): Move...
1711         * lib/fdopendir.c: ...into new file.
1712         * modules/fdopendir: New module.
1713         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
1714         * modules/openat (Depends-on): Add fdopendir.
1715         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
1716         fdopendir here.
1717         * modules/savedir (Depends-on): Only need fdopendir, not full
1718         openat.
1719         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
1720         * lib/openat.h (fdopendir): Drop prototype.
1721         * lib/dirent.in.h (fdopendir): Provide prototype.
1722         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
1723         * modules/dirent (Makefile.am): Substitute them.
1724         * MODULES.html.sh (File system functions): Mention it.
1725         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
1726         * modules/fdopendir-tests: New file.
1727         * tests/test-fdopendir.c: Likewise.
1728
1729         fchdir: use more consistent macro convention
1730         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
1731         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
1732         REPLACE_FCHDIR, rather than relying on config.h macros.
1733         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
1734         inside a single make-time REPLACE_FCHDIR block, rather than using
1735         the config.h FCHDIR_REPLACEMENT.
1736         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
1737         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
1738         Manage fstat replacement.
1739         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
1740         REPLACE_FCHDIR.
1741         * modules/sys_stat (Files): Add m4/unistd_h.m4.
1742         (Makefile.am): Substitute REPLACE_FCHDIR.
1743         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
1744         FCHDIR_REPLACEMENT.
1745         * lib/dup-safer.c (dup_safer): Likewise.
1746         * lib/dup2.c (rpl_dup2): Likewise.
1747         * lib/dup3.c (rpl_dup3): Likewise.
1748         * lib/open.c (rpl_open): Likewise.
1749
1750         fchdir: simplify error handling, and support dup3
1751         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
1752         stdbool, malloc-posix, realloc-posix.
1753         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
1754         (ensure_dirs_slot): Return false on allocation failure.
1755         (rpl_dup2): Delete.
1756         (_gl_register_dup): New function.
1757         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
1758         (_gl_register_fd): Close fd on allocation failure.
1759         * lib/fcntl.in.h (_gl_register_fd): Update signature.
1760         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
1761         prototype.
1762         (rpl_dup2_fchdir): Delete prototype.
1763         * lib/open.c (open): Update caller.
1764         * lib/dup2.c (dup2): Track fchdir metadata.
1765         * lib/dup3.c (dup3): Likewise.
1766         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
1767         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
1768
1769 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1770
1771         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
1772         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
1773         don't pass arguments to AC_OUTPUT.
1774
1775 2009-09-02  Bruno Haible  <bruno@clisp.org>
1776
1777         * modules/mkdtemp (License): Relicense under LGPLv2+.
1778         Reported by Paolo Bonzini.
1779
1780 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1781
1782         Replace uses of obsolete autoconf macros in Jim's modules.
1783         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
1784         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
1785         can evoke a warning from autoconf when run with -Wobsolete
1786         enabled.  They were declared obsolete for good reasons (see
1787         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
1788         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
1789         should not continue using the deprecated macros.
1790         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
1791         obsolete Autoconf macros with modern counterparts.
1792         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
1793         * m4/dos.m4 (gl_AC_DOS): Likewise.
1794         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
1795         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
1796         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
1797         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
1798         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
1799         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
1800         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
1801         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
1802         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
1803         Likewise.
1804         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
1805         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
1806         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
1807         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
1808         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
1809         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
1810
1811 2009-09-01  Eric Blake  <ebb9@byu.net>
1812
1813         fchdir: fix off-by-one bug in previous patch
1814         * lib/fchdir.c (rpl_fstat): Use correct bounds.
1815         (_gl_unregister_fd): Delete useless if.
1816
1817 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
1818
1819         maint.mk: sort the list of syntax-check rules
1820         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
1821         easier to get a sense of progress when the rules are run sequentially
1822         and take a long time.
1823
1824 2009-09-01  Simon Josefsson  <simon@josefsson.org>
1825
1826         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
1827         * modules/netinet_in: Likewise.
1828         * modules/sys_file: Likewise.
1829         * modules/sys_ioctl: Likewise.
1830         * modules/sys_select: Likewise.
1831         * modules/sys_socket: Likewise.
1832         * modules/sys_stat: Likewise.
1833         * modules/sys_time: Likewise.
1834         * modules/sys_times: Likewise.
1835         * modules/sys_utsname: Likewise.
1836         * modules/sys_wait: Likewise.
1837
1838 2009-09-01  Jim Meyering  <meyering@redhat.com>
1839
1840         fts: help ensure that return values are not ignored
1841         * lib/fts_.h (__GNUC_PREREQ): Define.
1842         (__attribute_warn_unused_result__): Define.
1843         (fts_children, fts_close, fts_open, fts_read): Declare with
1844         __attribute_warn_unused_result__.
1845
1846         fts: fts_close now fails also when closing a dir file descriptor fails
1847         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
1848         and propagate to caller, along with errno.
1849
1850         announce-gen: correct formatting in --help output
1851         * build-aux/announce-gen (usage): Move the one-line description in
1852         --help output "up", to where it belongs, just after Usage:.
1853
1854 2009-08-31  Eric Blake  <ebb9@byu.net>
1855
1856         fchdir: port to mingw
1857         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
1858         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
1859         opened, then use a substitute.
1860         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
1861         replacement.
1862         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
1863         (_gl_register_fd): No need to check stat if open already filters
1864         all directories.
1865         (fchdir): Fix error condition to match POSIX.
1866         * modules/fchdir (Depends-on): Add sys_stat.
1867         * doc/posix-functions/open.texi (open): Document the limitation.
1868         * modules/fchdir-tests: New file.
1869         * tests/test-fchdir.c: Likewise.
1870
1871         canonicalize: allow cross-testing from cygwin to mingw
1872         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
1873         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
1874         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
1875         Likewise.
1876         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
1877         target does not support symlinks.
1878         * tests/test-canonicalize-lgpl.sh: Likewise.
1879
1880         chown: avoid compilation warning on mingw
1881         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
1882         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
1883         mingw.
1884         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
1885         * modules/chown (Depends-on): Add errno.
1886
1887 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
1888
1889         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
1890         command.
1891
1892 2009-08-31  Jim Meyering  <meyering@redhat.com>
1893
1894         canonicalize: remove useless initialization
1895         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
1896         initialization of local, "end".
1897
1898 2009-08-30  Bruno Haible  <bruno@clisp.org>
1899
1900         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
1901         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
1902         ENOSYS.
1903
1904 2009-08-30  Bruno Haible  <bruno@clisp.org>
1905
1906         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
1907         /usr/xpg4/bin/tr when it exists.
1908         * tests/test-pipe-filter-gi1.sh: Likewise.
1909
1910 2009-08-30  Bruno Haible  <bruno@clisp.org>
1911
1912         Work around deficient /usr/bin/id program on Solaris.
1913         * tests/test-file-has-acl.sh (ID): New variable.
1914         * tests/test-set-mode-acl.sh (ID): Likewise.
1915         * tests/test-copy-acl.sh (ID): Likewise.
1916         * tests/test-copy-file.sh (ID): Likewise.
1917
1918 2009-08-30  Bruno Haible  <bruno@clisp.org>
1919
1920         New module 'xstriconveh'.
1921         * lib/xstriconveh.h: New file.
1922         * lib/xstriconveh.c: New file.
1923         * modules/xstriconveh: New file.
1924
1925 2009-08-30  Bruno Haible  <bruno@clisp.org>
1926
1927         Make it easier to use mem_cd_iconveh.
1928         * lib/striconveh.h (iconveh_t): New type.
1929         (iconveh_open, iconveh_close): New declarations.
1930         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
1931         with a single 'const iconveh_t *' argument.
1932         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
1933         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
1934         with a single 'const iconveh_t *' argument.
1935         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
1936         * tests/test-striconveh.c (main): Update.
1937         * NEWS: Mention the change.
1938
1939 2009-08-30  Bruno Haible  <bruno@clisp.org>
1940
1941         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
1942         problem.
1943
1944 2009-08-30  Bruno Haible  <bruno@clisp.org>
1945
1946         Work around iconv_open problem on Solaris.
1947         * lib/iconv_open-solaris.gperf: New file.
1948         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
1949         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
1950         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
1951         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
1952         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
1953         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
1954
1955 2009-08-29  Jim Meyering  <meyering@redhat.com>
1956
1957         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
1958         * top/maint.mk (cvs-check): Remove target; it was just an alias
1959         to the better-named vc-diff-check.
1960         (maintainer-distcheck): Remove rule.  It was used only from
1961         the (alpha/beta/major) target, and all of its commands but one
1962         were coreutils-specific.
1963         (vc-dist): Remove rule.
1964         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
1965         Run vc-diff-check, not vc-dist.
1966         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
1967
1968 2009-08-27  Bruno Haible  <bruno@clisp.org>
1969
1970         * tests/test-bitrotate.c (main): Remove test that uses a shift count
1971         of 0.
1972
1973 2009-08-27  Bruno Haible  <bruno@clisp.org>
1974
1975         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
1976         compilers.
1977         * doc/func.texi: Document the SunPRO C bug.
1978
1979 2009-08-27  Bruno Haible  <bruno@clisp.org>
1980
1981         Fix link error on Solaris.
1982         * tests/test-parse-duration.c (xstrdup): Remove function.
1983
1984 2009-08-26  Pádraig Brady  <P@draigbrady.com>
1985
1986         ignore-value: handle pointer types, too
1987         * lib/ignore-value.h (__attribute__): Remove definition.
1988         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
1989         of a more concise and more-often effective "(void) i" statement.
1990         (ignore_ptr): New function to suppress warnings from functions that
1991         return pointers, and to make it explicit that one function doesn't
1992         handle all cases.
1993
1994 2009-08-25  Bruno Haible  <bruno@clisp.org>
1995
1996         dup2: work around a Linux bug.
1997         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
1998         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
1999         * doc/posix-functions/dup2.texi: Mention the Linux bug.
2000         Reported by Simon Josefsson.
2001
2002 2009-08-25  Jim Meyering  <meyering@redhat.com>
2003
2004         libguestfs uses gnulib
2005         * users.txt: Add libguestfs.
2006
2007 2009-08-24  Eric Blake  <ebb9@byu.net>
2008
2009         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
2010         * lib/pipe2.c (includes): Add binary-io.h.
2011         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
2012
2013 2009-08-24  Bruno Haible  <bruno@clisp.org>
2014
2015         Tolerate declared but missing accept4 syscall.
2016         * lib/accept4.c (accept4): Invoke original accept4 function first, if
2017         available.
2018         * lib/sys_socket.in.h (accept4): If the function is already present,
2019         override it.
2020         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
2021         * modules/accept4 (Makefile.am): Compile accept4.c always.
2022         Reported by Paolo Bonzini and Eric Blake.
2023
2024 2009-08-23  Bruno Haible  <bruno@clisp.org>
2025
2026         New module 'accept4'.
2027         * lib/sys_socket.in.h (accept4): New declaration.
2028         * lib/accept4.c: New file.
2029         * m4/accept4.m4: New file.
2030         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
2031         GNULIB_ACCEPT4, HAVE_ACCEPT4.
2032         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
2033         HAVE_ACCEPT4.
2034         * modules/accept4: New file.
2035         * doc/glibc-functions/accept4.texi: Mention the new module.
2036
2037 2009-08-24  Jim Meyering  <meyering@redhat.com>
2038
2039         progname: also set global program_invocation_name, when possible
2040         Before this change, a libtool-enabled program that calls glibc's
2041         error function would report the program name as
2042         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
2043         * modules/progname (configure.ac): Check for a declaration of
2044         program_invocation_name.
2045         * lib/progname.c:  Include <errno.h>.
2046         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
2047         Set program_invocation_name.
2048
2049 2009-08-23  Bruno Haible  <bruno@clisp.org>
2050
2051         * lib/dup3.c: Include <string.h>.
2052
2053 2009-08-23  Bruno Haible  <bruno@clisp.org>
2054
2055         * lib/dup3.c (dup3): Test only once whether the system actually exists.
2056         * lib/pipe2.c (pipe2): Likewise.
2057         Suggested by Eric Blake.
2058
2059 2009-08-23  Bruno Haible  <bruno@clisp.org>
2060
2061         Tolerate declared but missing dup3 syscall.
2062         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
2063         * lib/unistd.in.h (dup3): If the function is already present,
2064         override it.
2065         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
2066         * modules/dup3 (Makefile.am): Compile dup3.c always.
2067         Reported by Paolo Bonzini.
2068
2069 2009-08-23  Bruno Haible  <bruno@clisp.org>
2070
2071         Tolerate declared but missing pipe2 syscall.
2072         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
2073         available.
2074         * lib/unistd.in.h (pipe2): If the function is already present,
2075         override it.
2076         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
2077         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
2078         Reported by Paolo Bonzini.
2079
2080 2009-08-23  Bruno Haible  <bruno@clisp.org>
2081
2082         * lib/pipe2.c (pipe2): Move #ifs inside function.
2083
2084 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
2085
2086         quotearg: document limitations of quote_these_too
2087         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
2088         those limitations are created.
2089         * lib/quotearg.h (set_char_quoting): Document that digits and
2090         letters that are special after backslash are not permitted.
2091         (quotearg_char): Cross-reference set_char_quoting documentation.
2092
2093 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
2094
2095         quotearg: implement custom_quoting_style
2096         * lib/quotearg.c: (struct quoting_options): Add left_quote and
2097         right_quote fields.
2098         (set_custom_quoting): New public function.
2099         (quotearg_buffer_restyled): Add left_quote and right_quote
2100         arguments, handle them very much like locale quoting, and update
2101         all uses.
2102         (quotearg_n_custom): New public function.
2103         (quotearg_n_custom_mem): New public function.
2104         (quotearg_custom): New public function.
2105         (quotearg_custom_mem): New public function.
2106         * lib/quotearg.h: Prototype and document new public functions.
2107         (enum quoting_style): For escape_quoting_style and
2108         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
2109         ignored even though they're otherwise like c_quoting_style.
2110         Add custom_quoting_style member and document with comparison to
2111         clocale_quoting_style.
2112         * tests/test-quotearg.c (custom_quotes): New array.
2113         (custom_results): New array.
2114         (main): Extend to test custom quoting.
2115
2116 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
2117
2118         quotearg: fix right quote escaping when it's in quote_these_too
2119         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
2120         quote, be sure to prepend only one backslash.
2121         * tests/test-quotearg.c (use_quote_double_quotes): New function.
2122         (main): Test it.
2123
2124 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
2125
2126         quotearg-tests: test escaping of embedded locale quotes
2127         * tests/test-quotearg.c (struct result_strings): Add member for
2128         new input.
2129         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
2130         (inputs): Add new input.
2131         (results_g): Add expected results.
2132         (flag_results): Likewise.
2133         (locale_results): Likewise.
2134         (compare_strings): Check those.
2135
2136 2009-08-23  Bruno Haible  <bruno@clisp.org>
2137
2138         Tests for module 'dup3'.
2139         * modules/dup3-tests: New file.
2140         * tests/test-dup3.c: New file.
2141
2142         New module 'dup3'.
2143         * lib/unistd.in.h (dup3): New declaration.
2144         * lib/dup3.c: New file.
2145         * m4/dup3.m4: New file.
2146         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
2147         HAVE_DUP3.
2148         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
2149         * modules/dup3: New file.
2150         * doc/glibc-functions/dup3.texi: Mention the new module.
2151
2152 2009-08-23  Bruno Haible  <bruno@clisp.org>
2153
2154         Tweak the dup2 test.
2155         * tests/test-dup2.c (main): Create the test file empty. Verify that an
2156         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
2157         the test file is still empty. Fix argument order of lseek.
2158
2159 2009-08-23  Bruno Haible  <bruno@clisp.org>
2160
2161         Avoid test link errors when the modules getopt-gnu, gettext are used.
2162         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
2163         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2164
2165 2009-08-23  Bruno Haible  <bruno@clisp.org>
2166
2167         Fix getdtablesize() on mingw.
2168         * lib/getdtablesize.c (getdtablesize): Implement differently.
2169         * lib/unistd.in.h (getdtablesize): Improve comment.
2170
2171 2009-08-23  Bruno Haible  <bruno@clisp.org>
2172
2173         New module 'mkostemp'.
2174         Based on Ulrich Drepper's 2007-08-10 change in glibc.
2175         * lib/stdlib.in.h (mksotemp): New declaration.
2176         * lib/mkostemp.c: New file, from glibc with modifications.
2177         * lib/tempname.h (GT_FILE): Remove outdated comment.
2178         (gen_tempname): Add flags argument.
2179         * lib/tempname.c (__GT_BIGFILE): Remove macro.
2180         (__GT_FILE): Map to 1.
2181         (small_open, large_open): Remove macros.
2182         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
2183         * lib/mkstemp.c (mkstemp): Update.
2184         * lib/mkdtemp.c (mkdtemp): Likewise.
2185         * m4/mkostemp.m4: New file.
2186         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
2187         HAVE_MKOSTEMP.
2188         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
2189         HAVE_MKOSTEMP.
2190         * modules/mkostemp: New file, based on modules/mkstemp.
2191         * doc/glibc-functions/mkostemp.texi: Mention the new module.
2192         * NEWS: Mention the change.
2193
2194 2009-08-23  Bruno Haible  <bruno@clisp.org>
2195
2196         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
2197         Reported by Eric Blake.
2198
2199 2009-08-23  Bruno Haible  <bruno@clisp.org>
2200
2201         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
2202         Reported by Eric Blake.
2203
2204 2009-08-23  Bruno Haible  <bruno@clisp.org>
2205
2206         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
2207         * modules/pipe2 (Depends-on): Likewise.
2208
2209 2009-08-23  Eric Blake  <ebb9@byu.net>
2210
2211         fcntl-h: add O_TTY_INIT support
2212         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
2213         * tests/test-fcntl-h.c (o): Test it.
2214         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
2215
2216         fcntl-h: rename from fcntl, in preparation for fcntl(2)
2217         * modules/fcntl: Move <fcntl.h> header replacement...
2218         * modules/fcntl-h: ...to new name, so as not to collide with
2219         like-named function.
2220         * tests/test-fcntl.c: Rename...
2221         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
2222         * modules/fcntl-tests: Rename...
2223         * modules/fcntl-h-tests: ...to this.  Update test file name.
2224         * modules/chdir-long (Depends-on): Update clients.
2225         * modules/chdir-safer (Depends-on): Likewise.
2226         * modules/fcntl-safer (Depends-on): Likewise.
2227         * modules/fts (Depends-on): Likewise.
2228         * modules/mkancesdirs (Depends-on): Likewise.
2229         * modules/mkdir-p (Depends-on): Likewise.
2230         * modules/open (Depends-on): Likewise.
2231         * modules/savewd (Depends-on): Likewise.
2232         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
2233         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
2234
2235 2009-08-22  Bruno Haible  <bruno@clisp.org>
2236
2237         * modules/binary-io (License): Relicense under LGPL.
2238         * modules/pipe2 (License): Likewise.
2239
2240 2009-08-22  Bruno Haible  <bruno@clisp.org>
2241
2242         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
2243         return value.
2244         * lib/pipe-filter-gi.c (filter_init): Likewise.
2245         Reported by Eric Blake.
2246
2247 2009-08-22  Bruno Haible  <bruno@clisp.org>
2248
2249         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
2250         * modules/pipe (Depends-on): Add pipe2.
2251
2252 2009-08-22  Bruno Haible  <bruno@clisp.org>
2253
2254         Tests for module 'pipe2'.
2255         * modules/pipe2-tests: New file.
2256         * tests/test-pipe2.c: New file.
2257
2258         New module 'pipe2'.
2259         * lib/unistd.in.h (pipe2): New declaration.
2260         * lib/pipe2.c: New file.
2261         * m4/pipe2.m4: New file.
2262         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
2263         HAVE_PIPE2.
2264         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
2265         * modules/pipe2: New file.
2266         * doc/glibc-functions/pipe2.texi: Mention the new module.
2267
2268 2009-08-22  Bruno Haible  <bruno@clisp.org>
2269
2270         Reference some new glibc functions.
2271         * doc/glibc-functions/accept4.texi: New file.
2272         * doc/glibc-functions/dup3.texi: New file.
2273         * doc/glibc-functions/mkostemp.texi: New file.
2274         * doc/glibc-functions/pipe2.texi: New file.
2275         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
2276         (Glibc sys/socket.h): Refer to accept4.
2277         (Glibc unistd.h): Refer to dup3, pipe2.
2278         Reported by Eric Blake.
2279
2280 2009-08-22  Jim Meyering  <meyering@redhat.com>
2281             Bruno Haible  <bruno@clisp.org>
2282
2283         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
2284         This makes it so packages using automake-1.11's silent-rules option
2285         can print e.g., a single "GEN    configmake.h" line, rather than
2286         the 30+ statements that perform the job.  If you want to see the
2287         actual commands, you can still run "make V=1".
2288         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
2289         so that make output is abbreviated when those variables are defined
2290         appropriately.
2291         * modules/argz: Likewise.
2292         * modules/arpa_inet: Likewise.
2293         * modules/byteswap: Likewise.
2294         * modules/configmake: Likewise.
2295         * modules/dirent: Likewise.
2296         * modules/errno: Likewise.
2297         * modules/fcntl: Likewise.
2298         * modules/float: Likewise.
2299         * modules/fnmatch: Likewise.
2300         * modules/getopt-posix: Likewise.
2301         * modules/glob: Likewise.
2302         * modules/iconv_open: Likewise.
2303         * modules/inttypes: Likewise.
2304         * modules/localcharset: Likewise.
2305         * modules/locale: Likewise.
2306         * modules/math: Likewise.
2307         * modules/netdb: Likewise.
2308         * modules/netinet_in: Likewise.
2309         * modules/poll: Likewise.
2310         * modules/posix_spawnp-tests: Likewise.
2311         * modules/sched: Likewise.
2312         * modules/search: Likewise.
2313         * modules/selinux-h: Likewise.
2314         * modules/signal: Likewise.
2315         * modules/spawn: Likewise.
2316         * modules/stdarg: Likewise.
2317         * modules/stdbool: Likewise.
2318         * modules/stddef: Likewise.
2319         * modules/stdint: Likewise.
2320         * modules/stdio: Likewise.
2321         * modules/stdlib: Likewise.
2322         * modules/string: Likewise.
2323         * modules/strings: Likewise.
2324         * modules/sys_file: Likewise.
2325         * modules/sys_ioctl: Likewise.
2326         * modules/sys_select: Likewise.
2327         * modules/sys_socket: Likewise.
2328         * modules/sys_stat: Likewise.
2329         * modules/sys_time: Likewise.
2330         * modules/sys_times: Likewise.
2331         * modules/sys_utsname: Likewise.
2332         * modules/sys_wait: Likewise.
2333         * modules/sysexits: Likewise.
2334         * modules/time: Likewise.
2335         * modules/unistd: Likewise.
2336         * modules/wchar: Likewise.
2337         * modules/wctype: Likewise.
2338
2339 2009-08-22  Jim Meyering  <meyering@redhat.com>
2340
2341         announce-gen: detect write failure
2342         * build-aux/announce-gen: Add Coda at end.
2343         Remove equivalent-but-more-verbose block at top.
2344
2345 2009-08-19  Akim Demaille  <demaille@gostai.com>
2346
2347         bootstrap: --help to stdout.
2348         * bootstrap (usage): Don't send --help to stderr.
2349         Use a here doc instead of a long string.
2350
2351 2009-08-21  Eric Blake  <ebb9@byu.net>
2352
2353         test-popen-safer: split from test-popen
2354         * tests/test-popen.c (main): Move...
2355         * tests/test-popen.h: ...into new file.
2356         * tests/test-popen-safer2.c: New file.
2357         * modules/popen-tests (Files): Add test-popen.h.
2358         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
2359         Suggested by Bruno Haible.
2360
2361         test-fcntl-safer: split from test-open
2362         * tests/test-open.c (main): Move...
2363         * tests/test-open.h: ...into new file.
2364         * tests/test-fcntl-safer.c: New file.
2365         * modules/open-tests (Files): Add test-open.h.
2366         * modules/fcntl-safer-tests: New file.
2367         Suggested by Bruno Haible.
2368
2369         test-fopen-safer: split from test-fopen
2370         * tests/test-fopen.c (main): Move...
2371         * tests/test-fopen.h: ...into new file.
2372         * tests/test-fopen-safer.c: New file.
2373         * modules/fopen-tests (Files): Add test-fopen.h.
2374         * modules/fopen-safer-tests: New file.
2375         Suggested by Bruno Haible.
2376
2377 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
2378
2379         popen-safer: test O_CLOEXEC at run-time.
2380         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
2381
2382 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
2383
2384         fcntl: move more flags to the header
2385         * lib/cloexec.c: Do not define FD_CLOEXEC here.
2386         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
2387         * lib/fcntl.in.h: Do both things here.
2388
2389 2009-08-21  Jim Meyering  <meyering@redhat.com>
2390
2391         consistently remove $@-t before redirecting to it
2392         * modules/argz: Remove $@-t and $@ before redirecting to the former.
2393         * modules/alloca-opt: Likewise.
2394         * modules/byteswap: Likewise.
2395         * modules/fnmatch: Likewise.
2396         * modules/getopt-posix: Likewise.
2397         * modules/glob: Likewise.
2398         * modules/poll: Likewise.
2399         * modules/posix_spawnp-tests: Likewise.
2400         * modules/sys_socket: Likewise.
2401         * modules/sysexits: Likewise.
2402
2403 2009-08-21  Eric Blake  <ebb9@byu.net>
2404
2405         popen: simplify access to original popen
2406         * lib/popen.c (rpl_popen): No need to worry about popen being a
2407         macro.
2408         Reported by Bruno Haible.
2409
2410 2009-08-20  Eric Blake  <ebb9@byu.net>
2411
2412         build: avoid some compiler warnings
2413         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
2414         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
2415         type.
2416         (new_exclude_segment, excluded_file_pattern_p)
2417         (excluded_file_name_p): Reduce scope.
2418         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
2419         old-style declaration.
2420
2421 2009-08-20  Simon Josefsson  <simon@josefsson.org>
2422
2423         * tests/test-exclude1.sh: Handle Windows EOL.
2424         * tests/test-exclude2.sh: Likewise.
2425         * tests/test-exclude3.sh: Likewise.
2426         * tests/test-exclude4.sh: Likewise.
2427         * tests/test-exclude5.sh: Likewise.
2428         * tests/test-exclude6.sh: Likewise.
2429         * tests/test-exclude7.sh: Likewise.
2430
2431 2009-08-19  Akim Demaille  <demaille@gostai.com>
2432
2433         bootstrap: find sha1sum when named gsha1sum.
2434         * bootstrap (find_tool): New.
2435         ($SHA1SUM): New.
2436         Use it.
2437
2438 2009-08-20  Jim Meyering  <meyering@redhat.com>
2439
2440         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
2441         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
2442         expression that converts "." in a file name to "\." in the resulting
2443         regexp.  Start with a dummy statement, so that prior shell variable
2444         definitions are expanded portably.  Reported by Simon Josefsson.
2445
2446 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
2447
2448         Fix polling for writeability of a screen buffer.
2449         * lib/poll.c: Distinguish input and screen buffers for the
2450         Win32 implementation.
2451         * lib/select.c: Likewise.
2452
2453 2009-08-19  Eric Blake  <ebb9@byu.net>
2454
2455         popen-safer: prevent popen from clobbering std descriptors
2456         * modules/popen-safer: New file.
2457         * lib/popen-safer.c: Likewise.
2458         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
2459         * lib/stdio--.h (popen): Provide override.
2460         * lib/stdio-safer.h (popen_safer): Provide declaration.
2461         * tests/test-popen.c (includes): Partially test this.
2462         * modules/popen-safer-tests: New file, for more tests.
2463         * tests/test-popen-safer.c: Likewise.
2464         * MODULES.html.sh (file stream based Input/Output): Mention it.
2465
2466         tests: test some of the *-safer modules
2467         * modules/fopen-safer (Depends-on): Add fopen.
2468         * modules/fcntl-safer (Depends-on): Add fcntl.
2469         * modules/stdlib-safer (Depends-on): Add stdlib.
2470         (configure.ac): Set indicator.
2471         * modules/unistd-safer (configure.ac): Likewise.
2472         * modules/tmpfile-safer (configure.ac): Likewise.
2473         (Depends-on): Add tmpfile.
2474         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
2475         active.
2476         * tests/test-fopen.c (includes): Test safer versions when they are
2477         in use.
2478         * tests/test-open.c (includes): Likewise.
2479
2480         popen: fix cygwin 1.5 bug when stdin closed
2481         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
2482         * modules/popen: New file.
2483         * modules/popen-tests: Likewise.
2484         * tests/test-popen.c: Likewise.
2485         * m4/popen.m4: Likewise.
2486         * lib/popen.c: Likewise.
2487         * lib/stdio.in.h (popen): New declaration.
2488         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
2489         * modules/stdio (Makefile.am): Likewise.
2490         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
2491
2492 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
2493
2494         maint.mk: give full control over update-copyright exclusions
2495         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
2496         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
2497         (update-copyright): Don't force inclusion of top-level
2498         ChangeLog.  Don't force exclusion of all COPYING files, but make
2499         them the default exclusion instead.
2500
2501 2009-08-16  Bruno Haible  <bruno@clisp.org>
2502
2503         Fix test failures on Solaris 10.
2504         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
2505         tests when Solaris iconv() is used.
2506         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
2507         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
2508         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
2509         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
2510         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
2511
2512 2009-08-16  Bruno Haible  <bruno@clisp.org>
2513
2514         Fix test failures on Solaris 10.
2515         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
2516         'tr' program and pass it as first argument.
2517         * tests/test-pipe-filter-gi1.sh: Likewise.
2518         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
2519         program as first argument.
2520         * tests/test-pipe-filter-gi1.c (main): Likewise.
2521
2522 2009-08-16  Eric Blake  <ebb9@byu.net>
2523
2524         fpurge: fix previous commits
2525         * modules/fpurge (Makefile.am): Make replacement conditional,
2526         partially reverting 2007-04-29 change; missed in previous
2527         attempt.
2528         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
2529         is missing.
2530
2531 2009-08-16  Bruno Haible  <bruno@clisp.org>
2532
2533         Clarify fpurge's effect on the file position.
2534         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
2535         * tests/test-fpurge.c (main): Make a second pass for checking the file
2536         position.
2537
2538 2009-08-16  Bruno Haible  <bruno@clisp.org>
2539
2540         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
2541         declaration of fpurge is missing.
2542         * tests/test-fpurge.c (main): Check that the file has not more contents
2543         than expected. Close the file before removing it.
2544
2545 2009-08-15  Eric Blake  <ebb9@byu.net>
2546
2547         fpurge: don't wrap working cygwin implementation
2548         * lib/fpurge.c (fpurge): Fix comment typo.
2549         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
2550         1.7 to avoid replacement.
2551         * tests/test-fpurge.c (main): Enhance test.
2552
2553 2009-08-15  Eric Blake  <ebb9@byu.net>
2554         and Jim Meyering  <meyering@redhat.com>
2555
2556         test-update-copyright: skip if perl is insufficient
2557         * tests/test-update-copyright.sh: Failure to run maintainer tool
2558         should not cause testsuite failure on cygwin 1.5.
2559
2560 2009-08-14  Eric Blake  <ebb9@byu.net>
2561
2562         doc: mention more functions added in cygwin 1.7.0
2563         * doc/posix-headers/limits.texi (limits.h): Update for recent
2564         cygwin additions.
2565         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
2566         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
2567         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
2568         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
2569         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
2570
2571 2009-08-14  Eric Blake  <ebb9@byu.net>
2572
2573         maint.mk: simplify update-copyright rule
2574         * top/maint.mk (update-copyright-local): Delete, and document how
2575         to do it in cfg.mk instead.
2576         (update-copyright-exclude-regexp): Delete, and document how to do
2577         it in .x-update-copyright instead.
2578         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
2579         exclude ChangeLog.
2580
2581 2009-08-14  Bruno Haible  <bruno@clisp.org>
2582
2583         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
2584
2585 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
2586
2587         maint.mk: support update-copyright-env
2588         * top/maint.mk (update-copyright-env): Define place-holder.
2589         (update-copyright): Expand $(update-copyright-env) before
2590         invoking update-copyright.
2591
2592 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
2593
2594         update-copyright: implement forced reformatting
2595         * build-aux/update-copyright: Implement and document
2596         UPDATE_COPYRIGHT_FORCE.
2597         * tests/test-update-copyright.sh: Test it.
2598
2599 2009-08-14  Eric Blake  <ebb9@byu.net>
2600         and Bruno Haible  <bruno@clisp.org>
2601
2602         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
2603         * tests/test-locale.c: Revert previous patch related to NULL.
2604         * tests/test-stdio.c: Likewise.
2605         * tests/test-stdlib.c: Likewise.
2606         * tests/test-string.c: Likewise.
2607         * tests/test-unistd.c: Likewise.
2608         * modules/time-tests (Depends-on): Add verify.
2609         * modules/wchar-tests (Depends-on): Likewise.
2610         * tests/test-time.c: Test for NULL compliance.
2611         * tests/test-wchar.c: Likewise.
2612         * modules/locale (Depends-on): Add stddef.
2613         * modules/stdio (Depends-on): Likewise.
2614         * modules/stdlib (Depends-on): Likewise.
2615         * modules/string (Depends-on): Likewise.
2616         * modules/time (Depends-on): Likewise.
2617         * modules/unistd (Depends-on): Likewise.
2618         * modules/wchar (Depends-on): Likewise.
2619         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
2620         * lib/stdlib.in.h (includes): Likewise.
2621         * lib/string.in.h (includes): Likewise.
2622         * lib/time.in.h (includes): Likewise.
2623         * lib/unistd.in.h (includes): Likewise.
2624         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
2625         replaced.
2626         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
2627         * m4/stddef_h.m4: New file.
2628         * modules/stddef: Likewise.
2629         * lib/stddef.in.h: Likewise.
2630         * modules/stddef-tests: Likewise.
2631         * tests/test-stddef.c: Likewise.
2632         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
2633         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
2634         * doc/posix-headers/locale.texi (locale.h): Likewise.
2635         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
2636         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
2637         * doc/posix-headers/string.texi (string.h): Likewise.
2638         * doc/posix-headers/time.texi (time.h): Likewise.
2639         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
2640         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
2641
2642 2009-08-14  Eric Blake  <ebb9@byu.net>
2643
2644         doc: improve git diff of texinfo files
2645         * .gitattributes: Add rule for *.texi files, with hint on how to
2646         use it.
2647         Copied from m4, and based on a report by Bruno Haible.
2648
2649 2009-08-14  Bruno Haible  <bruno@clisp.org>
2650
2651         Disable multithread support by default on Cygwin 1.5.x for real.
2652         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
2653
2654 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
2655
2656         update-copyright: much ado about intervals
2657         * build-aux/update-copyright: Implement and document
2658         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
2659         of copyright year intervals.
2660         Also, document UPDATE_COPYRIGHT_YEAR.
2661         * tests/test-update-copyright.sh: Test it.
2662
2663         update-copyright: convert 2-digit to 4-digit years
2664         * build-aux/update-copyright: Implement and document.
2665         * tests/test-update-copyright.sh: Update.
2666
2667 2009-08-14  Jim Meyering  <meyering@redhat.com>
2668
2669         test-exclude: avoid coreutils "make check" failure
2670         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
2671         just as in test-argmatch.c.
2672
2673 2009-08-13  Eric Blake  <ebb9@byu.net>
2674
2675         test-dup2: fix bad assumption
2676         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
2677         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
2678
2679         test-version-etc: fix CRLF portability issue
2680         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
2681         recognize \r.
2682         * tests/test-argp-version-etc-1.sh: Likewise.
2683
2684         getopt: update client modules
2685         * modules/argp (Depends-on): Use getopt-gnu.
2686         * modules/git-merge-changelog (Depends-on): Likewise.
2687         * modules/long-options (Depends-on): Likewise.
2688         * modules/xstrtol (Depends-on): Likewise.
2689
2690 2009-08-13  Simon Josefsson  <simon@josefsson.org>
2691
2692         * tests/test-version-etc.sh: Don't fail on different
2693         project/version.  Don't fail on CRLF differences.  Rewrite to use
2694         multiple -e instead of multiple sed forks, suggested by Eric Blake
2695         <ebb9@byu.net>.
2696         * tests/test-argp-version-etc-1.sh: Likewise.
2697
2698 2009-08-13  Simon Josefsson  <simon@josefsson.org>
2699
2700         * tests/test-version-etc.sh: Don't fail on different
2701         project/version.
2702
2703 2009-08-12  Bruno Haible  <bruno@clisp.org>
2704
2705         Tests for modules 'getopt-posix', 'getopt-gnu'.
2706         * modules/getopt-posix-tests: New file.
2707         * tests/test-getopt.c: New file.
2708         * tests/test-getopt.h: New file.
2709         * tests/test-getopt_long.h: New file.
2710
2711         New modules 'getopt-posix', 'getopt-gnu'.
2712         * modules/getopt-gnu: New file, renamed from modules/getopt.
2713         * modules/getopt-posix: New file.
2714         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
2715         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
2716         (gl_GETOPT): Remove macro.
2717         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
2718         Disable the test against BSD systems that declare optreset. Test
2719         against mingw bug. Test against lack of support of optional arguments
2720         on many platforms.
2721         * doc/glibc-headers/getopt.texi: Update module name and list of
2722         relevant platforms.
2723         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
2724         'getopt-gnu' and more portability problems.
2725         * NEWS: Mention the changes.
2726
2727 2009-08-12  Bruno Haible  <bruno@clisp.org>
2728
2729         Ensure that optarg etc. get declared by <unistd.h>.
2730         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
2731         AC_USE_SYSTEM_EXTENSIONS.
2732         * modules/getopt (Depends-on): Add 'extensions'.
2733
2734 2009-08-12  Bruno Haible  <bruno@clisp.org>
2735
2736         Avoid test link errors.
2737         * modules/pipe-filter-ii-tests (Makefile.am): Define
2738         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
2739         * modules/pipe-filter-gi-tests (Makefile.am): Define
2740         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
2741         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2742
2743 2009-08-12  Bruno Haible  <bruno@clisp.org>
2744
2745         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
2746         gl_GETOPT_SUBSTITUTE before.
2747         (gl_GETOPT): Use it.
2748         * m4/argp.m4 (gl_ARGP): Update.
2749         Reported by Sergey Poznyakoff.
2750
2751         * m4/getopt.m4: Reorder macros.
2752         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
2753         (gl_GETOPT_SUBSTITUTE): Remove macro.
2754
2755 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
2756
2757         Minor improvement in gitlog-to-changelog
2758
2759         * build-aux/gitlog-to-changelog: New option `--format' makes
2760         output format string configurable.
2761
2762 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
2763
2764         Optimize exclude: use hash tables for non-wildcard patterns.
2765
2766         * lib/exclude.c: Include hash.h and mbuiter.h
2767         (struct exclude_pattern, exclude_segment): New data types.
2768         (struct exclude): Rewrite.
2769         (fnmatch_pattern_has_wildcards): New function.
2770         (new_exclude_segment, free_exclude_segment): New functions.
2771         (excluded_file_pattern_p, excluded_file_name_p): New functions.
2772         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
2773         * lib/exclude.h (is_fnmatch_pattern): New prototype.
2774         * modules/exclude: Depend on hash and mbuiter.
2775
2776         * modules/exclude-tests: New file.
2777         * tests/test-exclude.c: New file.
2778         * tests/test-exclude1.sh: New file.
2779         * tests/test-exclude2.sh: New file.
2780         * tests/test-exclude3.sh: New file.
2781         * tests/test-exclude4.sh: New file.
2782         * tests/test-exclude5.sh: New file.
2783         * tests/test-exclude6.sh: New file.
2784         * tests/test-exclude7.sh: New file.
2785
2786 2009-08-12  Bruno Haible  <bruno@clisp.org>
2787
2788         Ensure that getopt() gets declared by <unistd.h>.
2789         * lib/unistd.in.h: Conditionally include getopt.h.
2790         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
2791         Set GNULIB_UNISTD_H_GETOPT.
2792         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
2793         GNULIB_UNISTD_H_GETOPT.
2794         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
2795
2796 2009-08-12  Bruno Haible  <bruno@clisp.org>
2797
2798         Clarify logic.
2799         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
2800         gl_replace_getopt instead of GETOPT_H.
2801
2802 2009-08-12  Bruno Haible  <bruno@clisp.org>
2803
2804         * m4/getopt.m4: Add comments.
2805
2806 2009-08-12  Bruno Haible  <bruno@clisp.org>
2807
2808         Disable multithread support by default on Cygwin 1.5.x.
2809         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
2810         set gl_use_threads=no if not specified otherwise.
2811
2812 2009-08-11  Bruno Haible  <bruno@clisp.org>
2813
2814         Avoid compilation error on NetBSD 5.0.
2815         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
2816         * tests/test-stdio.c: Likewise.
2817         * tests/test-stdlib.c: Likewise.
2818         * tests/test-string.c: Likewise.
2819         * tests/test-unistd.c: Likewise.
2820         Reported by Greg Troxel <gdt@ir.bbn.com>
2821         at <https://savannah.gnu.org/support/?106973>.
2822
2823 2009-08-11  Bruno Haible  <bruno@clisp.org>
2824
2825         * modules/dup2-tests (Depends-on): Remove close.
2826
2827         Undo 2009-07-19 commit.
2828         * modules/acl-tests (Depends-on): Remove close.
2829         * modules/binary-io-tests (Depends-on): Likewise.
2830         * modules/closein-tests (Depends-on): Likewise.
2831         * modules/flock-tests (Depends-on): Likewise.
2832         * modules/fsync-tests (Depends-on): Likewise.
2833         * modules/lseek-tests (Depends-on): Likewise.
2834         * modules/pipe-tests (Depends-on): Likewise.
2835         * modules/posix_spawn-tests (Depends-on): Likewise.
2836         * modules/posix_spawnp-tests (Depends-on): Likewise.
2837         * modules/stat-time-tests (Depends-on): Likewise.
2838         * modules/yesno-tests (Depends-on): Likewise.
2839
2840 2009-08-10  Bruno Haible  <bruno@clisp.org>
2841
2842         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
2843
2844 2009-08-10  Bruno Haible  <bruno@clisp.org>
2845
2846         Fix a gcc warning.
2847         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
2848
2849 2009-08-10  Bruno Haible  <bruno@clisp.org>
2850
2851         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
2852         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
2853         not only the first time.
2854         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
2855         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
2856         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
2857         is 1, not only the the first time.
2858
2859 2009-08-10  Bruno Haible  <bruno@clisp.org>
2860
2861         Make it possible to use module 'gethostname' without module 'close'.
2862         * lib/unistd.in.h (close): Evoke a link error only if
2863         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
2864         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
2865         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
2866         * modules/unistd (Makefile.am): Substitute
2867         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
2868         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
2869         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
2870         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
2871         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
2872         * modules/sys_ioctl (Makefile.am): Substitute
2873         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
2874         * modules/socket (configure.ac): On native Windows, set
2875         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
2876         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
2877         Reported by Sam Steingold <sds@gnu.org>.
2878
2879 2009-08-10  Bruno Haible  <bruno@clisp.org>
2880
2881         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
2882         * modules/ioctl (configure.ac): Likewise.
2883
2884 2009-08-10  Bruno Haible  <bruno@clisp.org>
2885
2886         Avoid collision between gnulib wrapper and libintl wrapper.
2887         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
2888         already defined in intl/printf.c.
2889         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
2890         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
2891
2892 2009-08-09  Bruno Haible  <bruno@clisp.org>
2893
2894         Make <sys/select.h> really self-contained, also on Solaris 10.
2895         * lib/sys_select.in.h: Include <string.h>.
2896         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
2897         Solaris 10 problem.
2898         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
2899         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
2900         Reported by Jim Meyering.
2901
2902 2009-08-09  Bruno Haible  <bruno@clisp.org>
2903
2904         Avoid warnings from 'aclocal' that are due to a use of macro name
2905         AM_XGETTEXT_OPTION that is not defined in automake.
2906         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
2907         automake.
2908         * modules/error (configure.ac): Likewise.
2909         * modules/propername (configure.ac): Likewise.
2910         * modules/vasprintf (configure.ac): Likewise.
2911         * modules/verror (configure.ac): Likewise.
2912         * modules/xprintf (configure.ac): Likewise.
2913         * modules/xvasprintf (configure.ac): Likewise.
2914
2915 2009-08-08  Bruno Haible  <bruno@clisp.org>
2916
2917         Avoid compilation error in C++ mode.
2918         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
2919         Reported by Sam Steingold <sds@gnu.org>.
2920
2921 2009-08-08  Bruno Haible  <bruno@clisp.org>
2922
2923         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
2924         for the various Unix platforms.
2925         * doc/posix-headers/limits.texi: Update platforms list regarding
2926         HOST_NAME_MAX.
2927         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2928
2929 2009-08-07  Jim Meyering  <meyering@redhat.com>
2930
2931         selinux-at: fix typo in a comment
2932         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
2933         Spotted by Paolo Bonzini.
2934
2935         selinux-at: remove redundant m4 code, add documentation
2936         * modules/selinux-at (configure.ac): Remove redundant code.
2937         LIB_SELINUX is already set via the dependent module, selinux-h.
2938         (Include): Add quotes around selinux-at.h.
2939         * lib/selinux-at.h: Add documentation.
2940         Reported by Bruno Haible in
2941         http://marc.info/?l=gnulib-bug&m=124958988300749
2942
2943 2009-08-07  Bruno Haible  <bruno@clisp.org>
2944
2945         Avoid link error on MacOS X 10.3 and 10.4.
2946         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
2947         on non-ELF systems.
2948         * lib/argp-pv.c (argp_program_version): Likewise.
2949         Reported by Simon Josefsson.
2950
2951 2009-08-07  Simon Josefsson  <simon@josefsson.org>
2952
2953         * tests/test-version-etc.sh: Use $EXEEXT.
2954
2955 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
2956
2957         update-copyright: update documentation to point to maint.mk
2958         * build-aux/update-copyright: Here.
2959
2960 2009-08-06  Jim Meyering  <meyering@redhat.com>
2961
2962         maint.mk: support update-copyright-local
2963         * top/maint.mk (update-copyright-local): Define place-holder.
2964         (update-copyright): Depend on $(update-copyright-local).
2965
2966 2009-08-06  Jim Meyering  <meyering@redhat.com>
2967
2968         selinux-at: new module
2969         Initially written for coreutils, this module will soon be
2970         used by findutils, too.
2971         * MODULES.html.sh [Misc]: Add selinux-at.
2972         * lib/selinux-at.h: New file, from coreutils.
2973         * lib/selinux-at.c: Likewise.
2974         * modules/selinux-at: Likewise.
2975         (License): Change from LGPL to GPL, since it depends
2976         on the GPL'd openat module.
2977
2978         doc: update README
2979         * README: Remove references to cogito.
2980         Remove cvs-repo-updating instructions from 2007.
2981         Don't imply that CVS is better if you have limited disk space.
2982
2983 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
2984
2985         update-copyright: support C-style comments
2986         * build-aux/update-copyright: Implement and document.
2987         * tests/test-update-copyright.sh: Test.
2988
2989 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
2990
2991         update-copyright: support omitted "(C)"
2992         * build-aux/update-copyright: Implement and document.  Also,
2993         allow variable whitespace before "(C)".
2994         * tests/test-update-copyright.sh: Test.
2995
2996 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
2997
2998         update-copyright: don't trip on non-FSF copyright statements
2999         * build-aux/update-copyright: Fix so that the first correctly
3000         formatted FSF copyright statement is recognized no matter what
3001         appears before it.  Update documentation.
3002         * tests/test-update-copyright.sh: Test that.
3003
3004 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
3005
3006         update-copyright: clean up code a little
3007         * build-aux/update-copyright: Append "_re" to the name of any
3008         variable holding a regular expression.
3009         Replace "old" and "new" with "stmt" in variable names.
3010         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
3011         handled correctly.
3012         Format code more consistently.
3013
3014 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
3015
3016         update-copyright-tests: improve portability
3017         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
3018         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
3019
3020 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
3021
3022         update-copyright: support @copyright{} and &copy;
3023         * build-aux/update-copyright: Implement and document.
3024         * tests/test-update-copyright.sh: Test.
3025
3026 2009-08-04  Jim Meyering  <meyering@redhat.com>
3027
3028         update-copyright-tests: correctly test EOL=\r\n handling
3029         * tests/test-update-copyright.sh: Put \r at the end of some lines
3030         for the dos-eol tests.  Based on a patch by Joel E. Denny.
3031
3032         maint.mk: make update-copyright exclusion list more configurable
3033         * top/maint.mk (update-copyright): Default to excluding COPYING,
3034         but allow an override, in case someone does want to update that file.
3035
3036         maint.mk: don't update copyright date in COPYING
3037         * top/maint.mk (update-copyright): Exclude COPYING.
3038
3039         maint.mk: add a copyright-updating rule
3040         * top/maint.mk (update-copyright): New rule.
3041         Derived from coreutils/Makefile.am.
3042
3043         update-copyright: rename some variables
3044         * build-aux/update-copyright: Rename a few variables for clarity.
3045         Tweak syntax.  List Joel E. Denny as coauthor.
3046
3047 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
3048
3049         update-copyright: fix bug for 2-digit last year and add tests
3050         * build-aux/update-copyright: Fix bug.
3051         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
3052         specified.
3053         * modules/update-copyright-tests: New
3054         * tests/test-update-copyright.sh: New.
3055
3056 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
3057
3058         update-copyright: handle leading tabs in line prefix
3059         * build-aux/update-copyright: Count leading tabs as 8 spaces
3060         when computing margin.  This helps with the formatting of
3061         ChangeLogs, for example.
3062         Fix documentation a little.
3063
3064 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
3065
3066         update-copyright: support EOL=\r\n
3067         * build-aux/update-copyright: Implement that.
3068
3069 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
3070
3071         update-copyright: automatically format copyright statements
3072         * build-aux/update-copyright: Implement that.
3073         Also, be a little more predictable and safer by always failing
3074         when the full copyright format is not perfectly recognized as an
3075         unbroken whole.  Discussed at
3076         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
3077         Rewrite documentation.
3078
3079 2009-08-03  Bruno Haible  <bruno@clisp.org>
3080
3081         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
3082
3083 2009-08-02  Bruno Haible  <bruno@clisp.org>
3084
3085         Tests for module 'uname'.
3086         * modules/uname-tests: New file.
3087         * tests/test-uname.c: New file.
3088
3089         New module 'uname'.
3090         * lib/uname.c: New file.
3091         * m4/uname.m4: New file.
3092         * modules/uname: New file.
3093         * doc/posix-functions/uname.texi: Mention the new module.
3094
3095 2009-08-02  Bruno Haible  <bruno@clisp.org>
3096
3097         Tests for module 'sys_utsname'.
3098         * modules/sys_utsname-tests: New file.
3099         * tests/test-sys_utsname.c: New file.
3100
3101         New module 'sys_utsname'.
3102         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
3103         * m4/sys_utsname_h.m4: New file.
3104         * modules/sys_utsname: New file.
3105         * doc/posix-headers/sys_utsname.texi: Mention the new module.
3106
3107 2009-08-02  Bruno Haible  <bruno@clisp.org>
3108
3109         Implicitly initialize the sockets library.
3110         * lib/gethostname.c: Include sockets.h.
3111         (rpl_gethostname): Invoke gl_sockets_startup.
3112         * lib/socket.c: Include sockets.h.
3113         (rpl_socket): Invoke gl_sockets_startup.
3114         * modules/gethostname (Depends-on): Add sockets.
3115         * modules/socket (Depends-on): Likewise.
3116         * tests/test-poll.c: Don't include sockets.h.
3117         (main): Don't invoke gl_sockets_startup.
3118         * tests/test-select.c: Don't include sockets.h.
3119         (main): Don't invoke gl_sockets_startup.
3120
3121 2009-08-02  Bruno Haible  <bruno@clisp.org>
3122
3123         Allow multiple calls to gl_sockets_startup.
3124         * lib/sockets.c (initialized_sockets_version): New variable.
3125         (gl_sockets_startup): Do nothing if already called for this or a higher
3126         version.
3127         (gl_sockets_cleanup): Reset initialized_sockets_version.
3128
3129 2009-08-03  Simon Josefsson  <simon@josefsson.org>
3130
3131         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
3132         different project/version.
3133
3134 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
3135             Bruno Haible  <bruno@clisp.org>
3136
3137         Tests for module 'pipe-filter-gi'.
3138         * modules/pipe-filter-gi-tests: New file.
3139         * tests/test-pipe-filter-gi1.sh: New file.
3140         * tests/test-pipe-filter-gi1.c: New file.
3141         * tests/test-pipe-filter-gi2.sh: New file.
3142         * tests/test-pipe-filter-gi2-main.c: New file.
3143         * tests/test-pipe-filter-gi2-child.c: New file.
3144
3145         New module 'pipe-filter-gi'.
3146         * lib/pipe-filter-gi.c: New file.
3147         * modules/pipe-filter-gi: New file.
3148
3149 2009-08-02  Bruno Haible  <bruno@clisp.org>
3150             Paolo Bonzini  <bonzini@gnu.org>
3151
3152         Tests for module 'pipe-filter-ii'.
3153         * modules/pipe-filter-ii-tests: New file.
3154         * tests/test-pipe-filter-ii1.sh: New file.
3155         * tests/test-pipe-filter-ii1.c: New file.
3156         * tests/test-pipe-filter-ii2.sh: New file.
3157         * tests/test-pipe-filter-ii2-main.c: New file.
3158         * tests/test-pipe-filter-ii2-child.c: New file.
3159
3160         New module 'pipe-filter-ii'.
3161         * lib/pipe-filter.h: New file.
3162         * lib/pipe-filter-ii.c: New file.
3163         * lib/pipe-filter-aux.h: New file.
3164         * modules/pipe-filter-ii: New file.
3165
3166 2009-08-02  Simon Josefsson  <simon@josefsson.org>
3167
3168         * lib/gc-libgcrypt.c: Change copyright to FSF.
3169         * lib/gc-gnulib.c: Likewise.
3170
3171 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
3172
3173         * lib/gethostname.c: Include limits.h.
3174
3175 2009-08-02  Simon Josefsson  <simon@josefsson.org>
3176             Bruno Haible  <bruno@clisp.org>
3177
3178         Ensure HOST_NAME_MAX as part of the gethostname module.
3179         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
3180         define also HOST_NAME_MAX.
3181         * tests/test-gethostname.c: Include <limits.h>.
3182         (main): Check also HOST_NAME_MAX.
3183         * doc/posix-headers/limits.texi: Document the mingw problem.
3184
3185 2009-08-02  Bruno Haible  <bruno@clisp.org>
3186
3187         * lib/gethostname.c (gethostname): Fix handling of large len argument.
3188         Add comments.
3189
3190 2009-03-31  Simon Josefsson  <simon@josefsson.org>
3191
3192         * lib/gethostname.c: Add Windows wrapper.
3193         * m4/gethostname.m4: Look for gethostname in -lws2_32.
3194         * modules/gethostname: Depend on sys_socket & errno, for also
3195         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
3196         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
3197
3198 2009-07-31  Jim Meyering  <meyering@redhat.com>
3199
3200         getloadavg: fix symbol name in comment
3201         * lib/getloadavg.c: Correct a typo I introduced when adding
3202         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
3203         Matt Kraai spotted the problem.
3204
3205 2009-07-29  Matt Kraai  <mkraai@beckman.com>
3206
3207         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
3208         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
3209         code also if ! defined N_NAME_POINTER.
3210         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
3211         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
3212         but the n_name member is a 12-byte array.
3213
3214 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
3215
3216         update-copyright: generalize comment handling
3217         * build-aux/update-copyright: Handle copyright statements
3218         within more comment styles.
3219         Document usage.
3220         Report any file with an external copyright holder or parse failure.
3221
3222 2009-07-29  Jim Meyering  <meyering@redhat.com>
3223
3224         mktime: correct setting of REPLACE_MKTIME
3225         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
3226
3227         update-copyright: new module
3228         * modules/update-copyright: New file.
3229         * build-aux/update-copyright: New file.
3230         * MODULES.html.sh (maint+release support): Add update-copyright.
3231
3232 2009-07-27  Bruno Haible  <bruno@clisp.org>
3233
3234         Fix compilation error when <ctime> is used and mktime is replaced.
3235         * lib/time.in.h (mktime): New declaration.
3236         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
3237         REPLACE_MKTIME instead of defining mktime in config.h.
3238         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
3239         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
3240         Reported by Ross McFarland <rwmcfa1@neces.com>.
3241
3242 2009-07-27  Bruno Haible  <bruno@clisp.org>
3243
3244         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
3245         Reported by Matt Kraai <mkraai@beckman.com>.
3246
3247 2009-07-25  Jim Meyering  <meyering@redhat.com>
3248
3249         maint.mk: avoid warnings about missing files
3250         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
3251         diagnostic when .prev-version does not exist.
3252         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
3253         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
3254         nonexistent cfg.mk.
3255         Suggestions from Simon Josefsson.
3256
3257 2009-07-25  Bruno Haible  <bruno@clisp.org>
3258
3259         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
3260         defined as macros. Needed on QNX 6.4.1.
3261         Reported by Matt Kraai <mkraai@beckman.com>.
3262
3263 2009-07-23  Jim Meyering  <meyering@redhat.com>
3264
3265         maint.mk: invoke "make dist" with a working value of XZ_OPT
3266         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
3267
3268 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
3269
3270         Make fseeko.c compile on QNX.
3271         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
3272
3273 2009-07-22  Peter Simons  <simons@cryp.to>
3274
3275         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
3276         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
3277         * lib/md4.h: Likewise.
3278         * lib/md5.h: Likewise.
3279         * lib/sha1.h: Likewise.
3280         * lib/sha256.h: Likewise.
3281         * lib/sha512.h: Likewise.
3282
3283         tests-sha1: don't assign literal string to 'char *' variable
3284         * tests/test-sha1.c (main): Declare locals with "const" to match
3285         attributes of the right hand side.
3286
3287 2009-07-21  Eric Blake  <ebb9@byu.net>
3288
3289         dup2: fix more mingw problems
3290         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
3291         fd to itself.
3292         * doc/posix-functions/dup2.texi (dup2): Document the bug.
3293         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
3294         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
3295         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
3296         care of mingw bugs.
3297
3298 2009-07-21  Jim Meyering  <meyering@redhat.com>
3299
3300         vc-list-files: avoid failure when /bin/sh is dash
3301         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
3302         On some Debian based systems, /bin/sh is a symlink to dash, and running
3303         this command would omit the "/" following each 'tests' prefix:
3304           dash -x build-aux/vc-list-files -C . tests
3305         That is because bash and dash work differently:
3306           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
3307           bash ok
3308           dash odd
3309
3310 2009-07-21  Eric Blake  <ebb9@byu.net>
3311
3312         dup2-tests: test previous patch
3313         * modules/dup2-tests: New file.
3314         * tests/test-dup2.c: Likewise.
3315         * tests/test-open.c (main): Avoid unspecified behavior.
3316         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
3317         test.
3318
3319         dup2: work around mingw and cygwin 1.5 bug
3320         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
3321         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
3322         * modules/unistd (Makefile.am): Substitute it.
3323         * lib/unistd.in.h (dup2): Declare the replacement.
3324         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
3325         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
3326         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
3327         * modules/execute (Depends-on): Add dup2.
3328         * modules/fseterr (Depends-on): Likewise.
3329         * modules/pipe (Depends-on): Likewise.
3330         * modules/posix_spawn-internal (Depends-on): Likewise.
3331
3332 2009-07-21  Bruno Haible  <bruno@clisp.org>
3333
3334         * modules/.gitattributes: New file.
3335
3336 2009-07-20  Bruno Haible  <bruno@clisp.org>
3337
3338         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
3339         (main): Use it.
3340
3341 2009-07-20  Eric Blake  <ebb9@byu.net>
3342
3343         test-pipe: make a bit more robust.
3344         * tests/test-pipe.c (myerr): Allow error messages regardless of
3345         what we do to stderr.
3346         (test_pipe): Rearrange to avoid deadlock.
3347         (child_main): Try a larger read, to ensure we avoided deadlock.
3348         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
3349         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
3350         if misused.
3351
3352 2009-07-19  Jim Meyering  <meyering@redhat.com>
3353
3354         fts: avoid false-positive cycle-detection
3355         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
3356         for each new command line argument.
3357
3358 2009-07-19  Bruno Haible  <bruno@clisp.org>
3359
3360         Fix build error on mingw with the modules sys_select and unistd.
3361         * modules/acl-tests (Depends-on): Add close.
3362         * modules/binary-io-tests (Depends-on): Likewise.
3363         * modules/closein-tests (Depends-on): Likewise.
3364         * modules/flock-tests (Depends-on): Likewise.
3365         * modules/fsync-tests (Depends-on): Likewise.
3366         * modules/lseek-tests (Depends-on): Likewise.
3367         * modules/pipe-tests (Depends-on): Likewise.
3368         * modules/posix_spawn-tests (Depends-on): Likewise.
3369         * modules/posix_spawnp-tests (Depends-on): Likewise.
3370         * modules/stat-time-tests (Depends-on): Likewise.
3371         * modules/yesno-tests (Depends-on): Likewise.
3372
3373 2009-07-19  Bruno Haible  <bruno@clisp.org>
3374
3375         Unify conditionals.
3376         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
3377         macros, not at the compiler macros.
3378         * lib/pipe.c: Likewise.
3379         * lib/execute.c: Likewise.
3380         * lib/spawni.c: Likewise.
3381
3382 2009-07-19  Bruno Haible  <bruno@clisp.org>
3383
3384         Fix handling of closed stdin/stdout/stderr on mingw.
3385         * lib/w32spawn.h: Include unistd.h.
3386         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
3387         file descriptor with O_NOINHERIT flag.
3388         (fd_safer_noinherit): New function, based on fd-safer.c.
3389         (dup_safer_noinherit): New function, based on dup-safer.c.
3390         (undup_safer_noinherit): New function.
3391         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
3392         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
3393         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
3394         instead of fd_safer.
3395         * tests/test-pipe.c: Include <windows.h>.
3396         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
3397
3398         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
3399         from main.
3400         (test_pipe): Pass an extra argument for disambiguation.
3401         (main): Invoke parent_main or child_main.
3402
3403         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
3404         consistently.
3405
3406 2009-07-18  Eric Blake  <ebb9@byu.net>
3407
3408         test-pipe: fix mingw build
3409         * tests/test-pipe.c (main): Avoid fcntl on mingw.
3410
3411 2009-07-18  Bruno Haible  <bruno@clisp.org>
3412
3413         * modules/pipe-tests (Makefile.am): Fix typo.
3414
3415 2009-07-18  Eric Blake  <ebb9@byu.net>
3416
3417         error: fix mingw build
3418         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
3419         Reported by Bruno Haible.
3420
3421         error: avoid undefined use of stdout
3422         * lib/error.c (error, error_at_line): Check that fd 1 is open
3423         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
3424         is handling faults and the close_stdout module wants to report the
3425         detection of closed stdout as an error.
3426
3427 2009-07-17  Eric Blake  <ebb9@byu.net>
3428
3429         pipe: be robust in face of closed fds
3430         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
3431         should cause child to misbehave.
3432         * modules/pipe-tests: New module.
3433         * tests/test-pipe.c: New file.
3434         * tests/test-pipe.sh: New file.
3435         Reported by Akim Demaille.
3436
3437 2009-07-14  Bruno Haible  <bruno@clisp.org>
3438
3439         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
3440         Reported by anonymous kc.
3441
3442 2009-07-07  Jim Meyering  <meyering@redhat.com>
3443
3444         maint.mk: don't look for translatable strings in *.m4 or *.mk
3445         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
3446         when searching for translatable strings.
3447
3448 2009-07-05  Jim Meyering  <meyering@redhat.com>
3449
3450         remove superfluous parentheses in STREQ definition
3451         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
3452         * lib/getugroups.c (STREQ): Likewise.
3453         * lib/fnmatch.c (STREQ): Likewise.
3454         Spotted by Bruno Haible.
3455
3456 2009-07-04  Jim Meyering  <meyering@redhat.com>
3457
3458         argv-iter: new module
3459         * MODULES.html.sh: Add argv-iter.
3460         * lib/argv-iter.c, lib/argv-iter.h: New files.
3461         * modules/argv-iter: New file.
3462         * modules/argv-iter-tests: New file.
3463         * tests/test-argv-iter.c: Test it.
3464
3465 2009-07-04  Bruno Haible  <bruno@clisp.org>
3466
3467         Fix assertion.
3468         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
3469         contains more exact copies of a given entry than file2, leave the extra
3470         copies unpaired rather than aborting.
3471         Reported by Eric Blake.
3472
3473 2009-07-02  Bruno Haible  <bruno@clisp.org>
3474
3475         Speedup git-merge-changelog for git cherry-pick.
3476         * lib/git-merge-changelog.c (struct entries_mapping): New type.
3477         (entries_mapping_get): New function, extracted from compute_mapping.
3478         (entries_mapping_reverse_get): New function.
3479         (compute_mapping): Add a 'full' argument. Return the result in a
3480         'struct entries_mapping'.
3481         (main): Update. Access the mappings through entries_mapping_get.
3482         Reported by Eric Blake.
3483
3484 2009-07-02  Bruno Haible  <bruno@clisp.org>
3485
3486         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
3487         best_i.
3488
3489 2009-07-02  Bruno Haible  <bruno@clisp.org>
3490
3491         Speed up approximate search for matching ChangeLog entries.
3492         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
3493         argument. Call fstrcmp_bounded instead of fstrcmp.
3494         (compute_mapping, try_split_merged_entry, main): Update callers.
3495
3496 2009-07-02  Bruno Haible  <bruno@clisp.org>
3497
3498         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
3499
3500 2009-06-30  Bruno Haible  <bruno@clisp.org>
3501
3502         Reduce the number of uc_is_cased calls.
3503         * lib/unicase.h (casing_suffix_context_t): Add
3504         'first_char_except_ignorable' field.
3505         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
3506         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
3507         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
3508         Update initializer.
3509         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
3510         case-ignorable characters.
3511         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
3512         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
3513         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
3514         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
3515         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
3516
3517 2009-06-30  Bruno Haible  <bruno@clisp.org>
3518
3519         Tests for module 'unicase/ignorable'.
3520         * modules/unicase/ignorable-tests: New file.
3521         * tests/unicase/test-ignorable.c: New file, generated by
3522         gen-uni-tables.
3523
3524         Tests for module 'unicase/cased'.
3525         * modules/unicase/cased-tests: New file.
3526         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
3527         * tests/unicase/test-predicate-part1.h: New file, derived from
3528         tests/unictype/test-predicate-part1.h.
3529         * tests/unicase/test-predicate-part2.h: New file, same as
3530         tests/unictype/test-predicate-part2.h.
3531
3532         Fix evaluation of "Before C" condition of FINAL_SIGMA.
3533         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
3534         (output_casing_properties): New function.
3535         (main): Call it.
3536         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
3537         * lib/unicase/cased.c: Include unictype/bitmap.h.
3538         (uc_is_cased): Define through a bitmap lookup.
3539         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
3540         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
3541         (uc_is_case_ignorable): Define through a bitmap lookup.
3542         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
3543         lib/unictype/bitmap.h.
3544         (Depends-on): Add inline. Clean up.
3545         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
3546         lib/unictype/bitmap.h.
3547         (Depends-on): Add inline. Clean up.
3548         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
3549         recognition.
3550         * tests/unicase/test-u16-tolower.c (main): Likewise.
3551         * tests/unicase/test-u32-tolower.c (main): Likewise.
3552
3553 2009-06-30  Bruno Haible  <bruno@clisp.org>
3554
3555         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
3556         * lib/unicase/u16-casemap.c: Likewise.
3557         * lib/unicase/u32-casemap.c: Likewise.
3558
3559 2009-06-29  Bruno Haible  <bruno@clisp.org>
3560
3561         Define u32_casefold as a wrapper around u32_ct_casefold.
3562         * lib/unicase/u32-casefold.c: Update.
3563         * modules/unicase/u32-casefold (Depends-on): Add
3564         unicase/u32-ct-casefold, unicase/empty-prefix-context,
3565         unicase/empty-suffix-context. Clean up.
3566
3567         Define u16_casefold as a wrapper around u16_ct_casefold.
3568         * lib/unicase/u16-casefold.c: Update.
3569         * modules/unicase/u16-casefold (Depends-on): Add
3570         unicase/u16-ct-casefold, unicase/empty-prefix-context,
3571         unicase/empty-suffix-context. Clean up.
3572
3573         Define u8_casefold as a wrapper around u8_ct_casefold.
3574         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
3575         * lib/unicase/u8-casefold.c: Update.
3576         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
3577         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
3578
3579         Define u32_totitle as a wrapper around u32_ct_totitle.
3580         * lib/unicase/u32-totitle.c: Update.
3581         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
3582         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
3583
3584         Define u16_totitle as a wrapper around u16_ct_totitle.
3585         * lib/unicase/u16-totitle.c: Update.
3586         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
3587         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
3588
3589         Define u8_totitle as a wrapper around u8_ct_totitle.
3590         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
3591         functions.
3592         (FUNC): Delegate to U_CT_TOTITLE.
3593         * lib/unicase/u8-totitle.c: Update.
3594         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
3595         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
3596
3597         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
3598         invocation.
3599         * modules/unicase/u32-tolower (Depends-on): Add
3600         unicase/empty-prefix-context, unicase/empty-suffix-context.
3601
3602         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
3603         invocation.
3604         * modules/unicase/u16-tolower (Depends-on): Add
3605         unicase/empty-prefix-context, unicase/empty-suffix-context.
3606
3607         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
3608         * modules/unicase/u8-tolower (Depends-on): Add
3609         unicase/empty-prefix-context, unicase/empty-suffix-context.
3610
3611         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
3612         invocation.
3613         * modules/unicase/u32-toupper (Depends-on): Add
3614         unicase/empty-prefix-context, unicase/empty-suffix-context.
3615
3616         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
3617         invocation.
3618         * modules/unicase/u16-toupper (Depends-on): Add
3619         unicase/empty-prefix-context, unicase/empty-suffix-context.
3620
3621         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
3622         * modules/unicase/u8-toupper (Depends-on): Add
3623         unicase/empty-prefix-context, unicase/empty-suffix-context.
3624
3625         New module 'unicase/u32-ct-casefold'.
3626         * lib/unicase/u32-ct-casefold.c: New file.
3627         * modules/unicase/u32-ct-casefold: New file.
3628
3629         New module 'unicase/u16-ct-casefold'.
3630         * lib/unicase/u16-ct-casefold.c: New file.
3631         * modules/unicase/u16-ct-casefold: New file.
3632
3633         New module 'unicase/u8-ct-casefold'.
3634         * lib/unicase/u8-ct-casefold.c: New file.
3635         * lib/unicase/u-ct-casefold.h: New file, derived from
3636         lib/unicase/u-casefold.h.
3637         * modules/unicase/u8-ct-casefold: New file.
3638
3639         New module 'unicase/u32-ct-totitle'.
3640         * lib/unicase/u32-ct-totitle.c: New file.
3641         * modules/unicase/u32-ct-totitle: New file.
3642
3643         New module 'unicase/u16-ct-totitle'.
3644         * lib/unicase/u16-ct-totitle.c: New file.
3645         * modules/unicase/u16-ct-totitle: New file.
3646
3647         New module 'unicase/u8-ct-totitle'.
3648         * lib/unicase/u8-ct-totitle.c: New file.
3649         * lib/unicase/u-ct-totitle.h: New file, derived from
3650         lib/unicase/u-totitle.h.
3651         * modules/unicase/u8-ct-totitle: New file.
3652
3653         New module 'unicase/u32-ct-tolower'.
3654         * lib/unicase/u32-ct-tolower.c: New file.
3655         * modules/unicase/u32-ct-tolower: New file.
3656
3657         New module 'unicase/u16-ct-tolower'.
3658         * lib/unicase/u16-ct-tolower.c: New file.
3659         * modules/unicase/u16-ct-tolower: New file.
3660
3661         New module 'unicase/u8-ct-tolower'.
3662         * lib/unicase/u8-ct-tolower.c: New file.
3663         * modules/unicase/u8-ct-tolower: New file.
3664
3665         New module 'unicase/u32-ct-toupper'.
3666         * lib/unicase/u32-ct-toupper.c: New file.
3667         * modules/unicase/u32-ct-toupper: New file.
3668
3669         New module 'unicase/u16-ct-toupper'.
3670         * lib/unicase/u16-ct-toupper.c: New file.
3671         * modules/unicase/u16-ct-toupper: New file.
3672
3673         New module 'unicase/u8-ct-toupper'.
3674         * lib/unicase/u8-ct-toupper.c: New file.
3675         * modules/unicase/u8-ct-toupper: New file.
3676
3677         Add context arguments to u*_casemap functions.
3678         * lib/unicase/unicasemap.h: Include unicase.h.
3679         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
3680         suffix_context arguments.
3681         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
3682         functions.
3683         (FUNC): Add prefix_context and suffix_context arguments. Use
3684         uc_is_cased and uc_is_case_ignorable.
3685         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
3686         * lib/unicase/u16-casemap.c: Likewise.
3687         * lib/unicase/u32-casemap.c: Likewise.
3688         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
3689         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
3690         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
3691         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
3692         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
3693         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
3694
3695         New module 'unicase/u32-suffix-context'.
3696         * lib/unicase/u32-suffix-context.c: New file.
3697         * modules/unicase/u32-suffix-context: New file.
3698
3699         New module 'unicase/u16-suffix-context'.
3700         * lib/unicase/u16-suffix-context.c: New file.
3701         * modules/unicase/u16-suffix-context: New file.
3702
3703         New module 'unicase/u8-suffix-context'.
3704         * lib/unicase/u8-suffix-context.c: New file.
3705         * lib/unicase/u-suffix-context.h: New file.
3706         * modules/unicase/u8-suffix-context: New file.
3707
3708         New module 'unicase/empty-suffix-context'.
3709         * lib/unicase/empty-suffix-context.c: New file.
3710         * modules/unicase/empty-suffix-context: New file.
3711
3712         New module 'unicase/u32-prefix-context'.
3713         * lib/unicase/u32-prefix-context.c: New file.
3714         * modules/unicase/u32-prefix-context: New file.
3715
3716         New module 'unicase/u16-prefix-context'.
3717         * lib/unicase/u16-prefix-context.c: New file.
3718         * modules/unicase/u16-prefix-context: New file.
3719
3720         New module 'unicase/u8-prefix-context'.
3721         * lib/unicase/u8-prefix-context.c: New file.
3722         * lib/unicase/u-prefix-context.h: New file.
3723         * lib/unicase/context.h: New file.
3724         * modules/unicase/u8-prefix-context: New file.
3725
3726         New module 'unicase/empty-prefix-context'.
3727         * lib/unicase/empty-prefix-context.c: New file.
3728         * modules/unicase/empty-prefix-context: New file.
3729
3730         New module 'unicase/ignorable'.
3731         * lib/unicase/ignorable.c: New file.
3732         * modules/unicase/ignorable: New file.
3733
3734         New module 'unicase/cased'.
3735         * lib/unicase/caseprop.h: New file.
3736         * lib/unicase/cased.c: New file.
3737         * modules/unicase/cased: New file.
3738
3739         New functions for case mapping of substrings.
3740         * lib/unicase.h (casing_prefix_context_t): New type.
3741         (unicase_empty_prefix_context): New variable.
3742         (u8_casing_prefix_context, u16_casing_prefix_context,
3743         u32_casing_prefix_context, u8_casing_prefixes_context,
3744         u16_casing_prefixes_context, u32_casing_prefixes_context): New
3745         declarations.
3746         (casing_suffix_context_t): New type.
3747         (unicase_empty_suffix_context): New variable.
3748         (u8_casing_suffix_context, u16_casing_suffix_context,
3749         u32_casing_suffix_context, u8_casing_suffixes_context,
3750         u16_casing_suffixes_context, u32_casing_suffixes_context,
3751         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
3752         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
3753         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
3754         declarations.
3755
3756 2009-06-28  Jim Meyering  <meyering@redhat.com>
3757
3758         boostrap: indent only with spaces
3759         * build-aux/bootstrap: Indent only with spaces, never TABs.
3760
3761         bootstrap: split long lines
3762         * build-aux/bootstrap: Keep line length < 80.
3763
3764         bootstrap: sync from coreutils
3765         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
3766         just as autoreconf does.  Verify a list of prerequisite
3767         package-name,version-number pairs if defined in bootstrap.conf.
3768         Refer to README-prereq, if prerequisites are not satisfied.
3769
3770 2009-06-27  Eric Blake  <ebb9@byu.net>
3771
3772         tests: add test for bogus NULL definition
3773         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
3774         * tests/test-stdlib.c: Likewise.
3775         * tests/test-string.c: Likewise.
3776         * tests/test-locale.c: Likewise.
3777         * tests/test-unistd.c: Likewise.
3778         * modules/stdio-tests (Depends-on): Add verify.
3779         * modules/stdlib-tests (Depends-on): Likewise.
3780         * modules/string-tests (Depends-on): Likewise.
3781         * modules/locale-tests (Depends-on): Likewise.
3782         * modules/unistd-tests (Depends-on): Likewise.
3783
3784 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
3785
3786         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
3787         self-explaining comment.
3788         * m4/selinux-selinux-h: Update serial.
3789         (gl_LIBSELINUX): New macro, adding a warning for missing development
3790         packages to code extracted from...
3791         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
3792         Add warning for missing development packages here, too.
3793
3794 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
3795
3796         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
3797
3798 2009-06-25  Eric Blake  <ebb9@byu.net>
3799
3800         version-etc: fix regression
3801         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
3802         gcc.
3803         (version_etc): Use it, to catch bugs with trailing NULL.
3804         * lib/version-etc.c (version_etc_arn): Delete unused argument.
3805         (version_etc_va): Fix logic bug.
3806         * modules/version-etc-tests: Add test.
3807         * tests/test-version-etc.c: New file.
3808         * tests/test-version-etc.sh: Likewise.
3809
3810 2009-06-25  Sam Steingold  <sds@gnu.org>
3811
3812         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
3813         mbtowc declaration.
3814
3815 2009-06-25  Eric Blake  <ebb9@byu.net>
3816
3817         fpurge: migrate into <stdio.h>
3818         * lib/fpurge.h: Delete...
3819         * lib/stdio.in.h (fpurge): ...and declare here, instead.
3820         * lib/fpurge.c (fpurge): Change declaring header.
3821         * modules/fpurge (Files): Drop deleted file.
3822         (Depends-on): Add stdio.
3823         (configure.ac): Set witness.
3824         * modules/stdio (Makefile.am): Support fpurge macros.
3825         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
3826         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
3827         * lib/fflush.c: Update client.
3828         * tests/test-fpurge.c: Likewise.
3829         * NEWS: Mention the change.
3830
3831 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
3832
3833        * lib/argp-version-etc.c (program_authors): Add const
3834        qualifier.
3835        * lib/version-etc.c: Fix typos in the comments.
3836        * modules/argp-version-etc: Depends on version-etc.
3837
3838 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
3839
3840         argp-version-etc: new module.
3841
3842         * lib/argp-version-etc.c: New file.
3843         * lib/argp-version-etc.h: New file.
3844         * modules/argp-version-etc: New file.
3845         * modules/argp-version-etc-tests: New file.
3846         * tests/test-argp-version-etc.c: New test.
3847         * tests/test-argp-version-etc-1.sh: New test.
3848
3849 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
3850
3851         Provide additional interfaces and documentation for version-etc
3852         module.
3853
3854         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
3855         interfaces.
3856         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
3857         prototypes.
3858
3859 2009-06-24  Bruno Haible  <bruno@clisp.org>
3860
3861         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
3862         HAVE_LIB${NAME} macro.
3863         Reported by Sam Steingold <sds@gnu.org>.
3864
3865 2009-06-23  Simon Josefsson  <simon@josefsson.org>
3866
3867         * modules/hash-tests (test_hash_LDADD): Link to libintl when
3868         needed.
3869
3870 2009-06-21  Bruno Haible  <bruno@clisp.org>
3871
3872         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
3873         work.
3874         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
3875         together with LIB${NAME}, LTLIB${NAME}.
3876         Reported by Sam Steingold <sds@gnu.org>.
3877
3878 2009-06-20  Jim Meyering  <meyering@redhat.com>
3879
3880         tests: make sc_require_test_exit_idiom more generic
3881         * top/maint.mk (Exit_witness_file): New overridable variable.
3882         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
3883         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
3884
3885 2009-06-19  Jim Meyering  <meyering@redhat.com>
3886
3887         hash: reverse order of src/dst parameters in an internal interface
3888         * lib/hash.c (transfer_entries): Reverse order of parameters to
3889         put DST before SRC.  Adjust callers.
3890
3891         tests: test-hash: avoid wholesale duplication
3892         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
3893         Instead, use a loop and add a single conditional.
3894
3895         tests: test-hash: allow seed selection via a command line argument
3896         * tests/test-hash.c (get_seed): New function.
3897         (main): Use it.
3898
3899 2009-06-19  Eric Blake  <ebb9@byu.net>
3900
3901         hash: avoid memory leak on allocation failure
3902         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
3903         failure.  Factor repeated algorithm...
3904         (transfer_entries): ...into new helper routine.
3905         (hash_delete): React to hash_rehash return value.
3906
3907         hash: reduce memory pressure in hash_rehash no-op case
3908         * lib/hash.c (next_prime): Avoid overflow.
3909         (hash_initialize): Factor bucket size computation...
3910         (compute_bucket_size): ...into new helper function.
3911         (hash_rehash): Use new function and open coding to reduce memory
3912         pressure, and avoid a memory leak in USE_OBSTACK code.
3913         Reported by Jim Meyering.
3914
3915 2009-06-18  Eric Blake  <ebb9@byu.net>
3916
3917         hash: make rotation more obvious
3918         * modules/hash (Depends-on): Add bitrotate and stdint.
3919         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
3920         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
3921         (SIZE_MAX): Rely on headers for definition.
3922         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
3923         (raw_hasher): Use rotr_sz.
3924         Suggested by Jim Meyering.
3925
3926         hash: fix memory leak in last patch
3927         * lib/hash.c (hash_rehash): Avoid memory leak.
3928
3929         hash: avoid no-op rehashing
3930         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
3931
3932         hash: provide default callback functions
3933         * lib/hash.c (raw_hasher, raw_comparator): New functions.
3934         (hash_initialize): Use them as defaults.
3935         * tests/test-hash.c (main): Test this.
3936
3937         hash: minor optimization
3938         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
3939         when possible.
3940         (hash_initialize): Document this promise.
3941         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
3942         * tests/test-hash.c (hash_compare_strings): Test this.
3943
3944 2009-06-18  Bruno Haible  <bruno@clisp.org>
3945
3946         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
3947         going to be replaced anyway.
3948
3949 2009-06-18  Bruno Haible  <bruno@clisp.org>
3950
3951         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
3952         in one place.
3953         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
3954         be replaced anyway.
3955
3956 2009-06-18  Eric Blake  <ebb9@byu.net>
3957
3958         hash: check for resize before insertion
3959         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
3960         threshold before insertion, so that a pathological hash_rehash
3961         that fills every bucket can still trigger another rehash.
3962
3963 2009-06-18  Jim Meyering  <meyering@redhat.com>
3964
3965         hash-tests: add a loop around the small tests
3966         * tests/test-hash.c (main): Repeat small tests with selected
3967         small initial table sizes.
3968
3969 2009-06-17  Eric Blake  <ebb9@byu.net>
3970
3971         hash: minor cleanups
3972         * lib/hash.h (hash_entry): Make opaque, by moving...
3973         * lib/hash.c (hash_entry): ...here.
3974         (hash_insert): Clarify restrictions on what can be inserted.
3975         (hash_get_next): Clarify when it is safe to remove an element
3976         during traversal.
3977         (check_tuning): Skip verification when tuning is known safe.
3978         (hash_initialize): Clarify restrictions on tuning.
3979
3980 2009-06-17  Jim Meyering  <jim@meyering.net>
3981         and Eric Blake  <ebb9@byu.net>
3982
3983         hash-tests: new module
3984         * modules/hash-tests: New file.
3985         * tests/test-hash.c: New file.
3986
3987 2009-06-17  Eric Blake  <ebb9@byu.net>
3988
3989         strstr-simple: document new module
3990         * MODULES.html.sh: Document new module.
3991
3992         strstr, strcasestr: replace on platforms with broken memchr
3993         * modules/strstr: Split into...
3994         * modules/strstr-simple: ...new module that does not care about
3995         performance, but does care about glibc bug.
3996         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
3997         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
3998         if platform memchr is broken, per Debian bug 521737.
3999         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
4000         memchr.
4001         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
4002         * doc/posix-functions/strstr.texi (strstr): Document the fix.
4003         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
4004         * modules/mountlist (Depends-on): Add strstr-simple.
4005         * modules/gen-uni-tables (Depends-on): Likewise.
4006         * modules/argz (Depends-on): Add strstr.
4007
4008 2009-06-17  Bruno Haible  <bruno@clisp.org>
4009
4010         * modules/posix_spawn-internal (Depends-on): Add errno.
4011
4012 2009-06-17  Bruno Haible  <bruno@clisp.org>
4013
4014         Define missing ESTALE on Interix 3.5.
4015         * lib/errno.in.h (ESTALE): Assign a value if missing.
4016         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
4017         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
4018         missing.
4019         * doc/posix-headers/errno.texi: Mention the Interix bug.
4020         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
4021
4022 2009-06-15  Eric Blake  <ebb9@byu.net>
4023
4024         memchr, memchr2: add valgrind exception
4025         * lib/memchr.valgrind: New file.
4026         * lib/memchr2.valgrind: New file.
4027         * modules/memchr (Files): Distribute valgrind file.
4028         * modules/memchr2 (Files): Likewise.
4029
4030         docs: memchr is no longer obsolete
4031         * MODULES.html.sh: Move memchr from obsolete to string.h section.
4032         * lib/string.in.h (memchr): Simplify logic.
4033
4034 2009-06-14  Jim Meyering  <meyering@redhat.com>
4035
4036         link-follow: fix the "checking..." message to not mention trailing slash
4037         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
4038         never considered trailing slashes.
4039
4040 2009-06-14  Bruno Haible  <bruno@clisp.org>
4041
4042         * m4/memchr.m4: Mention also the bug on IA-64.
4043         * doc/posix-functions/memchr.texi: Likewise.
4044
4045 2009-06-12  Eric Blake  <ebb9@byu.net>
4046
4047         memchr: detect broken x86_64 and alpha implementations
4048         * modules/memchr-tests (Depends-on): Move mmap detection...
4049         * modules/memchr (Depends-on): ...here.
4050         (configure.ac): Set indicator.
4051         * lib/string.in.h (memchr): Declare replacement.
4052         * modules/string (Makefile.am): Trigger replacement.
4053         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
4054         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
4055         bugs.
4056         * doc/posix-functions/memchr.texi (memchr): Document the bug.
4057         * modules/getpagesize (License): Relax license.
4058
4059 2009-06-11  Bruno Haible  <bruno@clisp.org>
4060
4061         * lib/idpriv.h: Add more references.
4062
4063 2009-06-08  Bruno Haible  <bruno@clisp.org>
4064
4065         Tests for module 'idpriv-droptemp'.
4066         * modules/idpriv-droptemp-tests: New file.
4067         * tests/test-idpriv-droptemp.sh: New file.
4068         * tests/test-idpriv-droptemp.su.sh: New file.
4069         * tests/test-idpriv-droptemp.c: New file.
4070
4071         New module 'idpriv-droptemp'.
4072         * lib/idpriv-droptemp.c: New file.
4073         * modules/idpriv-droptemp: New file.
4074
4075 2009-06-08  Bruno Haible  <bruno@clisp.org>
4076
4077         Tests for module 'idpriv-drop'.
4078         * modules/idpriv-drop-tests: New file.
4079         * tests/test-idpriv-drop.sh: New file.
4080         * tests/test-idpriv-drop.su.sh: New file.
4081         * tests/test-idpriv-drop.c: New file.
4082
4083         New module 'idpriv-drop'.
4084         * lib/idpriv.h: New file.
4085         * lib-idpriv-drop.c: New file.
4086         * m4/idpriv.m4: New file.
4087         * modules/idpriv-drop: New file.
4088
4089 2009-06-08  Bruno Haible  <bruno@clisp.org>
4090
4091         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
4092         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
4093         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
4094         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
4095         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
4096         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
4097         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
4098
4099 2009-06-08  Eric Blake  <ebb9@byu.net>
4100
4101         test-strstr: use memory fence, when possible
4102         * tests/test-strstr.c (main): Use memory fence, in order to be
4103         more likely to trigger Debian bug 521737.
4104         * modules/strstr-tests (Files): Pull in additional files.
4105
4106         memchr: no longer obsolete, for wider field testing
4107         * modules/memchr (Status, Notice): Delete, this module is no
4108         longer obsolete.
4109         * modules/vasnprintf (Depends-on): Add memchr.
4110
4111 2009-06-07  Jim Meyering  <meyering@redhat.com>
4112
4113         hash: declare some functions with the warn_unused_result attribute
4114         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
4115
4116 2009-06-07  Bruno Haible  <bruno@clisp.org>
4117
4118         * tests/test-alignof.c: Don't test int64_t if it does not exist.
4119         Reported by Eric Blake.
4120
4121 2009-06-06  Eric Blake  <ebb9@byu.net>
4122
4123         test-alignof: fix typo with long double
4124         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
4125         compiler error.
4126
4127 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
4128
4129         Escape non-texinfo { and }s.
4130         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
4131         markup error.
4132
4133 2009-06-04  Jim Meyering  <meyering@redhat.com>
4134
4135         gitlog-to-changelog: don't infloop on an empty commit log
4136         * build-aux/gitlog-to-changelog: Warn about an empty log message.
4137         Reported by Boris Petersen <transacid@centerim.org>.
4138
4139 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
4140
4141         version-etc: extend for packagers
4142         Add three new configure options, intended for packagers:
4143           --with-packager="packager name"
4144           --with-packager-version="packager-specific version"
4145           --with-packager-bug-reports="packager bug reporting"
4146         An example with coreutils:
4147           $ ./configure \
4148             --with-packager=Gentoo \
4149             --with-packager-bug-report=http://bugs.gentoo.org/ \
4150             --with-packager-version="patchset 1.6"
4151           $ ./src/ls --version | head -n3
4152           ls (GNU coreutils) 7.1-dirty
4153           Packaged by Gentoo (patchset 1.6)
4154           Copyright (C) 2009 Free Software Foundation, Inc.
4155         Note that the bug reporting info via --help doesn't show up because
4156         coreutils uses its own custom emit_bug_reporting_address() implementation
4157         in src/system.h.  If it didn't, it'd look like:
4158           $ ./src/ls --help | tail -n4
4159           Report bugs to <bug-coreutils@gnu.org>.
4160           Report Gentoo bugs to <http://bugs.gentoo.org/>.
4161           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
4162           General help using GNU software: <http://www.gnu.org/gethelp/>.
4163         * lib/version-etc.c: Print new information, if provided.
4164         * m4/version-etc.m4: New file.
4165         * modules/version-etc (Files): Add m4/version-etc.m4.
4166         (configure.ac): Add gl_VERSION_ETC.
4167
4168 2009-05-31  Bruno Haible  <bruno@clisp.org>
4169
4170         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
4171         and 'int64_t'.
4172         * modules/alignof-tests (Dependencies): Add stdint.
4173         Reported by Eric Blake.
4174
4175 2009-05-31  Bruno Haible  <bruno@clisp.org>
4176
4177         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
4178         restriction due to compiler bugs.
4179         Reported by Eric Blake.
4180
4181 2009-05-31  Simon Josefsson  <simon@josefsson.org>
4182             Bruno Haible  <bruno@clisp.org>
4183
4184         Fix test-alignof failure.
4185         * lib/alignof.h (alignof_slot): New macro.
4186         (alignof_type): New macro, with the same semantics as the previous
4187         'alignof'.
4188         (alignof): Alias to alignof_slot.
4189         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
4190         check that the results are usable as constant expressions.
4191
4192 2009-05-31  Bruno Haible  <bruno@clisp.org>
4193
4194         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
4195         * tests/test-memchr.c (main): Check that memchr does not read past the
4196         first occurrence of the byte.
4197         * tests/test-strstr.c (main): Update comment.
4198         Suggested by Eric Blake.
4199
4200 2009-05-30  Bruno Haible  <bruno@clisp.org>
4201
4202         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
4203         detail how to use dumpbin.
4204         Reported by David Byron <dbyron@dbyron.com>.
4205
4206 2009-06-02  Simon Josefsson  <simon@josefsson.org>
4207
4208         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
4209
4210 2009-06-02  Simon Josefsson  <simon@josefsson.org>
4211
4212         * m4/manywarnings.m4: Add GCC 4.4 warnings.
4213
4214 2009-05-28  Bruno Haible  <bruno@clisp.org>
4215
4216         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
4217         build-aux/ files.
4218
4219 2009-05-28  Simon Josefsson  <simon@josefsson.org>
4220
4221         * gnulib-tool (func_import): Transform license on build-aux/ files too.
4222
4223 2009-05-27  Simon Josefsson  <simon@josefsson.org>
4224
4225         * gnulib-tool (sed_transform_main_lib_file)
4226         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
4227         regexps.
4228
4229 2009-05-26  Simon Josefsson  <simon@josefsson.org>
4230
4231         * tests/test-strstr.c: Add another self-test.
4232         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
4233         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
4234
4235 2009-05-23  Bruno Haible  <bruno@clisp.org>
4236
4237         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
4238         change.
4239
4240 2009-05-21  Bruno Haible  <bruno@clisp.org>
4241
4242         Simplify use of mode_t varargs.
4243         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
4244         uses 'mode_t' or 'int'.
4245         * lib/openat.c (openat): Likewise.
4246         * lib/open-safer.c (open_safer): Likewise.
4247         * m4/mode_t.m4: New file.
4248         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
4249         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
4250         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
4251         * modules/open (Files): Add m4/mode_t.m4.
4252         * modules/openat (Files): Likewise.
4253         * modules/fcntl-safer (Files): Likewise.
4254         Suggested by Eric Blake.
4255
4256 2009-05-21  Pádraig Brady  <P@draigbrady.com>
4257
4258         * doc/glibc-functions/fallocate.texi: New file.
4259         * doc/gnulib.texi: Include it.
4260
4261 2009-05-21  Eric Blake  <ebb9@byu.net>
4262             Bruno Haible  <bruno@clisp.org>
4263
4264         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
4265         invocations.
4266         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
4267
4268 2009-05-21  Eric Blake  <ebb9@byu.net>
4269             Bruno Haible  <bruno@clisp.org>
4270
4271         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
4272         include_next. Fix of 2008-11-20 commit.
4273         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
4274         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
4275         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
4276         NEXT_MATH_H.
4277         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
4278         instead of NEXT_MATH_H.
4279
4280 2009-05-21  Bruno Haible  <bruno@clisp.org>
4281
4282         Avoid redefinition warnings for SIZE_MAX.
4283         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
4284         Reported by Simon Josefsson.
4285
4286 2009-05-21  Bruno Haible  <bruno@clisp.org>
4287
4288         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
4289         AC_CACHE_VAL.
4290
4291 2009-05-20  Bruno Haible  <bruno@clisp.org>
4292
4293         Make zeroptr.h work on mingw.
4294         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
4295         mprotect.
4296         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
4297         * modules/memchr2-tests (configure.ac): Likewise.
4298         * modules/memcmp-tests (configure.ac): Likewise.
4299         * modules/memmem-tests (configure.ac): Likewise.
4300         * modules/memrchr-tests (configure.ac): Likewise.
4301         Reported by Simon Josefsson.
4302
4303 2009-05-20  Simon Josefsson  <simon@josefsson.org>
4304
4305         * tests/test-glob.c: Include string.h for strcmp prototype.
4306
4307 2009-05-20  Simon Josefsson  <simon@josefsson.org>
4308
4309         * modules/getdelim (Depends-on): Add explicit stdint, although it
4310         was implicitly already pulled in via realloc-posix.
4311         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
4312
4313 2009-05-20  Simon Josefsson  <simon@josefsson.org>
4314
4315         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
4316         G. Christensen" <tgc@jupiterrise.com>.
4317         * m4/sys_socket_h.m4: Check for sa_family_t.
4318         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
4319         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
4320         * tests/test-sys_socket.c: Check that sa_family_t works.
4321
4322 2009-05-18  Eric Blake  <ebb9@byu.net>
4323
4324         maint.mk: allow gnulib_dir in VPATH build
4325         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
4326
4327 2009-05-15  Jim Meyering  <meyering@redhat.com>
4328
4329         maint.mk: Give gnulib_dir a default definition.
4330         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
4331         Thus, most packages no longer need to specify this variable in cfg.mk
4332
4333 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
4334
4335         rename.m4: fix typos that would make non-mingw cross-configure fail
4336         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
4337
4338 2009-05-13  Eric Blake  <ebb9@byu.net>
4339
4340         mmap-anon: avoid out-of-order autoconf expansion
4341         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
4342         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
4343         * modules/memchr-tests (Depends-on): Add extensions.
4344         * modules/memchr2-tests (Depends-on): Add extensions.
4345         * modules/memcmp-tests (Depends-on): Add extensions.
4346         * modules/memmem-tests (Depends-on): Add extensions.
4347         * modules/memrchr-tests (Depends-on): Add extensions.
4348
4349 2009-05-13  Bruno Haible  <bruno@clisp.org>
4350
4351         Make some tests ISO C 99 compliant.
4352         * tests/zerosize-ptr.h: New file.
4353         * tests/test-memchr.c: Include zerosize-ptr.h.
4354         (main): Use a zero-size object pointer instead of NULL.
4355         * tests/test-memchr2.c: Include zerosize-ptr.h.
4356         (main): Use a zero-size object pointer instead of NULL.
4357         * tests/test-memcmp.c: Include zerosize-ptr.h.
4358         (main): Use a zero-size object pointer instead of NULL.
4359         * tests/test-memmem.c: Include zerosize-ptr.h.
4360         (main): Use a zero-size object pointer instead of NULL.
4361         * tests/test-memrchr.c: Include zerosize-ptr.h.
4362         (main): Use a zero-size object pointer instead of NULL.
4363         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
4364         m4/mmap-anon.m4.
4365         (Depends-on): Add getpagesize.
4366         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
4367         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
4368         m4/mmap-anon.m4.
4369         (Depends-on): Add getpagesize.
4370         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
4371         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
4372         m4/mmap-anon.m4.
4373         (Depends-on): Add getpagesize.
4374         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
4375         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
4376         m4/mmap-anon.m4.
4377         (Depends-on): Add getpagesize.
4378         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
4379         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
4380         m4/mmap-anon.m4.
4381         (Depends-on): Add getpagesize.
4382         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
4383
4384 2009-05-12  Bruno Haible  <bruno@clisp.org>
4385
4386         Tests for module 'alignof'.
4387         * modules/alignof-tests: New file.
4388         * tests/test-alignof.c: New file.
4389
4390 2009-05-12  Bruno Haible  <bruno@clisp.org>
4391
4392         Fix alignof macro.
4393         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
4394         vendor compilers that are always correct.
4395
4396 2009-05-12  Bruno Haible  <bruno@clisp.org>
4397
4398         Make the MAP_ANONYMOUS detection work on HP-UX 11.
4399         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
4400         not whether its fully works.
4401
4402 2009-05-12  Bruno Haible  <bruno@clisp.org>
4403
4404         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
4405
4406 2009-05-12  Jim Meyering  <meyering@redhat.com>
4407
4408         * top/maint.mk: Adjust backslash alignment.
4409
4410 2009-05-11  Simon Josefsson  <simon@josefsson.org>
4411
4412         * top/maint.mk: Make $(srcdir)/build-aux configurable.
4413
4414 2009-05-11  Eric Blake  <ebb9@byu.net>
4415
4416         argp: avoid undefined behavior
4417         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
4418         macros.
4419
4420 2009-05-08  Simon Josefsson  <simon@josefsson.org>
4421
4422         * tests/test-vc-list-files-git.sh: Do git config of user.email and
4423         user.name to prevent git commit from complaining.
4424
4425 2009-05-10  Bruno Haible  <bruno@clisp.org>
4426
4427         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
4428         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
4429         it rewrites every file name only once.
4430         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
4431
4432 2009-05-08  Bruno Haible  <bruno@clisp.org>
4433
4434         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
4435         instead of 'max'.
4436
4437 2009-05-08  Simon Josefsson  <simon@josefsson.org>
4438
4439         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
4440         sockaddr_storage test.
4441
4442 2009-05-07  Simon Josefsson  <simon@josefsson.org>
4443
4444         * modules/sys_socket (Makefile.am): Substitute
4445         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
4446         * m4/sys_socket_h.m4: Check for sockaddr_storage.
4447         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
4448         * tests/test-sys_socket.c: Check sockaddr_storage.
4449
4450 2009-05-08  Bruno Haible  <bruno@clisp.org>
4451
4452         New module 'alignof'.
4453         * lib/alignof.h: New file.
4454         * modules/alignof: New file.
4455
4456 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
4457             Bruno Haible  <bruno@clisp.org>
4458
4459         Fix test-file-has-acl on FreeBSD.
4460         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
4461         mask is implicitly added.
4462         * tests/test-file-has-acl.c: Include <signal.h>.
4463         (main): Terminate the test after 5 seconds.
4464         * modules/acl-tests (configure.ac): Check for alarm function.
4465
4466 2009-05-04  Bruno Haible  <bruno@clisp.org>
4467
4468         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
4469         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
4470         * modules/errno (configure.ac): Drop AC_REQUIRE.
4471         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
4472         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
4473
4474 2009-05-04  Simon Josefsson  <simon@josefsson.org>
4475
4476         * modules/glob-tests: New module.
4477         * tests/test-glob.c: Add.
4478
4479 2009-05-04  Simon Josefsson  <simon@josefsson.org>
4480
4481         * modules/fnmatch-tests: New module.
4482         * tests/test-fnmatch.c: Add.
4483
4484 2009-05-04  Eric Blake  <ebb9@byu.net>
4485
4486         maint: make the new no-submodule-changes rule VPATH-safe
4487         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
4488
4489 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
4490             Bruno Haible  <bruno@clisp.org>
4491
4492         acl: Fix infinite loop on FreeBSD.
4493         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
4494         of return value from acl_get_entry.
4495         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
4496         Likewise.
4497
4498 2009-05-03  Bruno Haible  <bruno@clisp.org>
4499
4500         * lib/acl-internal.h (acl_entries): Clarify return value.
4501         * lib/acl_entries.c (acl_entries): Likewise.
4502
4503 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
4504
4505         Bug fix in acl module.
4506         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
4507
4508 2009-05-03  Bruno Haible  <bruno@clisp.org>
4509
4510         Create gperf-generated file in the source dir, not in the build dir.
4511         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
4512         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
4513         * modules/unicase/locale-language (unicase/locale-languages.h):
4514         Likewise.
4515         * modules/unicase/special-casing (unicase/special-casing-table.h):
4516         Likewise.
4517         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
4518         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
4519         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
4520         Reported by Ralf Wildenhues.
4521
4522 2009-05-03  Bruno Haible  <bruno@clisp.org>
4523
4524         * modules/fnmatch (Description, configure.ac): Taken from
4525         fnmatch-posix.
4526         * modules/fnmatch-posix: Turn into a symbolic reference to the
4527         'fnmatch' module, and deprecate.
4528         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
4529
4530 2009-05-03  Bruno Haible  <bruno@clisp.org>
4531
4532         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
4533         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
4534         Reported by Ralf Wildenhues.
4535
4536 2009-05-04  Simon Josefsson  <simon@josefsson.org>
4537
4538         * m4/fnmatch.m4: Fix fnmatch re-define.
4539
4540 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
4541
4542         priv-set: new module and tests; adapt write-any-file
4543         * lib/priv-set.c: New file.
4544         * lib/priv-set.h: New file.
4545         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
4546         * lib/write-any-file.c: Simplify by using priv-set module.
4547         * m4/priv-set.m4: New file.
4548         * modules/priv-set: New file.
4549         * modules/unlinkdir: Add dependency on priv-set module.
4550         * modules/write-any-file: Likewise.
4551
4552         Tests for module 'priv-set'.
4553         * modules/priv-set-tests: New file.
4554         * tests/test-priv-set.c: New file.
4555
4556 2009-05-03  Jim Meyering  <meyering@redhat.com>
4557             Bruno Haible  <bruno@clisp.org>
4558
4559         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
4560         use the converted UTF-8 variant of the name instead.
4561
4562 2009-05-03  Jim Meyering  <meyering@redhat.com>
4563
4564         tests: tighten some getdate tests
4565         * tests/test-getdate.c (main): Tighten tests: require equality,
4566         not just greater than.  Set TZ envvar to UTC0.
4567
4568 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
4569
4570         getdate: correctly interpret "next monday" when run on a Monday
4571         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
4572         that e.g., "next tues" (when run on a tuesday) results in a date
4573         that is one week in the future, and not today's date.
4574         I.e., add a week when the wday is the same as the current one.
4575         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
4576         and earlier by Martin Bernreuther and Jan Minář.
4577         * tests/test-getdate.c (main): Check that "next DAY" is always in
4578         the future and that "last DAY" is always in the past.
4579
4580 2009-05-02  Jim Meyering  <meyering@redhat.com>
4581
4582         build: ensure that a release build fails when a submodule is unclean
4583         * top/maint.mk (no-submodule-changes): New rule.
4584         (alpha beta major): Depend on it.
4585
4586 2009-05-02  Bruno Haible  <bruno@clisp.org>
4587
4588         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
4589         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
4590         shell variable gl_fnmatch_required to detect which variant is
4591         requested.
4592         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
4593         gl_FUNC_FNMATCH_POSIX.
4594         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
4595         exclude fnmatch-posix.
4596
4597 2009-05-02  Bruno Haible  <bruno@clisp.org>
4598
4599         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
4600         * modules/mbsrtowcs (License): Change to LGPLv2+.
4601         * modules/strnlen1 (License): Likewise.
4602         Reported by Simon Josefsson.
4603
4604 2009-05-02  Bruno Haible  <bruno@clisp.org>
4605
4606         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
4607         "cross".
4608         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
4609         gnulib-tool was called with option --source-base=lib.
4610
4611 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4612
4613         Use automake *-local hooks without commands, for extensibility.
4614         * modules/localcharset (Makefile.am): Rename install-exec-local
4615         rule to install-exec-localcharset, and make it a prerequisite of
4616         install-exec-local.  Likewise, rename the uninstall-local rule to
4617         uninstall-localcharset, and make it a prerequisite of the former.
4618
4619 2009-05-01  Bruno Haible  <bruno@clisp.org>
4620
4621         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
4622         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
4623         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
4624         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
4625         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
4626         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
4627         m4/locale-zh.m4, m4/codeset.m4.
4628
4629         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
4630         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
4631         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
4632         m4/locale-zh.m4.
4633
4634         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
4635         REPLACE_WCRTOMB if mbstate_t must be replaced.
4636         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
4637         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
4638
4639 2009-05-01  Bruno Haible  <bruno@clisp.org>
4640
4641         Avoid compiler warnings when redefining macros defined by <libintl.h>.
4642         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
4643         dngettext, dcngettext, textdomain, bindtextdomain,
4644         bind_textdomain_codeset): Undefine before redefining.
4645
4646 2009-04-30  Bruno Haible  <bruno@clisp.org>
4647
4648         Fix bug introduced on 2009-04-25.
4649         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
4650         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
4651         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
4652         is defined.
4653         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
4654         is defined.
4655         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
4656         is defined.
4657         Reported by Elbert_Pol <elbert.pol@gmail.com>.
4658
4659 2009-04-28  Bruno Haible  <bruno@clisp.org>
4660
4661         Comment tweaks.
4662         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
4663         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
4664         * lib/unicase.h (u*_casexfrm): Likewise.
4665         Reported by Paolo Bonzini.
4666
4667 2009-04-28  Bruno Haible  <bruno@clisp.org>
4668
4669         Fix a compilation error.
4670         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
4671         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
4672         Reported by Jim Meyering.
4673
4674 2009-04-27  Bruno Haible  <bruno@clisp.org>
4675
4676         New module 'libunistring'.
4677         * modules/libunistring: New file.
4678         * m4/libunistring.m4: New file.
4679         * MODULES.html.sh (Unicode string functions): Add it.
4680
4681 2009-04-27  Eric Blake  <ebb9@byu.net>
4682
4683         maint.mk: allow package-specific header to provide <config.h>
4684         * top/maint.mk (sc_require_config_h): New variable.
4685         (sc_require_config_h, sc_require_config_h_first): Use it.
4686
4687 2009-04-27  Simon Josefsson  <simon@josefsson.org>
4688
4689         * top/maint.mk (sc_avoid_if_before_free): Except
4690         useless-if-before-free script.
4691
4692 2009-04-27  Eric Blake  <ebb9@byu.net>
4693
4694         maintainer-makefile: depend on all required helper scripts
4695         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
4696         useless-if-before-free.
4697         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
4698         version, rather than assuming gnulib checkout is available.
4699         Reported by Simen Josefsson.
4700
4701 2009-04-26  Bruno Haible  <bruno@clisp.org>
4702
4703         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
4704         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
4705         "../" or "..".
4706
4707 2009-04-26  Bruno Haible  <bruno@clisp.org>
4708
4709         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
4710         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
4711         AC_LIB_HAVE_LINKFLAGS.
4712
4713 2009-04-26  Bruno Haible  <bruno@clisp.org>
4714
4715         Simplify calling convention of u*_conv_from_encoding.
4716         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
4717         u32_conv_from_encoding): Expect a resultbuf argument and return the
4718         result directly as a pointer.
4719         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
4720         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
4721         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
4722         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
4723         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
4724         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
4725         Update.
4726         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
4727         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
4728         * lib/vasnprintf.c (VASNPRINTF): Update.
4729         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
4730         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
4731         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
4732         * NEWS: Mention the change.
4733
4734 2009-04-26  Bruno Haible  <bruno@clisp.org>
4735
4736         Simplify calling convention of u*_conv_to_encoding.
4737         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
4738         u32_conv_to_encoding): Expect a resultbuf argument and return the
4739         result directly as a pointer.
4740         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
4741         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
4742         freeing scaled_offsets if mem_iconveha failed.
4743         * lib/unicase/u-casexfrm.h (FUNC): Update.
4744         * lib/uninorm/u-normxfrm.h (FUNC): Update.
4745         * lib/vasnprintf.c (VASNPRINTF): Update.
4746         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
4747         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
4748         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
4749         * NEWS: Mention the change.
4750
4751 2009-04-26  Bruno Haible  <bruno@clisp.org>
4752
4753         Avoid test failures on AIX and OSF/1.
4754         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
4755         malloc(0).
4756         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
4757         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
4758         Likewise.
4759         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
4760         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
4761         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
4762         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
4763         * doc/posix-functions/malloc.texi: Document the portability problem
4764         related to malloc(0).
4765
4766 2009-04-26  Bruno Haible  <bruno@clisp.org>
4767
4768         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
4769         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
4770         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
4771
4772 2009-04-25  Bruno Haible  <bruno@clisp.org>
4773
4774         Avoid link error when creating a namespace clean library.
4775         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
4776         as macro with arguments if already defined as an alias.
4777         * lib/signbitf.c (gl_signbitf): Don't undefine.
4778         * lib/signbitd.c (gl_signbitd): Don't undefine.
4779         * lib/signbitl.c (gl_signbitl): Don't undefine.
4780
4781 2009-04-25  Jim Meyering  <meyering@redhat.com>
4782
4783         vc-list-files: fix another quoting bug
4784         * build-aux/vc-list-files: Avoid sed backslash expansion
4785         of pathological directory names.
4786
4787 2009-04-25  Eric Blake  <ebb9@byu.net>
4788
4789         vc-list-files: fix shell quoting error
4790         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
4791         timestamp.
4792
4793 2009-04-25  Jim Meyering  <meyering@redhat.com>
4794
4795         vc-list-files: restore lost functionality with subdir argument
4796         * build-aux/vc-list-files: When given a non-"." sub-directory
4797         argument, substitute the $dir/ prefix back onto each resulting name.
4798         Otherwise, coreutils' root_tests check would fail.
4799
4800 2009-04-24  Eric Blake  <ebb9@byu.net>
4801
4802         vc-list-files: ignore git symlinks
4803         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
4804         than ls-files, to ignore git symlinks.
4805
4806         maint.mk: import improvements from m4
4807         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
4808         (move_if_change): Delete unused macro.
4809         (news-date-check, vc-diff-check): Support VPATH builds.
4810         (announcement): Likewise.  Split --bootstrap-tools list...
4811         (boostrap-tools): ...into separate list, which can be overridden
4812         in cfg.mk.
4813         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
4814         requiring dependency on useless-if-before-free module.
4815         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
4816         Support VPATH builds.
4817
4818 2009-04-24  Jim Meyering  <meyering@redhat.com>
4819
4820         maint.mk: remove coreutils-specific rules and variables
4821         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
4822         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
4823         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
4824
4825         maint.mk: remove obsolete rule
4826         * top/maint.mk (rel-check): Remove rule.
4827         (WGET, WGETFLAGS): Remove now-unused variables.
4828
4829 2009-04-24  Simon Josefsson  <simon@josefsson.org>
4830
4831         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
4832         consistency.
4833
4834         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
4835         '$(PATH_SEPARATOR)' instead of ':'.
4836
4837 2009-04-24  Simon Josefsson  <simon@josefsson.org>
4838
4839         * lib/getopt1.c (main): Use 'const' for static array.
4840
4841 2009-04-24  Simon Josefsson  <simon@josefsson.org>
4842
4843         * top/maint.mk: Sync with coreutils.
4844         * NEWS: Explain incompatibilities.
4845
4846 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
4847             Bruno Haible  <bruno@clisp.org>
4848
4849         Fix cross-compilation results.
4850         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
4851         statement, as third argument of AC_TRY_RUN.
4852         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
4853         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
4854         Likewise.
4855         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
4856         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
4857         Likewise.
4858         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
4859         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
4860         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
4861
4862 2009-04-20  Bruno Haible  <bruno@clisp.org>
4863
4864         Avoid test failure on mingw.
4865         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
4866
4867 2009-04-20  Bruno Haible  <bruno@clisp.org>
4868
4869         Avoid compilation error on mingw.
4870         * modules/localename-tests (Depends-on): Add locale.
4871
4872 2009-04-19  Bruno Haible  <bruno@clisp.org>
4873
4874         Support for building a shared library on Windows platforms.
4875         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
4876         (main): Test the presence of UNINORM_NFC here.
4877         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
4878         (main): Test the presence of UNINORM_NFD here.
4879         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
4880         (main): Test the presence of UNINORM_NFKC here.
4881         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
4882         (main): Test the presence of UNINORM_NFKD here.
4883
4884 2009-04-19  Bruno Haible  <bruno@clisp.org>
4885
4886         Avoid a compiler warning.
4887         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
4888         Change type of variable 'sequence'.
4889
4890 2009-04-19  Bruno Haible  <bruno@clisp.org>
4891
4892         * modules/configmake (Makefile.am): When the contents of configmake.h
4893         does not change, arrange to preserve its modification time.
4894
4895 2009-04-17  Simon Josefsson  <simon@josefsson.org>
4896
4897         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
4898         gettext domain.
4899
4900 2009-04-16  Jim Meyering  <meyering@redhat.com>
4901
4902         useless-if-before-free: improve conversion code
4903         * build-aux/useless-if-before-free: Adjust code-in-comment to match
4904         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
4905
4906 2009-04-14  Bruno Haible  <bruno@clisp.org>
4907
4908         * modules/fcntl (Depends-on): Add extensions.
4909         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
4910
4911 2009-04-12  Ben Pfaff  <blp@gnu.org>
4912
4913         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
4914         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
4915
4916 2009-03-20  Ben Pfaff  <blp@gnu.org>
4917
4918         Make rename replace existing destinations on Windows.
4919         * m4/rename.m4: Add test for Mingw.
4920         * lib/rename.c: Add rename replacement that uses MoveFileEx with
4921         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
4922         * doc/posix-functions/rename.texi: Document.
4923
4924 2009-04-10  Bruno Haible  <bruno@clisp.org>
4925
4926         New include file "iconveh.h".
4927         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
4928         * lib/striconveh.h: Include it.
4929         (enum iconv_ilseq_handler): Remove definition.
4930         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
4931         striconveh.h.
4932         * lib/striconveha.c: Include striconveh.h.
4933         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
4934         * modules/striconveh (Files): Add lib/iconveh.h.
4935         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
4936         lib/striconveh.h.
4937
4938 2009-04-10  Bruno Haible  <bruno@clisp.org>
4939
4940         * lib/uniconv.h: Update comment.
4941
4942 2009-04-10  Bruno Haible  <bruno@clisp.org>
4943
4944         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
4945         always.
4946         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
4947         * lib/unistr/u16-mbtouc-aux.c: Likewise.
4948         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
4949         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
4950         "unistring-notinline.h", so that the function gets defined always.
4951         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
4952         * lib/unistr/u8-uctomb.c: Likewise.
4953         * lib/unistr/u16-mbtouc.c: Likewise.
4954         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
4955         * lib/unistr/u16-uctomb.c: Likewise.
4956         * lib/unistr/u32-mbtouc.c: Likewise.
4957         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
4958         * lib/unistr/u32-uctomb.c: Likewise.
4959
4960 2009-04-10  Bruno Haible  <bruno@clisp.org>
4961
4962         Mark 'utime' obsolete.
4963         * modules/utime (Status, Notice): New sections.
4964         Suggested by Jim Meyering.
4965
4966         Fix cross-compile guess for utime test.
4967         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
4968         autoconf.
4969         * doc/posix-functions/utime.texi: Give more precisions.
4970         Reported by Jan <ipif@ymail.com>.
4971
4972 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
4973
4974         filevercmp: correct today's change
4975         * lib/filevercmp.c: Also handle coreutils' test inputs.
4976         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
4977
4978         Fix regression in 'filevercmp' module. Thanks Sven Joachim
4979         for reporting it.
4980         * lib/filevercmp.c: Special handle for "", "." and "..".
4981         * tests/test-filevercmp.c: Enlarge the set suite.
4982
4983 2009-04-07  Jim Meyering  <meyering@redhat.com>
4984
4985         useless-if-before-free: show how to remove braced useless free, too
4986         * build-aux/useless-if-before-free: still only in a comment, though.
4987
4988 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
4989
4990         maint.mk: import changes to syntax-check macros from coreutils
4991         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
4992         Use them in the relevant macros.
4993
4994 2009-04-06  Bruno Haible  <bruno@clisp.org>
4995
4996         Fix unportable use of bit-fields.
4997         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
4998         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
4999         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
5000
5001 2009-04-06  Bruno Haible  <bruno@clisp.org>
5002
5003         Avoid test failures on AIX and OSF/1.
5004         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
5005         that malloc(0) = NULL.
5006         * tests/unicase/test-u8-tolower.c (check): Likewise.
5007         * tests/unicase/test-u8-totitle.c (check): Likewise.
5008         * tests/unicase/test-u8-toupper.c (check): Likewise.
5009         * tests/unicase/test-u16-casefold.c (check): Likewise.
5010         * tests/unicase/test-u16-tolower.c (check): Likewise.
5011         * tests/unicase/test-u16-totitle.c (check): Likewise.
5012         * tests/unicase/test-u16-toupper.c (check): Likewise.
5013         * tests/unicase/test-u32-casefold.c (check): Likewise.
5014         * tests/unicase/test-u32-tolower.c (check): Likewise.
5015         * tests/unicase/test-u32-totitle.c (check): Likewise.
5016         * tests/unicase/test-u32-toupper.c (check): Likewise.
5017         * tests/uninorm/test-u8-nfc.c (check): Likewise.
5018         * tests/uninorm/test-u8-nfd.c (check): Likewise.
5019         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
5020         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
5021         * tests/uninorm/test-u16-nfc.c (check): Likewise.
5022         * tests/uninorm/test-u16-nfd.c (check): Likewise.
5023         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
5024         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
5025         * tests/uninorm/test-u32-nfc.c (check): Likewise.
5026         * tests/uninorm/test-u32-nfd.c (check): Likewise.
5027         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
5028         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
5029
5030 2009-04-05  Bruno Haible  <bruno@clisp.org>
5031
5032         Work around an autoconf limitation.
5033         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
5034         comment line if it would be longer than 3 KB.
5035
5036 2009-04-05  Bruno Haible  <bruno@clisp.org>
5037
5038         Avoid test failure with libiconv-1.13.
5039         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
5040         of the expected test results.
5041
5042 2009-04-05  Bruno Haible  <bruno@clisp.org>
5043
5044         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
5045         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
5046         that it should be installed.
5047
5048 2009-04-05  Bruno Haible  <bruno@clisp.org>
5049
5050         * gnulib-tool: New option --copy-file.
5051         (func_usage): Document it.
5052         (func_dest_tmpfilename): Moved out of func_import.
5053         (func_add_file, func_update_file): New functions, extracted from
5054         func_import.
5055         (func_import): Update.
5056
5057 2009-04-05  Karl Berry  <karl@gnu.org>
5058
5059         * README: prominently mention gnulib-tool.
5060         Rearrange sections so getting the code is near the top.
5061
5062 2009-04-05  Bruno Haible  <bruno@clisp.org>
5063
5064         * lib/unicase.h: Mention u*_cmp2.
5065         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
5066         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
5067         * lib/unicase/ulc-casecmp.c: Likewise.
5068         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
5069         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
5070         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
5071         unistr/u8-cmp.
5072         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
5073         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
5074         unistr/u16-cmp.
5075         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
5076         unistr/u32-cmp.
5077
5078         * lib/uninorm.h: Mention u*_cmp2.
5079         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
5080         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
5081         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
5082         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
5083         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
5084         unistr/u8-cmp.
5085         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
5086         unistr/u16-cmp.
5087         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
5088         unistr/u32-cmp.
5089
5090         New module 'unistr/u32-cmp2'.
5091         * lib/unistr/u32-cmp2.c: New file.
5092         * modules/unistr/u32-cmp2: New file.
5093
5094         New module 'unistr/u16-cmp2'.
5095         * lib/unistr/u16-cmp2.c: New file.
5096         * modules/unistr/u16-cmp2: New file.
5097
5098         New module 'unistr/u8-cmp2'.
5099         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
5100         * lib/unistr/u8-cmp2.c: New file.
5101         * lib/unistr/u-cmp2.h: New file.
5102         * modules/unistr/u8-cmp2: New file.
5103
5104 2009-04-05  Bruno Haible  <bruno@clisp.org>
5105
5106         * lib/unictype.h (uc_property_is_valid): New macro.
5107         * tests/unictype/test-pr_byname.c (main): Use it.
5108
5109         * lib/unistr.h: Doc fixes.
5110         * lib/uniconv.h: Doc fixes.
5111         * lib/unictype.h: Doc fixes.
5112
5113 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
5114
5115         Port coreutils 7.2 to Solaris 8.
5116
5117         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
5118         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
5119         for Solaris 8.  This is a bit of a hack, as it means it's the
5120         caller's responsibility to add -lnsl if needed, but most likely it
5121         won't be needed since only getaddrinfo uses this and getaddrinfo
5122         isn't needed on Solaris 8.
5123
5124         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
5125         problem to Solaris 8 encountered with coreutils 7.2, which
5126         resulted in a message "fnmatch.c:292: warning: passing argument 4
5127         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
5128         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
5129
5130 2009-04-03  Simon Josefsson  <simon@josefsson.org>
5131
5132         * m4/ld-version-script.m4: Add FIXME comment.
5133
5134 2009-04-02  Simon Josefsson  <simon@josefsson.org>
5135
5136         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
5137         SOVERSION variable.
5138
5139 2009-04-02  Bruno Haible  <bruno@clisp.org>
5140
5141         * Makefile (info, html, dvi, pdf): Combine the rules.
5142         Suggested by Jim Meyering.
5143
5144 2009-04-01  Bruno Haible  <bruno@clisp.org>
5145
5146         * Makefile (info, html, dvi, pdf): New targets.
5147         Reported by Reuben Thomas <rrt@sc3d.org>.
5148
5149 2009-04-01  Bruno Haible  <bruno@clisp.org>
5150
5151         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
5152         can be put into PATH.
5153         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
5154
5155 2009-04-01  Bruno Haible  <bruno@clisp.org>
5156
5157         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
5158
5159 2009-04-01  Bruno Haible  <bruno@clisp.org>
5160
5161         Rename module 'visibility'.
5162         * modules/lib-symbol-visibility: Renamed from modules/visibility.
5163         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
5164         * doc/gnulib.texi: Update.
5165         * MODULES.html.sh (Misc): Update.
5166         * NEWS: Mention the change.
5167
5168 2009-04-01  Simon Josefsson  <simon@josefsson.org>
5169
5170         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
5171         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
5172         Eric Blake <ebb9@byu.net> for review.
5173         * MODULES.html.sh: Add lib-msvc-compat.
5174         * doc/gnulib.texi: Link to new section.
5175         * m4/ld-output-def.m4: New file.
5176         * doc/ld-output-def.texi: New file.
5177
5178 2009-04-01  Simon Josefsson  <simon@josefsson.org>
5179
5180         Rename ld-version-script to lib-symbol-versions.  Suggested by
5181         Bruno Haible <bruno@clisp.org>.
5182         * modules/ld-version-script: Renamed to lib-symbol-versions.
5183         * doc/ld-version-script.texi: Fix module name.
5184         * MODULES.html.sh: Add lib-symbol-versions.
5185
5186 2009-03-31  Simon Josefsson  <simon@josefsson.org>
5187
5188         * modules/u64-tests: New file.
5189         * tests/test-u64.c: New file.
5190
5191 2009-03-04  Simon Josefsson  <simon@josefsson.org>
5192
5193         * MODULES.html.sh: Mention u64.
5194         * modules/u64: New module.
5195         * modules/crypto/sha512: Depend on u64 module instead of providing
5196         u64.h.
5197
5198 2009-03-27  Eric Blake  <ebb9@byu.net>
5199
5200         test-strerror: make debugging EAI_SYSTEM easier
5201         * modules/getaddrinfo-tests (Depends-on): Add strerror.
5202         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
5203         failure was EAI_SYSTEM.
5204
5205 2009-03-25  Bruno Haible  <bruno@clisp.org>
5206
5207         Fix a problem with --enable-relocatable on Solaris 7.
5208         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
5209         since 2008-02-24.
5210
5211 2009-03-25  Eric Blake  <ebb9@byu.net>
5212
5213         test-sockets: avoid gcc warning
5214         * tests/test-sockets.c (main): Silence compiler warning.
5215
5216 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
5217
5218         New modules nproc, pthread, contributed by Glen Lenker.
5219
5220         * MODULES.html.sh: Add pthread, nproc.
5221         * lib/nproc.c: New file.
5222         * lib/nproc.h: New file.
5223         * lib/pthread.in.h: New file.
5224         * m4/pthread.m4: New file.
5225         * modules/nproc: New file.
5226         * modules/pthread: New file.
5227
5228 2009-03-24  Simon Josefsson  <simon@josefsson.org>
5229
5230         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
5231         New variable.
5232
5233 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
5234
5235         filevercmp: handle simple~ and numbered.~3~ backup suffixes
5236         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
5237         * tests/test-filevercmp.c: Add tests for backup suffixes.
5238
5239 2009-03-24  Simon Josefsson  <simon@josefsson.org>
5240
5241         * modules/stdlib (Depends-on): Add stdint, needed when defining
5242         struct random_data on, for example, HP-UX 10.20.  Reported by
5243         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
5244
5245 2009-03-24  Simon Josefsson  <simon@josefsson.org>
5246
5247         * lib/readline.c (readline): Call fflush on stdout after printing
5248         prompt.
5249
5250 2009-03-20  Bruno Haible  <bruno@clisp.org>
5251
5252         Remove dependency from 'close' module to -lws2_32 on native Windows.
5253         * lib/close-hook.h: New file.
5254         * lib/close-hook.c: New file.
5255         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
5256         w32sock.h.
5257         (_gl_close_fd_maybe_socket): Remove function.
5258         (rpl_close): Invoke execute_all_close_hooks instead of
5259         _gl_close_fd_maybe_socket.
5260         * lib/sockets.c: Include close-hook.h, w32sock.h.
5261         (close_fd_maybe_socket): New function, essentially from lib/close.c.
5262         (close_sockets_hook): New variable.
5263         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
5264         (gl_sockets_cleanup): Unregister it.
5265         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
5266         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
5267         * modules/close-hook: New file.
5268         * modules/close (Files): Remove lib/w32sock.h.
5269         (Depends-on): Add close-hook.
5270         (Link): Remove section.
5271         * modules/sockets (Files): Add lib/w32sock.h.
5272         (Depends-on): Add close-hook.
5273         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
5274         invocation.
5275         * NEWS: Mention that LIB_CLOSE is gone.
5276
5277 2009-03-23  Eric Blake  <ebb9@byu.net>
5278
5279         signal-tests: test previous patch
5280         * tests/test-signal.c: New file.
5281         * modules/signal-tests: Likewise.
5282
5283         signal.h: always support 'volatile sig_atomic_t'
5284         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
5285         (gl_SIGNAL_H_DEFAULTS): Add a default.
5286         * modules/signal (Makefile.am): Substitute if needed.
5287         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
5288         users can blindly add volatile.
5289         * doc/posix-headers/signal.texi (signal.h): Document it.
5290         Reported by Matthew Woehlke.
5291
5292 2009-03-23  Jim Meyering  <meyering@redhat.com>
5293
5294         pathmax: PATH_MAX: use pathconf only when available
5295         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
5296         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
5297         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
5298         This avoids a link failure in a PSP cross-compilation environment
5299         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
5300
5301         * lib/vasnprintf.c (divide): Fix typo in comment.
5302
5303 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5304
5305         * gnulib-tool (func_filter_filelist): Fix comment.
5306
5307 2009-03-20  Bruno Haible  <bruno@clisp.org>
5308
5309         Make sockets.h self-contained.
5310         * lib/sockets.c: Include sockets.h first.
5311         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
5312
5313 2009-03-19  Eric Blake  <ebb9@byu.net>
5314
5315         doc: mention more functions added in cygwin 1.7.0
5316         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
5317         addition.
5318         * doc/posix-functions/log2f.texi: Likewise.
5319
5320 2009-03-19  Jim Meyering  <meyering@redhat.com>
5321
5322         fsusage: avoid syntax error due to statement-before-declaration
5323         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
5324         after all declarations.  Reported by Matthew Woehlke in
5325         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
5326
5327 2009-03-18  Eric Blake  <ebb9@byu.net>
5328
5329         build-aux/compile: sync from automake
5330         * build-aux/compile: New file, from automake.
5331         * config/srclist.txt: Mention build-aux/compile.
5332
5333 2009-03-17  Bruno Haible  <bruno@clisp.org>
5334
5335         * lib/git-merge-changelog.c: Fix typo in comment.
5336         Reported by Reuben Thomas <rrt@sc3d.org>.
5337
5338 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
5339
5340         * m4/regex.m4: update and improve help for
5341         --without-included-regex.
5342
5343 2009-03-17  Simon Josefsson  <simon@josefsson.org>
5344
5345         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
5346         failure on missing include files.
5347
5348 2009-03-17  Eric Blake  <ebb9@byu.net>
5349
5350         doc: mention more functions added in cygwin 1.7.0
5351         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
5352         addition.
5353         * doc/posix-functions/fwscanf.texi: Likewise.
5354         * doc/posix-functions/swprintf.texi: Likewise.
5355         * doc/posix-functions/swscanf.texi: Likewise.
5356         * doc/posix-functions/vfwprintf.texi: Likewise.
5357         * doc/posix-functions/vfwscanf.texi: Likewise.
5358         * doc/posix-functions/vswprintf.texi: Likewise.
5359         * doc/posix-functions/vswscanf.texi: Likewise.
5360         * doc/posix-functions/vwprintf.texi: Likewise.
5361         * doc/posix-functions/vwscanf.texi: Likewise.
5362         * doc/posix-functions/wcscasecmp.texi: Likewise.
5363         * doc/posix-functions/wcsdup.texi: Likewise.
5364         * doc/posix-functions/wcsftime.texi: Likewise.
5365         * doc/posix-functions/wcsncasecmp.texi: Likewise.
5366         * doc/posix-functions/wprintf.texi: Likewise.
5367         * doc/posix-functions/wscanf.texi: Likewise.
5368         * doc/glibc-functions/gethostbyname2.texi: Likewise.
5369
5370 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5371
5372         maint.mk: really add $(AM_MAKEFLAGS)
5373         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
5374         was inadvertently omitted in the last commit.
5375         Spotted by Bruno Haible.
5376
5377         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
5378         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
5379         $(AM_MAKEFLAGS)' rather than plain `make'.
5380
5381         gnulib-tool: execute $MAKE not make
5382         * gnulib-tool: Default $MAKE to 'make'.
5383         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
5384         than make.  Initialize $MAKE in the do-autobuild script.
5385
5386         gnulib-tool: use $MAKE not make in generated files
5387         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
5388         make, in generated files.  Initialize $MAKE in the do-autobuild
5389         script.
5390
5391         * top/GNUmakefile (_have-git-version-gen): Fix typo.
5392
5393         GNUmakefile: disable parallelism only for multiple, recursive targets
5394         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
5395         additions in the Makefile.
5396         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
5397         by Automake.
5398         (.NOTPARALLEL): Only disable parallel builds if multiple targets
5399         are listed on the command line and at least one of them is
5400         listed in $(ALL_RECURSIVE_TARGETS).
5401
5402 2009-03-14  Bruno Haible  <bruno@clisp.org>
5403
5404         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
5405         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
5406         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
5407         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
5408         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
5409         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
5410         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
5411         unistr/u8-uctomb.
5412         * modules/unistr/u8-strchr (Depends-on): Likewise.
5413         * modules/unistr/u8-strrchr (Depends-on): Likewise.
5414         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
5415         unistr/u16-uctomb.
5416         * modules/unistr/u16-strchr (Depends-on): Likewise.
5417         * modules/unistr/u16-strrchr (Depends-on): Likewise.
5418
5419 2009-03-12  Bruno Haible  <bruno@clisp.org>
5420
5421         Work around select() bug on Interix 3.5.
5422         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
5423         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
5424         * m4/select.m4: New file.
5425         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
5426         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
5427         * modules/select (Files): Add m4/select.m4.
5428         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
5429         * modules/nanosleep (Depends-on): Add select.
5430         * modules/poll (Depends-on): Likewise.
5431         * doc/posix-functions/select.texi: Mention the Interix bug.
5432         Reported by Markus Duft <mduft@gentoo.org>.
5433
5434         * lib/select.c: Renamed from lib/winsock-select.c.
5435         * modules/select (Files): Add lib/select.c, remove
5436         lib/winsock-select.c.
5437         (configure.ac): Update.
5438
5439 2009-03-12  Jim Meyering  <meyering@redhat.com>
5440
5441         avoid gcc warnings about unused macro definitions
5442         * lib/readtokens.c (STREQ): Remove unused definition.
5443         * lib/xmalloc.c (SIZE_MAX): Likewise.
5444         * lib/openat-die.c (N_): Likewise.
5445         * lib/mountlist.c (SIZE_MAX): Remove definition.
5446         Instead, include <stdint.h>.
5447         * lib/readutmp.c: Likewise.
5448         * modules/readutmp (Depends-on): Add stdint.
5449         * modules/mountlist (Depends-on): Add stdint.
5450         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
5451
5452 2009-03-10  Bruno Haible  <bruno@clisp.org>
5453
5454         Tests for module 'mbmemcasecoll'.
5455         * modules/mbmemcasecoll-tests: New file.
5456         * tests/test-mbmemcasecoll1.sh: New file.
5457         * tests/test-mbmemcasecoll2.sh: New file.
5458         * tests/test-mbmemcasecoll3.sh: New file.
5459         * tests/test-mbmemcasecoll.c: New file.
5460
5461         New module 'mbmemcasecoll'.
5462         * lib/mbmemcasecoll.h: New file.
5463         * lib/mbmemcasecoll.c: New file.
5464         * modules/mbmemcasecoll: New file.
5465
5466         * tests/test-mbmemcasecmp.h: New file, extracted from
5467         tests/test-mbmemcasecmp.c.
5468         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
5469         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
5470         (main): Update.
5471         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
5472
5473 2009-03-09  Bruno Haible  <bruno@clisp.org>
5474
5475         Tests for module 'mbmemcasecmp'.
5476         * modules/mbmemcasecmp-tests: New file.
5477         * tests/test-mbmemcasecmp1.sh: New file.
5478         * tests/test-mbmemcasecmp2.sh: New file.
5479         * tests/test-mbmemcasecmp3.sh: New file.
5480         * tests/test-mbmemcasecmp.c: New file.
5481
5482         New module 'mbmemcasecmp'.
5483         * lib/mbmemcasecmp.h: New file.
5484         * lib/mbmemcasecmp.c: New file.
5485         * modules/mbmemcasecmp: New file.
5486
5487 2009-03-09  Bruno Haible  <bruno@clisp.org>
5488
5489         Tests for module 'unicase/ulc-casecoll'.
5490         * modules/unicase/ulc-casecoll-tests: New file.
5491         * tests/unicase/test-ulc-casecoll1.sh: New file.
5492         * tests/unicase/test-ulc-casecoll2.sh: New file.
5493         * tests/unicase/test-ulc-casecoll.c: New file.
5494
5495         New module 'unicase/ulc-casecoll'.
5496         * lib/unicase.h (ulc_casecoll): New declaration.
5497         * lib/unicase/ulc-casecoll.c: New file.
5498         * modules/unicase/ulc-casecoll: New file.
5499
5500         New module 'unicase/ulc-casexfrm'.
5501         * lib/unicase.h (ulc_casexfrm): New declaration.
5502         * lib/unicase/ulc-casexfrm.c: New file.
5503         * modules/unicase/ulc-casexfrm: New file.
5504
5505 2009-03-09  Bruno Haible  <bruno@clisp.org>
5506
5507         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
5508         invocations.
5509
5510         * m4/mbscasecmp.m4: Remove file.
5511         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
5512         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
5513
5514         * m4/mbscasestr.m4: Remove file.
5515         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
5516         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
5517
5518         * m4/mbschr.m4: Remove file.
5519         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
5520         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
5521
5522         * m4/mbscspn.m4: Remove file.
5523         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
5524         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
5525
5526         * m4/mbslen.m4: Remove file.
5527         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
5528         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
5529
5530         * m4/mbsncasecmp.m4: Remove file.
5531         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
5532         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
5533
5534         * m4/mbsnlen.m4: Remove file.
5535         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
5536         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
5537
5538         * m4/mbspbrk.m4: Remove file.
5539         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
5540         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
5541
5542         * m4/mbspcasecmp.m4: Remove file.
5543         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
5544         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
5545
5546         * m4/mbsrchr.m4: Remove file.
5547         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
5548         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
5549
5550         * m4/mbssep.m4: Remove file.
5551         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
5552         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
5553
5554         * m4/mbsspn.m4: Remove file.
5555         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
5556         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
5557
5558         * m4/mbsstr.m4: Remove file.
5559         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
5560         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
5561
5562         * m4/mbstok_r.m4: Remove file.
5563         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
5564         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
5565
5566         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
5567
5568         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
5569         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
5570
5571         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
5572
5573 2009-03-08  Bruno Haible  <bruno@clisp.org>
5574
5575         Tests for module 'unicase/ulc-casecmp'.
5576         * modules/unicase/ulc-casecmp-tests: New file.
5577         * tests/unicase/test-ulc-casecmp1.sh: New file.
5578         * tests/unicase/test-ulc-casecmp2.sh: New file.
5579         * tests/unicase/test-ulc-casecmp.c: New file.
5580
5581         New module 'unicase/ulc-casecmp'.
5582         * lib/unicase.h (ulc_casecmp): New declaration.
5583         * lib/unicase/ulc-casecmp.c: New file.
5584         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
5585         'const SRC_UNIT *'.
5586         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
5587         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
5588         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
5589         * modules/unicase/ulc-casecmp: New file.
5590
5591         Tests for module 'unicase/u32-is-cased'.
5592         * modules/unicase/u32-is-cased-tests: New file.
5593         * tests/unicase/test-u32-is-cased.c: New file.
5594
5595         Tests for module 'unicase/u16-is-cased'.
5596         * modules/unicase/u16-is-cased-tests: New file.
5597         * tests/unicase/test-u16-is-cased.c: New file.
5598
5599         Tests for module 'unicase/u8-is-cased'.
5600         * modules/unicase/u8-is-cased-tests: New file.
5601         * tests/unicase/test-u8-is-cased.c: New file.
5602         * tests/unicase/test-is-cased.h: New file.
5603
5604         New module 'unicase/u32-is-cased'.
5605         * lib/unicase/u32-is-cased.c: New file.
5606         * modules/unicase/u32-is-cased: New file.
5607
5608         New module 'unicase/u16-is-cased'.
5609         * lib/unicase/u16-is-cased.c: New file.
5610         * modules/unicase/u16-is-cased: New file.
5611
5612         New module 'unicase/u8-is-cased'.
5613         * lib/unicase/u8-is-cased.c: New file.
5614         * lib/unicase/u-is-cased.h: New file.
5615         * modules/unicase/u8-is-cased: New file.
5616
5617         Tests for module 'unicase/u32-is-casefolded'.
5618         * modules/unicase/u32-is-casefolded-tests: New file.
5619         * tests/unicase/test-u32-is-casefolded.c: New file.
5620
5621         Tests for module 'unicase/u16-is-casefolded'.
5622         * modules/unicase/u16-is-casefolded-tests: New file.
5623         * tests/unicase/test-u16-is-casefolded.c: New file.
5624
5625         Tests for module 'unicase/u8-is-casefolded'.
5626         * modules/unicase/u8-is-casefolded-tests: New file.
5627         * tests/unicase/test-u8-is-casefolded.c: New file.
5628         * tests/unicase/test-is-casefolded.h: New file.
5629
5630         New module 'unicase/u32-is-casefolded'.
5631         * lib/unicase/u32-is-casefolded.c: New file.
5632         * modules/unicase/u32-is-casefolded: New file.
5633
5634         New module 'unicase/u16-is-casefolded'.
5635         * lib/unicase/u16-is-casefolded.c: New file.
5636         * modules/unicase/u16-is-casefolded: New file.
5637
5638         New module 'unicase/u8-is-casefolded'.
5639         * lib/unicase/u8-is-casefolded.c: New file.
5640         * modules/unicase/u8-is-casefolded: New file.
5641
5642         Tests for module 'unicase/u32-is-titlecase'.
5643         * modules/unicase/u32-is-titlecase-tests: New file.
5644         * tests/unicase/test-u32-is-titlecase.c: New file.
5645
5646         Tests for module 'unicase/u16-is-titlecase'.
5647         * modules/unicase/u16-is-titlecase-tests: New file.
5648         * tests/unicase/test-u16-is-titlecase.c: New file.
5649
5650         Tests for module 'unicase/u8-is-titlecase'.
5651         * modules/unicase/u8-is-titlecase-tests: New file.
5652         * tests/unicase/test-u8-is-titlecase.c: New file.
5653         * tests/unicase/test-is-titlecase.h: New file.
5654
5655         New module 'unicase/u32-is-titlecase'.
5656         * lib/unicase/u32-is-titlecase.c: New file.
5657         * modules/unicase/u32-is-titlecase: New file.
5658
5659         New module 'unicase/u16-is-titlecase'.
5660         * lib/unicase/u16-is-titlecase.c: New file.
5661         * modules/unicase/u16-is-titlecase: New file.
5662
5663         New module 'unicase/u8-is-titlecase'.
5664         * lib/unicase/u8-is-titlecase.c: New file.
5665         * modules/unicase/u8-is-titlecase: New file.
5666
5667         Tests for module 'unicase/u32-is-lowercase'.
5668         * modules/unicase/u32-is-lowercase-tests: New file.
5669         * tests/unicase/test-u32-is-lowercase.c: New file.
5670
5671         Tests for module 'unicase/u16-is-lowercase'.
5672         * modules/unicase/u16-is-lowercase-tests: New file.
5673         * tests/unicase/test-u16-is-lowercase.c: New file.
5674
5675         Tests for module 'unicase/u8-is-lowercase'.
5676         * modules/unicase/u8-is-lowercase-tests: New file.
5677         * tests/unicase/test-u8-is-lowercase.c: New file.
5678         * tests/unicase/test-is-lowercase.h: New file.
5679
5680         New module 'unicase/u32-is-lowercase'.
5681         * lib/unicase/u32-is-lowercase.c: New file.
5682         * modules/unicase/u32-is-lowercase: New file.
5683
5684         New module 'unicase/u16-is-lowercase'.
5685         * lib/unicase/u16-is-lowercase.c: New file.
5686         * modules/unicase/u16-is-lowercase: New file.
5687
5688         New module 'unicase/u8-is-lowercase'.
5689         * lib/unicase/u8-is-lowercase.c: New file.
5690         * modules/unicase/u8-is-lowercase: New file.
5691
5692         Tests for module 'unicase/u32-is-uppercase'.
5693         * modules/unicase/u32-is-uppercase-tests: New file.
5694         * tests/unicase/test-u32-is-uppercase.c: New file.
5695
5696         Tests for module 'unicase/u16-is-uppercase'.
5697         * modules/unicase/u16-is-uppercase-tests: New file.
5698         * tests/unicase/test-u16-is-uppercase.c: New file.
5699
5700         Tests for module 'unicase/u8-is-uppercase'.
5701         * modules/unicase/u8-is-uppercase-tests: New file.
5702         * tests/unicase/test-u8-is-uppercase.c: New file.
5703         * tests/unicase/test-is-uppercase.h: New file.
5704
5705         New module 'unicase/u32-is-uppercase'.
5706         * lib/unicase/u32-is-uppercase.c: New file.
5707         * modules/unicase/u32-is-uppercase: New file.
5708
5709         New module 'unicase/u16-is-uppercase'.
5710         * lib/unicase/u16-is-uppercase.c: New file.
5711         * modules/unicase/u16-is-uppercase: New file.
5712
5713         New module 'unicase/u8-is-uppercase'.
5714         * lib/unicase/u8-is-uppercase.c: New file.
5715         * modules/unicase/u8-is-uppercase: New file.
5716
5717         New module 'unicase/u32-is-invariant'.
5718         * lib/unicase/u32-is-invariant.c: New file.
5719         * modules/unicase/u32-is-invariant: New file.
5720
5721         New module 'unicase/u16-is-invariant'.
5722         * lib/unicase/u16-is-invariant.c: New file.
5723         * modules/unicase/u16-is-invariant: New file.
5724
5725         New module 'unicase/u8-is-invariant'.
5726         * lib/unicase/u8-is-invariant.c: New file.
5727         * lib/unicase/invariant.h: New file.
5728         * lib/unicase/u-is-invariant.h: New file.
5729         * modules/unicase/u8-is-invariant: New file.
5730
5731         Tests for module 'unicase/u32-casecoll'.
5732         * modules/unicase/u32-casecoll-tests: New file.
5733         * tests/unicase/test-u32-casecoll.c: New file.
5734
5735         Tests for module 'unicase/u16-casecoll'.
5736         * modules/unicase/u16-casecoll-tests: New file.
5737         * tests/unicase/test-u16-casecoll.c: New file.
5738
5739         Tests for module 'unicase/u8-casecoll'.
5740         * modules/unicase/u8-casecoll-tests: New file.
5741         * tests/unicase/test-u8-casecoll.c: New file.
5742
5743         New module 'unicase/u32-casecoll'.
5744         * lib/unicase/u32-casecoll.c: New file.
5745         * modules/unicase/u32-casecoll: New file.
5746
5747         New module 'unicase/u16-casecoll'.
5748         * lib/unicase/u16-casecoll.c: New file.
5749         * modules/unicase/u16-casecoll: New file.
5750
5751         New module 'unicase/u8-casecoll'.
5752         * lib/unicase/u8-casecoll.c: New file.
5753         * lib/unicase/u-casecoll.h: New file.
5754         * modules/unicase/u8-casecoll: New file.
5755
5756         New module 'unicase/u32-casexfrm'.
5757         * lib/unicase/u32-casexfrm.c: New file.
5758         * modules/unicase/u32-casexfrm: New file.
5759
5760         New module 'unicase/u16-casexfrm'.
5761         * lib/unicase/u16-casexfrm.c: New file.
5762         * modules/unicase/u16-casexfrm: New file.
5763
5764         New module 'unicase/u8-casexfrm'.
5765         * lib/unicase/u8-casexfrm.c: New file.
5766         * lib/unicase/u-casexfrm.h: New file.
5767         * modules/unicase/u8-casexfrm: New file.
5768
5769         Tests for module 'unicase/u32-casecmp'.
5770         * modules/unicase/u32-casecmp-tests: New file.
5771         * tests/unicase/test-u32-casecmp.c: New file.
5772
5773         Tests for module 'unicase/u16-casecmp'.
5774         * modules/unicase/u16-casecmp-tests: New file.
5775         * tests/unicase/test-u16-casecmp.c: New file.
5776
5777         Tests for module 'unicase/u8-casecmp'.
5778         * modules/unicase/u8-casecmp-tests: New file.
5779         * tests/unicase/test-u8-casecmp.c: New file.
5780         * tests/unicase/test-casecmp.h: New file.
5781
5782         New module 'unicase/u32-casecmp'.
5783         * lib/unicase/u32-casecmp.c: New file.
5784         * modules/unicase/u32-casecmp: New file.
5785
5786         New module 'unicase/u16-casecmp'.
5787         * lib/unicase/u16-casecmp.c: New file.
5788         * modules/unicase/u16-casecmp: New file.
5789
5790         New module 'unicase/u8-casecmp'.
5791         * lib/unicase/u8-casecmp.c: New file.
5792         * lib/unicase/u-casecmp.h: New file.
5793         * modules/unicase/u8-casecmp: New file.
5794
5795         Tests for module 'unicase/u32-casefold'.
5796         * modules/unicase/u32-casefold-tests: New file.
5797         * tests/unicase/test-u32-casefold.c: New file.
5798
5799         Tests for module 'unicase/u16-casefold'.
5800         * modules/unicase/u16-casefold-tests: New file.
5801         * tests/unicase/test-u16-casefold.c: New file.
5802
5803         Tests for module 'unicase/u8-casefold'.
5804         * modules/unicase/u8-casefold-tests: New file.
5805         * tests/unicase/test-u8-casefold.c: New file.
5806
5807         New module 'unicase/u32-casefold'.
5808         * lib/unicase/u32-casefold.c: New file.
5809         * modules/unicase/u32-casefold: New file.
5810
5811         New module 'unicase/u16-casefold'.
5812         * lib/unicase/u16-casefold.c: New file.
5813         * modules/unicase/u16-casefold: New file.
5814
5815         New module 'unicase/u8-casefold'.
5816         * lib/unicase/u8-casefold.c: New file.
5817         * lib/unicase/u-casefold.h: New file.
5818         * modules/unicase/u8-casefold: New file.
5819
5820         New module 'unicase/tocasefold'.
5821         * lib/unicase/casefold.h: New file.
5822         * lib/unicase/tocasefold.c: New file.
5823         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
5824         * modules/unicase/tocasefold: New file.
5825
5826         Tests for module 'unicase/u32-totitle'.
5827         * modules/unicase/u32-totitle-tests: New file.
5828         * tests/unicase/test-u32-totitle.c: New file.
5829
5830         Tests for module 'unicase/u16-totitle'.
5831         * modules/unicase/u16-totitle-tests: New file.
5832         * tests/unicase/test-u16-totitle.c: New file.
5833
5834         Tests for module 'unicase/u8-totitle'.
5835         * modules/unicase/u8-totitle-tests: New file.
5836         * tests/unicase/test-u8-totitle.c: New file.
5837
5838         New module 'unicase/u32-totitle'.
5839         * lib/unicase/u32-totitle.c: New file.
5840         * modules/unicase/u32-totitle: New file.
5841
5842         New module 'unicase/u16-totitle'.
5843         * lib/unicase/u16-totitle.c: New file.
5844         * modules/unicase/u16-totitle: New file.
5845
5846         New module 'unicase/u8-totitle'.
5847         * lib/unicase/u8-totitle.c: New file.
5848         * lib/unicase/u-totitle.h: New file.
5849         * modules/unicase/u8-totitle: New file.
5850
5851         Tests for module 'unicase/u32-tolower'.
5852         * modules/unicase/u32-tolower-tests: New file.
5853         * tests/unicase/test-u32-tolower.c: New file.
5854
5855         Tests for module 'unicase/u16-tolower'.
5856         * modules/unicase/u16-tolower-tests: New file.
5857         * tests/unicase/test-u16-tolower.c: New file.
5858
5859         Tests for module 'unicase/u8-tolower'.
5860         * modules/unicase/u8-tolower-tests: New file.
5861         * tests/unicase/test-u8-tolower.c: New file.
5862
5863         New module 'unicase/u32-tolower'.
5864         * lib/unicase/u32-tolower.c: New file.
5865         * modules/unicase/u32-tolower: New file.
5866
5867         New module 'unicase/u16-tolower'.
5868         * lib/unicase/u16-tolower.c: New file.
5869         * modules/unicase/u16-tolower: New file.
5870
5871         New module 'unicase/u8-tolower'.
5872         * lib/unicase/u8-tolower.c: New file.
5873         * modules/unicase/u8-tolower: New file.
5874
5875         Tests for module 'unicase/u32-toupper'.
5876         * modules/unicase/u32-toupper-tests: New file.
5877         * tests/unicase/test-u32-toupper.c: New file.
5878
5879         Tests for module 'unicase/u16-toupper'.
5880         * modules/unicase/u16-toupper-tests: New file.
5881         * tests/unicase/test-u16-toupper.c: New file.
5882
5883         Tests for module 'unicase/u8-toupper'.
5884         * modules/unicase/u8-toupper-tests: New file.
5885         * tests/unicase/test-u8-toupper.c: New file.
5886
5887         New module 'unicase/u32-toupper'.
5888         * lib/unicase/u32-toupper.c: New file.
5889         * modules/unicase/u32-toupper: New file.
5890
5891         New module 'unicase/u16-toupper'.
5892         * lib/unicase/u16-toupper.c: New file.
5893         * modules/unicase/u16-toupper: New file.
5894
5895         New module 'unicase/u8-toupper'.
5896         * lib/unicase/u8-toupper.c: New file.
5897         * modules/unicase/u8-toupper: New file.
5898
5899         New module 'unicase/u32-casemap'.
5900         * lib/unicase/u32-casemap.c: New file.
5901         * modules/unicase/u32-casemap: New file.
5902
5903         New module 'unicase/u16-casemap'.
5904         * lib/unicase/u16-casemap.c: New file.
5905         * modules/unicase/u16-casemap: New file.
5906
5907         New module 'unicase/u8-casemap'.
5908         * lib/unicase/unicasemap.h: New file.
5909         * lib/unicase/u8-casemap.c: New file.
5910         * lib/unicase/u-casemap.h: New file.
5911         * modules/unicase/u8-casemap: New file.
5912
5913         New module 'unicase/special-casing'.
5914         * lib/unicase/special-casing.h: New file.
5915         * lib/unicase/special-casing.c: New file.
5916         * lib/unicase/special-casing-table.gperf: New file, generated by
5917         gen-uni-tables.c.
5918         * modules/unicase/special-casing: New file.
5919
5920         Tests for module 'unicase/locale-language'.
5921         * modules/unicase/locale-language-tests: New file.
5922         * tests/unicase/test-locale-language.sh: New file.
5923         * tests/unicase/test-locale-language.c: New file.
5924
5925         New module 'unicase/locale-language'.
5926         * lib/unicase/locale-language.c: New file.
5927         * lib/unicase/locale-languages.gperf: New file.
5928         * modules/unicase/locale-language: New file.
5929
5930         Generate more tables for case conversion and case folding.
5931         * lib/gen-uni-tables.c (SCC_*): New enum items.
5932         (struct special_casing_rule): New type.
5933         (casing_rules, num_casing_rules, allocated_casing_rules): New
5934         variables.
5935         (add_casing_rule, fill_casing_rules): New functions.
5936         (struct casefold_rule): New type.
5937         (casefolding_rules, num_casefolding_rules,
5938         allocated_casefolding_rules): New variables.
5939         (fill_casefolding_rules): New function.
5940         (unicode_casefold): New variable.
5941         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
5942         sort_casing_rules, output_casing_rules): New functions.
5943         (main): Accept to more arguments: SpecialCasing.txt and
5944         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
5945         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
5946         Output mapping for casefolding.
5947
5948         * lib/unicase.h: Include stdbool.h, uninorm.h.
5949         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
5950         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
5951         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
5952         arguments.
5953         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
5954         resultp arguments.
5955         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
5956         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
5957         resultp arguments.
5958         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
5959         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
5960         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
5961         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
5962         declarations.
5963         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
5964
5965 2009-03-08  Bruno Haible  <bruno@clisp.org>
5966
5967         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
5968         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
5969         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
5970         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
5971
5972 2009-03-07  Bruno Haible  <bruno@clisp.org>
5973
5974         Adjust u*_normcmp, u*_normcoll API.
5975         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
5976         u16_normcoll, u32_normcoll): Change failure conventions.
5977         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
5978         errno and return -1.
5979         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
5980
5981 2009-03-07  Bruno Haible  <bruno@clisp.org>
5982
5983         Tests for module 'uninorm/u32-normcoll'.
5984         * modules/uninorm/u32-normcoll-tests: New file.
5985         * tests/uninorm/test-u32-normcoll.c: New file.
5986
5987         Tests for module 'uninorm/u16-normcoll'.
5988         * modules/uninorm/u16-normcoll-tests: New file.
5989         * tests/uninorm/test-u16-normcoll.c: New file.
5990
5991         Tests for module 'uninorm/u8-normcoll'.
5992         * modules/uninorm/u8-normcoll-tests: New file.
5993         * tests/uninorm/test-u8-normcoll.c: New file.
5994
5995 2009-03-07  Bruno Haible  <bruno@clisp.org>
5996
5997         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
5998         tests/uninorm/test-u32-normcmp.c.
5999         * tests/uninorm/test-u32-normcmp.c: Include it.
6000         (test_nonascii): New function, extracted from main. Add some more
6001         tests.
6002         (main): Invoke test_ascii and test_nonascii.
6003         * modules/uninorm/u32-normcmp-tests (Files): Add
6004         tests/uninorm/test-u32-normcmp.h.
6005         (Depends-on): Remove uninorm/u32-normcmp.
6006
6007         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
6008         tests/uninorm/test-u16-normcmp.c.
6009         * tests/uninorm/test-u16-normcmp.c: Include it.
6010         (test_nonascii): New function, extracted from main. Add some more
6011         tests.
6012         (main): Invoke test_ascii and test_nonascii.
6013         * modules/uninorm/u16-normcmp-tests (Files): Add
6014         tests/uninorm/test-u16-normcmp.h.
6015         (Depends-on): Remove uninorm/u16-normcmp.
6016
6017         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
6018         tests/uninorm/test-u8-normcmp.c.
6019         * tests/uninorm/test-u8-normcmp.c: Include it.
6020         (test_nonascii): New function, extracted from main. Add some more
6021         tests.
6022         (main): Invoke test_ascii and test_nonascii.
6023         * modules/uninorm/u8-normcmp-tests (Files): Add
6024         tests/uninorm/test-u8-normcmp.h.
6025         (Depends-on): Remove uninorm/u8-normcmp.
6026
6027 2009-03-07  Bruno Haible  <bruno@clisp.org>
6028
6029         New module 'uninorm/u32-normcoll'.
6030         * lib/uninorm/u32-normcoll.c: New file.
6031         * modules/uninorm/u32-normcoll: New file.
6032
6033         New module 'uninorm/u16-normcoll'.
6034         * lib/uninorm/u16-normcoll.c: New file.
6035         * modules/uninorm/u16-normcoll: New file.
6036
6037         New module 'uninorm/u8-normcoll'.
6038         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
6039         declarations.
6040         * lib/uninorm/u8-normcoll.c: New file.
6041         * lib/uninorm/u-normcoll.h: New file.
6042         * modules/uninorm/u8-normcoll: New file.
6043
6044         New module 'uninorm/u32-normxfrm'.
6045         * lib/uninorm/u32-normxfrm.c: New file.
6046         * modules/uninorm/u32-normxfrm: New file.
6047
6048         New module 'uninorm/u16-normxfrm'.
6049         * lib/uninorm/u16-normxfrm.c: New file.
6050         * modules/uninorm/u16-normxfrm: New file.
6051
6052         New module 'uninorm/u8-normxfrm'.
6053         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
6054         declarations.
6055         * lib/uninorm/u8-normxfrm.c: New file.
6056         * lib/uninorm/u-normxfrm.h: New file.
6057         * modules/uninorm/u8-normxfrm: New file.
6058
6059 2009-03-07  Bruno Haible  <bruno@clisp.org>
6060
6061         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
6062         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
6063         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
6064
6065 2009-03-07  Bruno Haible  <bruno@clisp.org>
6066
6067         New module 'memxfrm'.
6068         * lib/memxfrm.h: New file.
6069         * lib/memxfrm.c: New file.
6070         * modules/memxfrm: New file.
6071
6072 2009-03-07  Bruno Haible  <bruno@clisp.org>
6073
6074         New module 'memcmp2'.
6075         * lib/memcmp2.h: New file.
6076         * lib/memcmp2.c: New file.
6077         * modules/memcmp2: New file.
6078
6079 2009-03-07  Bruno Haible  <bruno@clisp.org>
6080
6081         Tests for module 'uninorm/decomposing-form'.
6082         * modules/uninorm/decomposing-form-tests: New file.
6083         * tests/uninorm/test-decomposing-form.c: New file.
6084
6085         New module 'uninorm/decomposing-form'.
6086         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
6087         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
6088         Add 'decomposing_variant' field.
6089         * lib/uninorm/decomposing-form.c: New file.
6090         * lib/uninorm/nfc.c (uninorm_nfc): Update.
6091         * lib/uninorm/nfd.c (uninorm_nfd): Update.
6092         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
6093         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
6094         * modules/uninorm/decomposing-form: New file.
6095         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
6096         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
6097
6098 2009-03-07  Bruno Haible  <bruno@clisp.org>
6099
6100         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
6101         strings.
6102
6103 2009-03-06  Bruno Haible  <bruno@clisp.org>
6104
6105         Tests for module 'uninorm/u32-normcmp'.
6106         * tests/uninorm/test-u32-normcmp.c: New file.
6107         * modules/uninorm/u32-normcmp-tests: New file.
6108
6109         Tests for module 'uninorm/u16-normcmp'.
6110         * tests/uninorm/test-u16-normcmp.c: New file.
6111         * modules/uninorm/u16-normcmp-tests: New file.
6112
6113         Tests for module 'uninorm/u8-normcmp'.
6114         * tests/uninorm/test-u8-normcmp.c: New file.
6115         * modules/uninorm/u8-normcmp-tests: New file.
6116
6117         New module 'uninorm/u32-normcmp'.
6118         * lib/uninorm/u32-normcmp.c: New file.
6119         * modules/uninorm/u32-normcmp: New file.
6120
6121         New module 'uninorm/u16-normcmp'.
6122         * lib/uninorm/u16-normcmp.c: New file.
6123         * modules/uninorm/u16-normcmp: New file.
6124
6125         New module 'uninorm/u8-normcmp'.
6126         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
6127         declarations.
6128         * lib/uninorm/u8-normcmp.c: New file.
6129         * lib/uninorm/u-normcmp.h: New file.
6130         * modules/uninorm/u8-normcmp: New file.
6131
6132 2009-03-06  Bruno Haible  <bruno@clisp.org>
6133
6134         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
6135         Reported by Eric Blake.
6136
6137 2009-03-06  Eric Blake  <ebb9@byu.net>
6138             Bruno Haible  <bruno@clisp.org>
6139
6140         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
6141         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
6142         condition.
6143         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
6144         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
6145         condition.
6146         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
6147
6148 2009-03-06  Eric Blake  <ebb9@byu.net>
6149
6150         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
6151         to avoid compiler warnings.
6152         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
6153
6154 2009-03-05  Bruno Haible  <bruno@clisp.org>
6155
6156         * tests/test-ftell.c (main): Disable test beyond end of file on
6157         FreeMiNT.
6158         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
6159
6160 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
6161
6162         * lib/filevercmp.c: Move hidden files up in ordering.
6163         * tests/test-filevercmp.c: Add tests for hidden files.
6164
6165 2009-03-04  Bruno Haible  <bruno@clisp.org>
6166
6167         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
6168         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
6169         AM_CFLAGS.
6170         Reported by Simon Josefsson.
6171
6172 2009-03-03  Bruno Haible  <bruno@clisp.org>
6173
6174         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
6175         Reported by Simon Josefsson.
6176
6177         * doc/ld-version-script.texi: Update node reference.
6178
6179 2009-03-03  Bruno Haible  <bruno@clisp.org>
6180
6181         * modules/visibility (License): Change to 'unlimited'.
6182         Suggested by Simon Josefsson.
6183
6184 2009-03-03  Jim Meyering  <meyering@redhat.com>
6185
6186         unlinkdir: cannot_unlink_dir may modify process state
6187         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
6188         it's neither thread-safe nor appropriate for use in a library.
6189
6190 2009-03-03  Eric Blake  <ebb9@byu.net>
6191
6192         test-closein: silence test under Darwin
6193         * tests/test-closein.sh: Ignore stderr from cat, since we don't
6194         care if it dies from EPIPE or EBADF.
6195
6196 2009-03-03  Bruno Haible  <bruno@clisp.org>
6197
6198         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
6199         earlier.
6200         * doc/visibility.texi: Fix @node and @section.
6201
6202 2009-03-03  Simon Josefsson  <simon@josefsson.org>
6203
6204         * doc/gnulib.texi: Link to sections for ld version script and
6205         visibility.
6206         * doc/visibility.texi: Add @node and @section.
6207         * modules/ld-version-script: New module.
6208         * m4/ld-version-script.m4: New file.
6209         * doc/ld-version-script.texi: New file.
6210
6211 2009-03-02  David Lutterkort  <lutter@redhat.com>
6212
6213         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
6214         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6215
6216 2009-03-02  Bruno Haible  <bruno@clisp.org>
6217
6218         * doc/visibility.texi: Mention libtool's -export-symbols option.
6219
6220 2009-03-02  Jim Meyering  <meyering@redhat.com>
6221
6222         announce-gen: new option: --no-print-checksums
6223         * build-aux/announce-gen (usage): Describe it.
6224         (print_checksums): Print a newline here, not in the [*] footnote.
6225         (main): Honor it.
6226
6227 2009-03-01  Bruno Haible  <bruno@clisp.org>
6228
6229         Use socklen_t in the native Windows replacements prototypes.
6230         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
6231         instead of 'int'.
6232         * lib/getsockopt.c (rpl_getsockopt): Likewise.
6233         * lib/setsockopt.c (rpl_setsockopt): Likewise.
6234         * modules/getsockopt (Depends-on): Add socklen.
6235         * modules/setsockopt (Depends-on): Add socklen.
6236
6237 2009-03-01  Bruno Haible  <bruno@clisp.org>
6238
6239         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
6240         least 4.2.
6241
6242 2009-03-01  Eric Blake  <ebb9@byu.net>
6243             Bruno Haible  <bruno@clisp.org>
6244
6245         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
6246         error messages.
6247         * lib/wait-process.c (wait_subprocess): Omit error message about
6248         deadly signal sent to the child of termsigp != NULL.
6249
6250 2009-03-01  Eric Blake  <ebb9@byu.net>
6251
6252         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
6253
6254 2009-03-01  Bruno Haible  <bruno@clisp.org>
6255
6256         Avoid a gcc warning.
6257         * tests/test-sched.c (b): Make global.
6258         Reported by Eric Blake.
6259
6260 2009-01-19  Martin Lambers  <marlam@marlam.de>
6261
6262         Provide POSIX semantics for socket timeout options on W32.
6263         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
6264         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
6265         * modules/setsockopt: Depend on sys_time module for struct timeval.
6266         * modules/getsockopt: Depend on sys_time module for struct timeval.
6267
6268 2009-03-01  Simon Josefsson  <simon@josefsson.org>
6269
6270         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
6271         __USE_GNU, for consistency with netdb.in.h.
6272         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
6273
6274 2009-03-01  Bruno Haible  <bruno@clisp.org>
6275
6276         More support for FreeMiNT.
6277         * lib/fseeko.c (rpl_fseeko): Complete last commit.
6278         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
6279
6280 2009-03-01  Bruno Haible  <bruno@clisp.org>
6281
6282         More support for FreeMiNT.
6283         * lib/fpurge.c (fpurge): Correct last commit.
6284         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
6285
6286 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6287
6288         Fix unportable awk script in vc-list-files.
6289         * build-aux/vc-list-files: In the replacement awk script, use
6290         substr with a second argument of 1, not zero.
6291         Report by Simon Josefsson.
6292
6293 2009-02-28  Bruno Haible  <bruno@clisp.org>
6294
6295         More support for FreeMiNT.
6296         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
6297         to FreeMiNT today.
6298         * lib/fwriting.c (fwriting): Likewise.
6299         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
6300
6301 2009-02-28  Bruno Haible  <bruno@clisp.org>
6302
6303         * tests/test-freadseek.c (main): Disable test beyond end of file on
6304         FreeMiNT.
6305         * tests/test-ftello.c (main): Likewise.
6306         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
6307
6308 2009-02-28  Bruno Haible  <bruno@clisp.org>
6309
6310         Add tentative support for FreeMiNT.
6311         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
6312         * lib/fpurge.c (fpurge): Likewise.
6313         * lib/freadable.c (freadable): Likewise.
6314         * lib/freading.c (freading): Likewise.
6315         * lib/freadptr.c (freadptr): Likewise.
6316         * lib/freadseek.c (freadptrinc): Likewise.
6317         * lib/fseeko.c (rpl_fseeko): Likewise.
6318         * lib/fseterr.c (fseterr): Likewise.
6319         * lib/fwritable.c (fwritable): Likewise.
6320         * lib/fwriting.c (fwriting): Likewise.
6321         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
6322         Hourihane.
6323         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
6324
6325 2009-02-28  Bruno Haible  <bruno@clisp.org>
6326
6327         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
6328         SIGCHLD.
6329         Reported by Jim Meyering.
6330
6331 2009-02-28  Bruno Haible  <bruno@clisp.org>
6332
6333         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
6334         Mention the results of these tests on various platforms.
6335         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
6336         order.
6337         * doc/posix-functions/printf.texi: Likewise.
6338         * doc/posix-functions/snprintf.texi: Likewise.
6339         * doc/posix-functions/sprintf.texi: Likewise.
6340         * doc/posix-functions/vfprintf.texi: Likewise.
6341         * doc/posix-functions/vprintf.texi: Likewise.
6342         * doc/posix-functions/vsnprintf.texi: Likewise.
6343         * doc/posix-functions/vsprintf.texi: Likewise.
6344         * doc/glibc-functions/obstack_printf.texi: Likewise.
6345         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
6346
6347 2009-02-28  Bruno Haible  <bruno@clisp.org>
6348
6349         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
6350         Reported by Loïc Minier <lool@dooz.org>.
6351
6352 2009-02-27  Bruno Haible  <bruno@clisp.org>
6353
6354         * gnulib-tool (func_import): Make the sed expression used to create the
6355         sed script for updating the .gitignore file POSIX compliant.
6356         Reported by Eric Blake.
6357
6358 2009-02-27  Bruno Haible  <bruno@clisp.org>
6359
6360         * gnulib-tool (sed): Don't alias as "sed --posix".
6361         Reported by Eric Blake.
6362
6363 2009-02-27  Bruno Haible  <bruno@clisp.org>
6364
6365         Avoid test link errors.
6366         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
6367         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
6368         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
6369         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
6370         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6371
6372 2009-02-27  Bruno Haible  <bruno@clisp.org>
6373
6374         Avoid spurious "(cached)" in configure output.
6375         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
6376         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
6377         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
6378         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
6379         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
6380         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
6381         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
6382         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
6383         Reported by Eric Blake.
6384
6385 2009-02-27  Eric Blake  <ebb9@byu.net>
6386
6387         printf: fix regression in previous patch
6388         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
6389
6390 2009-02-27  Bruno Haible  <bruno@clisp.org>
6391
6392         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
6393         value.
6394         * lib/stdint.in.h: Likewise.
6395         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
6396
6397 2009-02-27  Eric Blake  <ebb9@byu.net>
6398
6399         doc: mention more functions added in cygwin 1.7.0
6400         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
6401         addition.
6402         * doc/posix-functions/open_wmemstream.texi: Likewise.
6403         * doc/posix-functions/wcsnlen.texi: Likewise.
6404         * doc/posix-functions/wcsnrtombs.texi: Likewise.
6405         * doc/posix-functions/wcstod.texi: Likewise.
6406         * doc/posix-functions/wcstof.texi: Likewise.
6407         * doc/posix-functions/wcstoimax.texi: Likewise.
6408         * doc/posix-functions/wcstok.texi: Likewise.
6409         * doc/posix-functions/wcstoumax.texi: Likewise.
6410
6411         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
6412         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
6413         * doc/posix-functions/fprintf.texi: Update.
6414         * doc/posix-functions/printf.texi: Update.
6415         * doc/posix-functions/snprintf.texi: Update.
6416         * doc/posix-functions/sprintf.texi: Update.
6417         * doc/posix-functions/vfprintf.texi: Update.
6418         * doc/posix-functions/vprintf.texi: Update.
6419         * doc/posix-functions/vsnprintf.texi: Update.
6420         * doc/posix-functions/vsprintf.texi: Update.
6421         * doc/glibc-functions/obstack_printf.texi: Update.
6422         * doc/glibc-functions/obstack_vprintf.texi: Update.
6423
6424 2009-02-26  Eric Blake  <ebb9@byu.net>
6425
6426         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
6427         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
6428         compilation bug by using runtime conversion.
6429         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
6430         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
6431         * modules/ceill-tests (Files): Use nan.h.
6432         * modules/floorl-tests (Files): Likewise.
6433         * modules/frexpl-tests (Files): Likewise.
6434         * modules/isnanl-tests (Files): Likewise.
6435         * modules/ldexpl-tests (Files): Likewise.
6436         * modules/roundl-tests (Files): Likewise.
6437         * modules/truncl-tests (Files): Likewise.
6438         * tests/test-ceill.c (main): Use a working NaN.
6439         * tests/test-floorl.c (main): Likewise.
6440         * tests/test-frexpl.c (main): Likewise.
6441         * tests/test-isnan.c (test_long_double): Likewise.
6442         * tests/test-isnanl.h (main): Likewise.
6443         * tests/test-ldexpl.h (main): Likewise.
6444         * tests/test-roundl.h (main): Likewise.
6445         * tests/test-truncl.h (main): Likewise.
6446         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
6447
6448 2009-02-26  Eric Blake  <ebb9@byu.net>
6449             Bruno Haible  <bruno@clisp.org>
6450
6451         Work around a *printf bug with %ls on Solaris.
6452         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
6453         precision is specified, sprintf stops converting the wide string
6454         argument when the number of bytes that have been produced by this
6455         conversion equals or exceeds the precision.
6456         * doc/posix-functions/fprintf.texi: Update.
6457         * doc/posix-functions/printf.texi: Update.
6458         * doc/posix-functions/snprintf.texi: Update.
6459         * doc/posix-functions/sprintf.texi: Update.
6460         * doc/posix-functions/vfprintf.texi: Update.
6461         * doc/posix-functions/vprintf.texi: Update.
6462         * doc/posix-functions/vsnprintf.texi: Update.
6463         * doc/posix-functions/vsprintf.texi: Update.
6464         * doc/glibc-functions/obstack_printf.texi: Update.
6465         * doc/glibc-functions/obstack_vprintf.texi: Update.
6466
6467 2009-02-26  Eric Blake  <ebb9@byu.net>
6468
6469         stdlib: favor compiler check of random.h
6470         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
6471         to avoid an ObjC random.h installed by Swarm.
6472
6473 2009-02-26  Bruno Haible  <bruno@clisp.org>
6474
6475         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
6476         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
6477         Reported by Gary V. Vaughan <gary@gnu.org>.
6478
6479 2009-02-26  Bruno Haible  <bruno@clisp.org>
6480
6481         Fix *printf behaviour regarding the %ls directive.
6482         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
6483         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
6484         NEED_PRINTF_DIRECTIVE_LS.
6485         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
6486         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
6487         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
6488         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
6489         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
6490         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
6491         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
6492         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
6493         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6494         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6495         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6496         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
6497         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
6498         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
6499         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6500         * doc/posix-functions/fprintf.texi: Update.
6501         * doc/posix-functions/printf.texi: Update.
6502         * doc/posix-functions/snprintf.texi: Update.
6503         * doc/posix-functions/sprintf.texi: Update.
6504         * doc/posix-functions/vfprintf.texi: Update.
6505         * doc/posix-functions/vprintf.texi: Update.
6506         * doc/posix-functions/vsnprintf.texi: Update.
6507         * doc/posix-functions/vsprintf.texi: Update.
6508         * doc/glibc-functions/obstack_printf.texi: Update.
6509         * doc/glibc-functions/obstack_vprintf.texi: Update.
6510         Reported by Eric Blake.
6511
6512 2009-02-25  Bruno Haible  <bruno@clisp.org>
6513
6514         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
6515         with known value.
6516         Reported by Gary V. Vaughan <gary@gnu.org>.
6517
6518 2009-02-25  Bruno Haible  <bruno@clisp.org>
6519
6520         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
6521         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
6522         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
6523         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
6524         Reported by Gary V. Vaughan <gary@gnu.org>.
6525
6526 2009-02-25  Bruno Haible  <bruno@clisp.org>
6527
6528         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
6529         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
6530         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
6531         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
6532         Reported by Gary V. Vaughan <gary@gnu.org>.
6533
6534 2009-02-25  Eric Blake  <ebb9@byu.net>
6535
6536         tests: skip fseek/ftell tests if ungetc is broken
6537         * m4/ungetc.m4: New file.
6538         * modules/fseek-tests: Split test, so ungetc dependency is
6539         separate from rest of test.
6540         * modules/fseeko-tests: Likewise.
6541         * modules/ftell-tests: Likewise.
6542         * modules/ftello-tests: Likewise.
6543         * tests/test-fseek.c (main): Isolate ungetc dependency.
6544         * tests/test-fseeko.c (main): Likewise.
6545         * tests/test-ftell.c (main): Likewise.
6546         * tests/test-ftello.c (main): Likewise.
6547         * tests/test-fseek2.sh: New file.
6548         * tests/test-fseeko2.sh: Likewise.
6549         * tests/test-ftell2.sh: Likewise.
6550         * tests/test-ftello2.sh: Likewise.
6551
6552 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
6553
6554         test-getaddrinfo: fix usage of skip return code 77
6555         * tests/test-gettaddrinfo.c: Return skip code 77 only
6556         for first occurance of skip (4x77 is not 77)
6557
6558 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
6559
6560         strtod: avoid C99 decl-after-statement
6561         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
6562
6563 2009-02-24  Eric Blake  <ebb9@byu.net>
6564
6565         strtod: detect HP-UX 11.31 bug
6566         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
6567         Reported by Gary V. Vaughan.
6568
6569 2009-02-23  Bruno Haible  <bruno@clisp.org>
6570
6571         Fix invalid read past end of memory block.
6572         * lib/vasnprintf.c (DCHAR_SET): Define.
6573         (local_wcslen): Define only when needed.
6574         (local_strnlen, local_wcsnlen): New functions.
6575         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
6576         directives that involve a conversion ourselves.
6577         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
6578         wcsnlen, mbrtowc, wcrtomb.
6579         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
6580         * tests/test-vasprintf-posix.c (test_function): Likewise.
6581         * tests/test-snprintf-posix.h (test_function): Likewise.
6582         * tests/test-sprintf-posix.h (test_function): Likewise.
6583         Reported by Ben Pfaff <blp@cs.stanford.edu>.
6584
6585 2009-02-22  Bruno Haible  <bruno@clisp.org>
6586
6587         Implement new clarified decomposition of Hangul syllables.
6588         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
6589         of type LTV, return only a pairwise decomposition.
6590         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
6591         Likewise.
6592         * tests/uninorm/test-decomposition.c (main): Updated expected result.
6593         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
6594         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
6595
6596 2009-02-22  Bruno Haible  <bruno@clisp.org>
6597
6598         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
6599         zero-length results and shrink excess allocated memory.
6600         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
6601         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
6602         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
6603         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
6604         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
6605         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
6606         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
6607         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
6608         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
6609         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
6610         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
6611         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
6612
6613 2009-02-21  Bruno Haible  <bruno@clisp.org>
6614
6615         * doc/gnulib.texi: Include safe-alloc.texi earlier.
6616         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
6617         spaces after a period. Put a space between a macro name and its
6618         argument list. Trivial rewordings.
6619         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
6620         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
6621         (main): Return 0 explicitly.
6622
6623 2009-02-21  Bruno Haible  <bruno@clisp.org>
6624
6625         Tests for module 'uninorm/filter'.
6626         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
6627         * modules/uninorm/filter-tests: New file.
6628
6629         New module 'uninorm/filter'.
6630         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
6631         uninorm_filter_flush, uninorm_filter_free): New declarations.
6632         * lib/uninorm/uninorm-filter.c: New file.
6633         * modules/uninorm/filter: New file.
6634
6635 2009-02-21  Bruno Haible  <bruno@clisp.org>
6636
6637         Tests for module 'uninorm/nfkc'.
6638         * tests/uninorm/test-nfkc.c: New file.
6639         * tests/uninorm/test-u8-nfkc.c: New file.
6640         * tests/uninorm/test-u16-nfkc.c: New file.
6641         * tests/uninorm/test-u32-nfkc.c: New file.
6642         * tests/uninorm/test-u32-nfkc-big.sh: New file.
6643         * tests/uninorm/test-u32-nfkc-big.c: New file.
6644         * modules/uninorm/nfkc-tests: New file.
6645
6646         New module 'uninorm/nfkc'.
6647         * lib/uninorm/nfkc.c: New file.
6648         * modules/uninorm/nfkc: New file.
6649
6650         Tests for module 'uninorm/nfkd'.
6651         * tests/uninorm/test-nfkd.c: New file.
6652         * tests/uninorm/test-u8-nfkd.c: New file.
6653         * tests/uninorm/test-u16-nfkd.c: New file.
6654         * tests/uninorm/test-u32-nfkd.c: New file.
6655         * tests/uninorm/test-u32-nfkd-big.sh: New file.
6656         * tests/uninorm/test-u32-nfkd-big.c: New file.
6657         * modules/uninorm/nfkd-tests: New file.
6658
6659         New module 'uninorm/nfkd'.
6660         * lib/uninorm/nfkd.c: New file.
6661         * modules/uninorm/nfkd: New file.
6662
6663         Tests for module 'uninorm/nfc'.
6664         * tests/uninorm/test-nfc.c: New file.
6665         * tests/uninorm/test-u8-nfc.c: New file.
6666         * tests/uninorm/test-u16-nfc.c: New file.
6667         * tests/uninorm/test-u32-nfc.c: New file.
6668         * tests/uninorm/test-u32-nfc-big.sh: New file.
6669         * tests/uninorm/test-u32-nfc-big.c: New file.
6670         * modules/uninorm/nfc-tests: New file.
6671
6672         New module 'uninorm/nfc'.
6673         * lib/uninorm/nfc.c: New file.
6674         * modules/uninorm/nfc: New file.
6675
6676         Tests for module 'uninorm/nfd'.
6677         * tests/uninorm/test-nfd.c: New file.
6678         * tests/uninorm/test-u8-nfd.c: New file.
6679         * tests/uninorm/test-u16-nfd.c: New file.
6680         * tests/uninorm/test-u32-nfd.c: New file.
6681         * tests/uninorm/test-u32-nfd-big.sh: New file.
6682         * tests/uninorm/test-u32-nfd-big.c: New file.
6683         * tests/uninorm/test-u32-normalize-big.h: New file.
6684         * tests/uninorm/test-u32-normalize-big.c: New file.
6685         * tests/uninorm/NormalizationTest.txt: New file, created from
6686         Unicode 5.1.0 NormalizationTest.txt.
6687         * modules/uninorm/nfd-tests: New file.
6688
6689         New module 'uninorm/nfd'.
6690         * lib/uninorm/nfd.c: New file.
6691         * modules/uninorm/nfd: New file.
6692
6693         New module 'uninorm/u32-normalize'.
6694         * lib/uninorm/u32-normalize.c: New file.
6695         * modules/uninorm/u32-normalize: New file.
6696
6697         New module 'uninorm/u16-normalize'.
6698         * lib/uninorm/u16-normalize.c: New file.
6699         * modules/uninorm/u16-normalize: New file.
6700
6701         New module 'uninorm/u8-normalize'.
6702         * lib/uninorm/u8-normalize.c: New file.
6703         * lib/uninorm/normalize-internal.h: New file.
6704         * lib/uninorm/u-normalize-internal.h: New file.
6705         * modules/uninorm/u8-normalize: New file.
6706
6707         New module 'uninorm/decompose-internal'.
6708         * lib/uninorm/decompose-internal.c: New file.
6709         * modules/uninorm/decompose-internal: New file.
6710
6711         Tests for module 'uninorm/composition'.
6712         * tests/uninorm/test-composition.c: New file.
6713         * modules/uninorm/composition-tests: New file.
6714
6715         New module 'uninorm/composition'.
6716         * lib/uninorm/composition.c: New file.
6717         * lib/uninorm/composition-table.gperf: New file, generated by
6718         gen-uni-tables.
6719         * modules/uninorm/composition: New file.
6720
6721         Tests for module 'uninorm/compat-decomposition'.
6722         * tests/uninorm/test-compat-decomposition.c: New file.
6723         * modules/uninorm/compat-decomposition-tests: New file.
6724
6725         New module 'uninorm/compat-decomposition'.
6726         * lib/uninorm/decompose-internal.h: New file.
6727         * lib/uninorm/compat-decomposition.c: New file.
6728         * modules/uninorm/compat-decomposition: New file.
6729
6730         Tests for module 'uninorm/canonical-decomposition'.
6731         * tests/uninorm/test-canonical-decomposition.c: New file.
6732         * modules/uninorm/canonical-decomposition-tests: New file.
6733
6734         New module 'uninorm/canonical-decomposition'.
6735         * lib/uninorm/canonical-decomposition.c: New file.
6736         * modules/uninorm/canonical-decomposition: New file.
6737
6738         Tests for module 'uninorm/decomposition'.
6739         * tests/uninorm/test-decomposition.c: New file.
6740         * modules/uninorm/decomposition-tests: New file.
6741
6742         New module 'uninorm/decomposition'.
6743         * lib/uninorm/decomposition.c: New file.
6744         * modules/uninorm/decomposition: New file.
6745
6746         New module 'uninorm/decomposition-table'.
6747         * lib/uninorm/decomposition-table.h: New file.
6748         * lib/uninorm/decomposition-table.c: New file.
6749         * lib/uninorm/decomposition-table1.h: New file, generated by
6750         gen-uni-tables.
6751         * lib/uninorm/decomposition-table2.h: New file, generated by
6752         gen-uni-tables.
6753         * modules/uninorm/decomposition-table: New file.
6754
6755         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
6756         (UC_DECOMP_*): New enumeration items.
6757         (get_decomposition): New function.
6758         (struct decomp_table): New type.
6759         (output_decomposition, output_decomposition_tables): New functions.
6760         (unicode_composition_exclusions): New variable.
6761         (fill_composition_exclusions, debug_output_composition_tables): New
6762         functions.
6763         (main): Accept one more argument. Invoke fill_composition_exclusions.
6764         Output decomposition and composition tables.
6765
6766         New module 'uninorm/base'.
6767         * lib/uninorm.h: New file.
6768         * lib/unictype.h: Update comment.
6769         * modules/uninorm/base: New file.
6770
6771 2009-02-21  David Lutterkort  <lutter@redhat.com>
6772
6773         Tests for module 'safe-alloc'.
6774         * tests/test-safe-alloc.c: New file.
6775         * modules/safe-alloc-tests: New file.
6776
6777         New module 'safe-alloc'.
6778         * lib/safe-alloc.h: New file.
6779         * lib/safe-alloc.c: New file.
6780         * m4/safe-alloc.m4: New file.
6781         * modules/safe-alloc: New file.
6782         * doc/safe-alloc.texi: New file.
6783         * doc/gnulib.texi: Include it.
6784         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
6785         safe-alloc.
6786
6787 2009-02-18  Bruno Haible  <bruno@clisp.org>
6788
6789         Fix link error on non-glibc systems.
6790         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
6791         variable.
6792         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6793
6794 2009-02-18  Jim Meyering  <meyering@redhat.com>
6795
6796         fts: avoid used-uninitialized error due to recent change
6797         * lib/fts.c (fts_read): Guard uses of the new member,
6798         parent->fts_n_dirs_remaining, since it's not relevant for
6799         the parent of a directory specified on the command-line.
6800
6801 2009-02-17  James Youngman  <jay@gnu.org>
6802             Bruno Haible  <bruno@clisp.org>
6803
6804         * m4/include_next.m4: Reformulate comment.
6805
6806 2009-02-16  Jim Meyering  <meyering@redhat.com>
6807
6808         fts: add #if guards so that the fts_lgpl module still builds
6809         * lib/fts.c: Guard just-added hash-table-using parts with
6810         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
6811         Reported by Simon Josefsson.
6812
6813 2009-02-15  Bruno Haible  <bruno@clisp.org>
6814
6815         * modules/array-mergesort-tests: New file.
6816         * tests/test-array-mergesort.c: New file.
6817
6818         New module 'array-mergesort'.
6819         * modules/array-mergesort: New file.
6820         * lib/array-mergesort.h: New file.
6821
6822 2009-02-15  Bruno Haible  <bruno@clisp.org>
6823
6824         Fix 2009-02-07 commit.
6825         * lib/gen-uni-tables.c (output_predicate, output_category,
6826         output_combclass, output_bidi_category, output_decimal_digit,
6827         output_digit, output_numeric, output_mirror, output_scripts,
6828         output_ident_category, output_simple_mapping): Fix format directives.
6829         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
6830
6831 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
6832
6833         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
6834         fixes are available from IBM.
6835
6836 2009-02-13  Jim Meyering  <meyering@redhat.com>
6837
6838         fts: arrange not to stat non-directories in more cases
6839         This makes GNU find (when it doesn't need to stat each file)
6840         *much* more efficient at traversing reiserfs file systems.
6841         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
6842         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
6843         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
6844         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
6845         (leaf_optimization_applies): New function.
6846         (LCO_hash, LCO_compare): New helper functions.
6847         (link_count_optimize_ok): New function.
6848         (fts_stat): Initialize new member (if dir).
6849         (fts_read): Decrement parent's fts_n_dirs_remaining count if
6850         we've just stat'ed a directory.  Skip the stat call when possible.
6851         ---
6852         Note this AFS-related exchange:
6853         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
6854         and note find's pioctl call in find/fstype.c.
6855         But that is necessary only if you want to enable the
6856         optimization for AFS, and for now, I don't.
6857
6858         fts: move a function definition "up" (no semantic change)
6859         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
6860         "up" to precede upcoming use of a related function.
6861
6862 2009-02-11  Jim Meyering  <meyering@redhat.com>
6863
6864         fts: correct internal computation of nlinks (optimization-related)
6865         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
6866         whether the current entry is a directory, so don't test it.
6867
6868 2009-02-10  Bruno Haible  <bruno@clisp.org>
6869
6870         Tests for module 'uniwbrk/ulc-wordbreaks'.
6871         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
6872         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
6873         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
6874
6875         Tests for module 'uniwbrk/u32-wordbreaks'.
6876         * modules/uniwbrk/u32-wordbreaks-tests: New file.
6877         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
6878
6879         Tests for module 'uniwbrk/u16-wordbreaks'.
6880         * modules/uniwbrk/u16-wordbreaks-tests: New file.
6881         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
6882
6883         Tests for module 'uniwbrk/u8-wordbreaks'.
6884         * modules/uniwbrk/u8-wordbreaks-tests: New file.
6885         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
6886
6887 2009-02-10  Bruno Haible  <bruno@clisp.org>
6888
6889         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
6890         property.
6891         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
6892         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
6893         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
6894
6895 2009-02-10  Simon Josefsson  <simon@josefsson.org>
6896
6897         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
6898         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
6899
6900 2009-02-10  Bruno Haible  <bruno@clisp.org>
6901
6902         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
6903         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
6904         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
6905         * lib/unilbrk/u8-possible-linebreaks.c: Update.
6906         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
6907         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
6908
6909 2009-02-09  Simon Josefsson  <simon@josefsson.org>
6910
6911         * lib/sockets.h (gl_fd_to_handle): New function.
6912
6913         * tests/test-sockets.c: Call gl_fd_to_handle.
6914
6915 2009-02-09  Bruno Haible  <bruno@clisp.org>
6916
6917         * doc/havelib.texi: Document the conventions on bi-arch systems.
6918
6919 2009-02-08  Bruno Haible  <bruno@clisp.org>
6920
6921         Document the AC_LIB_LINKFLAGS macro.
6922         * doc/havelib.texi: New file, mostly written on 2005-05-24.
6923         * doc/gnulib.texi: Include it.
6924
6925 2009-02-08  Bruno Haible  <bruno@clisp.org>
6926
6927         Fix wrong order of sections, compared to TOC.
6928         * doc/gnulib.texi: Include relocatable-maint.texi after the
6929         "Regular expressions" node, not before.
6930
6931 2009-02-08  Bruno Haible  <bruno@clisp.org>
6932
6933         Tests for module 'unicase/totitle'.
6934         * modules/unicase/totitle-tests: New file.
6935
6936         Tests for module 'unicase/tolower'.
6937         * modules/unicase/tolower-tests: New file.
6938
6939         Tests for module 'unicase/toupper'.
6940         * modules/unicase/toupper-tests: New file.
6941         * tests/unicase/test-mapping-part1.h: New file.
6942         * tests/unicase/test-mapping-part2.h: New file.
6943
6944         New module 'unicase/totitle'.
6945         * modules/unicase/totitle: New file.
6946         * lib/unicase/totitle.c: New file.
6947
6948         New module 'unicase/tolower'.
6949         * modules/unicase/tolower: New file.
6950         * lib/unicase/tolower.c: New file.
6951
6952         New module 'unicase/toupper'.
6953         * modules/unicase/toupper: New file.
6954         * lib/unicase/toupper.c: New file.
6955         * lib/unicase/simple-mapping.h: New file.
6956
6957         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
6958         (mapping_table): New structure.
6959         (output_simple_mapping): New function.
6960         (main): Invoke output_simple_mapping_test and output_simple_mapping.
6961         * modules/gen-uni-tables (Description): Update.
6962         * lib/unicase/toupper.h: New file, automatically generated by
6963         gen-uni-tables.
6964         * lib/unicase/tolower.h: New file, automatically generated by
6965         gen-uni-tables.
6966         * lib/unicase/totitle.h: New file, automatically generated by
6967         gen-uni-tables.
6968         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
6969         gen-uni-tables.
6970         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
6971         gen-uni-tables.
6972         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
6973         gen-uni-tables.
6974
6975         New module 'unicase/base'.
6976         * modules/unicase/base: New file.
6977         * lib/unicase.h: New file.
6978
6979 2009-02-08  Bruno Haible  <bruno@clisp.org>
6980
6981         New module 'uniwbrk/ulc-wordbreaks'.
6982         * modules/uniwbrk/ulc-wordbreaks: New file.
6983         * lib/uniwbrk/ulc-wordbreaks.c: New file.
6984
6985         New module 'uniwbrk/u32-wordbreaks'.
6986         * modules/uniwbrk/u32-wordbreaks: New file.
6987         * lib/uniwbrk/u32-wordbreaks.c: New file.
6988
6989         New module 'uniwbrk/u16-wordbreaks'.
6990         * modules/uniwbrk/u16-wordbreaks: New file.
6991         * lib/uniwbrk/u16-wordbreaks.c: New file.
6992
6993         New module 'uniwbrk/u8-wordbreaks'.
6994         * modules/uniwbrk/u8-wordbreaks: New file.
6995         * lib/uniwbrk/u8-wordbreaks.c: New file.
6996         * lib/uniwbrk/u-wordbreaks.h: New file.
6997
6998         New module 'uniwbrk/table'.
6999         * modules/uniwbrk/table: New file.
7000         * lib/uniwbrk/wbrktable.h: New file.
7001         * lib/uniwbrk/wbrktable.c: New file.
7002
7003         New module 'uniwbrk/wordbreak-property'.
7004         * modules/uniwbrk/wordbreak-property: New file.
7005         * lib/uniwbrk/wordbreak-property.c: New file.
7006
7007         * lib/gen-uni-tables.c (WBP_*): New enum items.
7008         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
7009         (unicode_org_wbp): New variable.
7010         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
7011         New functions.
7012         (wbp_table): New structure.
7013         (output_wbp, output_wbrk_tables): New functions.
7014         (main): Accept additional argument. Invoke fill_org_wbp,
7015         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
7016         output_wbrk_tables.
7017         * modules/gen-uni-tables (Description): Update.
7018         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
7019         gen-uni-tables.
7020
7021         New module 'uniwbrk/base'.
7022         * modules/uniwbrk/base: New file.
7023         * lib/uniwbrk.h: New file.
7024
7025 2009-02-08  Bruno Haible  <bruno@clisp.org>
7026
7027         Update to Unicode 5.1.0.
7028         * lib/gen-uni-tables.c (is_property_alphabetic): Include
7029         U+2185..U+2188.
7030         (is_property_default_ignorable_code_point): Don't include characters
7031         of category Cc or Cs and not-a-characters.
7032         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
7033         U+0D79, U+109E, U+109F, U+A60C.
7034         * lib/unictype/bidi_of.h: Regenerated.
7035         * lib/unictype/blocks.h: Regenerated.
7036         * lib/unictype/categ_C.h: Regenerated.
7037         * lib/unictype/categ_Cf.h: Regenerated.
7038         * lib/unictype/categ_Cn.h: Regenerated.
7039         * lib/unictype/categ_L.h: Regenerated.
7040         * lib/unictype/categ_Ll.h: Regenerated.
7041         * lib/unictype/categ_Lm.h: Regenerated.
7042         * lib/unictype/categ_Lo.h: Regenerated.
7043         * lib/unictype/categ_Lu.h: Regenerated.
7044         * lib/unictype/categ_M.h: Regenerated.
7045         * lib/unictype/categ_Mc.h: Regenerated.
7046         * lib/unictype/categ_Me.h: Regenerated.
7047         * lib/unictype/categ_Mn.h: Regenerated.
7048         * lib/unictype/categ_N.h: Regenerated.
7049         * lib/unictype/categ_Nd.h: Regenerated.
7050         * lib/unictype/categ_Nl.h: Regenerated.
7051         * lib/unictype/categ_No.h: Regenerated.
7052         * lib/unictype/categ_P.h: Regenerated.
7053         * lib/unictype/categ_Pd.h: Regenerated.
7054         * lib/unictype/categ_Pe.h: Regenerated.
7055         * lib/unictype/categ_Pf.h: Regenerated.
7056         * lib/unictype/categ_Pi.h: Regenerated.
7057         * lib/unictype/categ_Po.h: Regenerated.
7058         * lib/unictype/categ_Ps.h: Regenerated.
7059         * lib/unictype/categ_S.h: Regenerated.
7060         * lib/unictype/categ_Sk.h: Regenerated.
7061         * lib/unictype/categ_Sm.h: Regenerated.
7062         * lib/unictype/categ_So.h: Regenerated.
7063         * lib/unictype/categ_of.h: Regenerated.
7064         * lib/unictype/combining.h: Regenerated.
7065         * lib/unictype/ctype_alnum.h: Regenerated.
7066         * lib/unictype/ctype_alpha.h: Regenerated.
7067         * lib/unictype/ctype_graph.h: Regenerated.
7068         * lib/unictype/ctype_lower.h: Regenerated.
7069         * lib/unictype/ctype_print.h: Regenerated.
7070         * lib/unictype/ctype_punct.h: Regenerated.
7071         * lib/unictype/ctype_upper.h: Regenerated.
7072         * lib/unictype/decdigit.h: Regenerated.
7073         * lib/unictype/digit.h: Regenerated.
7074         * lib/unictype/mirror.h: Regenerated.
7075         * lib/unictype/numeric.h: Regenerated.
7076         * lib/unictype/pr_alphabetic.h: Regenerated.
7077         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
7078         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
7079         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
7080         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
7081         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
7082         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
7083         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
7084         * lib/unictype/pr_combining.h: Regenerated.
7085         * lib/unictype/pr_dash.h: Regenerated.
7086         * lib/unictype/pr_decimal_digit.h: Regenerated.
7087         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
7088         * lib/unictype/pr_deprecated.h: Regenerated.
7089         * lib/unictype/pr_diacritic.h: Regenerated.
7090         * lib/unictype/pr_extender.h: Regenerated.
7091         * lib/unictype/pr_format_control.h: Regenerated.
7092         * lib/unictype/pr_grapheme_base.h: Regenerated.
7093         * lib/unictype/pr_grapheme_extend.h: Regenerated.
7094         * lib/unictype/pr_grapheme_link.h: Regenerated.
7095         * lib/unictype/pr_id_continue.h: Regenerated.
7096         * lib/unictype/pr_id_start.h: Regenerated.
7097         * lib/unictype/pr_ideographic.h: Regenerated.
7098         * lib/unictype/pr_ignorable_control.h: Regenerated.
7099         * lib/unictype/pr_lowercase.h: Regenerated.
7100         * lib/unictype/pr_math.h: Regenerated.
7101         * lib/unictype/pr_numeric.h: Regenerated.
7102         * lib/unictype/pr_other_alphabetic.h: Regenerated.
7103         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
7104         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
7105         * lib/unictype/pr_other_id_continue.h: Regenerated.
7106         * lib/unictype/pr_other_lowercase.h: Regenerated.
7107         * lib/unictype/pr_other_math.h: Regenerated.
7108         * lib/unictype/pr_punctuation.h: Regenerated.
7109         * lib/unictype/pr_sentence_terminal.h: Regenerated.
7110         * lib/unictype/pr_soft_dotted.h: Regenerated.
7111         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
7112         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
7113         * lib/unictype/pr_unified_ideograph.h: Regenerated.
7114         * lib/unictype/pr_uppercase.h: Regenerated.
7115         * lib/unictype/pr_xid_continue.h: Regenerated.
7116         * lib/unictype/pr_xid_start.h: Regenerated.
7117         * lib/unictype/pr_zero_width.h: Regenerated.
7118         * lib/unictype/scripts.h: Regenerated.
7119         * lib/unictype/scripts_byname.gperf: Regenerated.
7120         * lib/unictype/sy_java_ident.h: Regenerated.
7121         * lib/unilbrk/lbrkprop1.h: Regenerated.
7122         * lib/unilbrk/lbrkprop2.h: Regenerated.
7123         * tests/unictype/test-categ_C.c: Regenerated.
7124         * tests/unictype/test-categ_Cf.c: Regenerated.
7125         * tests/unictype/test-categ_Cn.c: Regenerated.
7126         * tests/unictype/test-categ_L.c: Regenerated.
7127         * tests/unictype/test-categ_Ll.c: Regenerated.
7128         * tests/unictype/test-categ_Lm.c: Regenerated.
7129         * tests/unictype/test-categ_Lo.c: Regenerated.
7130         * tests/unictype/test-categ_Lu.c: Regenerated.
7131         * tests/unictype/test-categ_M.c: Regenerated.
7132         * tests/unictype/test-categ_Mc.c: Regenerated.
7133         * tests/unictype/test-categ_Me.c: Regenerated.
7134         * tests/unictype/test-categ_Mn.c: Regenerated.
7135         * tests/unictype/test-categ_N.c: Regenerated.
7136         * tests/unictype/test-categ_Nd.c: Regenerated.
7137         * tests/unictype/test-categ_Nl.c: Regenerated.
7138         * tests/unictype/test-categ_No.c: Regenerated.
7139         * tests/unictype/test-categ_P.c: Regenerated.
7140         * tests/unictype/test-categ_Pd.c: Regenerated.
7141         * tests/unictype/test-categ_Pe.c: Regenerated.
7142         * tests/unictype/test-categ_Pf.c: Regenerated.
7143         * tests/unictype/test-categ_Pi.c: Regenerated.
7144         * tests/unictype/test-categ_Po.c: Regenerated.
7145         * tests/unictype/test-categ_Ps.c: Regenerated.
7146         * tests/unictype/test-categ_S.c: Regenerated.
7147         * tests/unictype/test-categ_Sk.c: Regenerated.
7148         * tests/unictype/test-categ_Sm.c: Regenerated.
7149         * tests/unictype/test-categ_So.c: Regenerated.
7150         * tests/unictype/test-ctype_alnum.c: Regenerated.
7151         * tests/unictype/test-ctype_alpha.c: Regenerated.
7152         * tests/unictype/test-ctype_graph.c: Regenerated.
7153         * tests/unictype/test-ctype_lower.c: Regenerated.
7154         * tests/unictype/test-ctype_print.c: Regenerated.
7155         * tests/unictype/test-ctype_punct.c: Regenerated.
7156         * tests/unictype/test-ctype_upper.c: Regenerated.
7157         * tests/unictype/test-decdigit.h: Regenerated.
7158         * tests/unictype/test-digit.h: Regenerated.
7159         * tests/unictype/test-numeric.h: Regenerated.
7160         * tests/unictype/test-pr_alphabetic.c: Regenerated.
7161         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
7162         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
7163         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
7164         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
7165         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
7166         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
7167         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
7168         * tests/unictype/test-pr_combining.c: Regenerated.
7169         * tests/unictype/test-pr_dash.c: Regenerated.
7170         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
7171         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
7172         * tests/unictype/test-pr_deprecated.c: Regenerated.
7173         * tests/unictype/test-pr_diacritic.c: Regenerated.
7174         * tests/unictype/test-pr_extender.c: Regenerated.
7175         * tests/unictype/test-pr_format_control.c: Regenerated.
7176         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
7177         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
7178         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
7179         * tests/unictype/test-pr_id_continue.c: Regenerated.
7180         * tests/unictype/test-pr_id_start.c: Regenerated.
7181         * tests/unictype/test-pr_ideographic.c: Regenerated.
7182         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
7183         * tests/unictype/test-pr_lowercase.c: Regenerated.
7184         * tests/unictype/test-pr_math.c: Regenerated.
7185         * tests/unictype/test-pr_numeric.c: Regenerated.
7186         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
7187         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
7188         Regenerated.
7189         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
7190         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
7191         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
7192         * tests/unictype/test-pr_other_math.c: Regenerated.
7193         * tests/unictype/test-pr_punctuation.c: Regenerated.
7194         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
7195         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
7196         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
7197         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
7198         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
7199         * tests/unictype/test-pr_uppercase.c: Regenerated.
7200         * tests/unictype/test-pr_xid_continue.c: Regenerated.
7201         * tests/unictype/test-pr_xid_start.c: Regenerated.
7202         * tests/unictype/test-pr_zero_width.c: Regenerated.
7203
7204         Update to Unicode 5.1.0.
7205         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
7206         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
7207         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
7208         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
7209         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
7210         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
7211         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
7212         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
7213         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
7214         (nonspacing_table_ind): Update.
7215         * tests/uniwidth/test-uc_width2.sh: Update expected result.
7216
7217         Update to Unicode 5.1.0.
7218         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
7219         code transform.
7220         * lib/uniname/uniname.c (unicode_character_name,
7221         unicode_name_character): Add the range 0x1Fxxx to the code transform.
7222         * lib/uniname/uninames.h: Regenerated.
7223         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
7224
7225 2009-02-07  Bruno Haible  <bruno@clisp.org>
7226
7227         Merge gen-ctype and gen-lbrk into a single program.
7228         * lib/gen-uni-tables.c: New file, incorporating
7229         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
7230         Add directory prefixes to the names of the generated files.
7231         * lib/unictype/gen-ctype.c: Remove file.
7232         * lib/unilbrk/gen-lbrk.c: Remove file.
7233         * modules/gen-uni-tables: New file.
7234         * modules/unictype/gen-ctype: Remove file.
7235         * modules/unilbrk/gen-lbrk: Remove file.
7236
7237 2009-02-07  Bruno Haible  <bruno@clisp.org>
7238
7239         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
7240
7241         New module 'unistr/u32-strcoll'.
7242         * modules/unistr/u32-strcoll: New file.
7243         * lib/unistr/u32-strcoll.c: New file.
7244
7245         New module 'unistr/u16-strcoll'.
7246         * modules/unistr/u16-strcoll: New file.
7247         * lib/unistr/u16-strcoll.c: New file.
7248
7249         New module 'unistr/u8-strcoll'.
7250         * modules/unistr/u8-strcoll: New file.
7251         * lib/unistr/u8-strcoll.c: New file.
7252         * lib/unistr/u-strcoll.h: New file.
7253
7254 2009-02-07  Bruno Haible  <bruno@clisp.org>
7255
7256         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
7257         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
7258         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
7259         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
7260         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
7261         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
7262
7263 2009-02-07  Bruno Haible  <bruno@clisp.org>
7264
7265         Make 64-bit clean.
7266         * lib/unictype/gen-ctype.c (output_predicate, output_category,
7267         output_combclass, output_bidi_category, output_decimal_digit,
7268         output_digit, output_numeric, output_mirror, output_scripts,
7269         output_ident_category): Use proper width specifier in format strings.
7270
7271 2009-02-07  Bruno Haible  <bruno@clisp.org>
7272
7273         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
7274         failure behaviour.
7275
7276 2009-02-07  Jim Meyering  <meyering@redhat.com>
7277
7278         regex: avoid compilation failure with upcoming gcc-4.4
7279         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
7280         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
7281         "... error: integer overflow in preprocessor expression".
7282
7283 2009-02-05  Ben Pfaff  <blp@gnu.org>
7284
7285         Fix link errors on Windows when close module is used.
7286         * modules/close: Add $(LIB_CLOSE) to Link section.
7287         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
7288         $(LIB_CLOSE) on Windows.
7289
7290 2009-02-05  Jim Meyering  <meyering@redhat.com>
7291
7292         still avoid unused-parameter warnings, but do it cleanly
7293         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
7294         (get_fs_usage): Cast to void instead.
7295         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
7296         (dev_from_mount_options, read_file_system_list): Cast to void.
7297         Prompted by Bruno Haible.
7298
7299 2009-02-04  Jim Meyering  <meyering@redhat.com>
7300
7301         fsusage.c: correct copyright year
7302         * lib/fsusage.c: Reflect year in which the change is pushed into
7303
7304         avoid misc. warnings
7305         * lib/fsusage.c (UNUSED_PARAM): Define.
7306         (get_fs_usage): Mark parameter "disk" as unused.
7307         * lib/getugroups.c (getgrent): Use "void" in prototype.
7308         * lib/mountlist.c: Mark unused parameters.
7309         (read_file_system_list): Declare a local with "const".
7310         * lib/nanosleep.c (getnow): Declare static.
7311         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
7312
7313         dirfd: set errno upon failure
7314         * lib/dirfd.c: Include <errno.h>.
7315         Set errno to ENOTSUP when returning -1.
7316         * modules/dirfd (Depends-on): Add errno.
7317         Suggested by John Kodis <kodis@comcast.net>.
7318
7319 2009-02-01  Bruno Haible  <bruno@clisp.org>
7320
7321         Don't assume sizeof (long) >= sizeof (void *).
7322         * lib/memcmp.c: Include stdint.h.
7323         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
7324         srcp2 to 'const byte *'.
7325         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
7326         types to uintptr_t.
7327         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
7328         * modules/memcmp (Depends-on): Add stdint.
7329         Reported by Ozkan Sezer <sezeroz@gmail.com>.
7330
7331 2009-01-30  Eric Blake  <ebb9@byu.net>
7332
7333         fix more require-before-expand issues
7334         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
7335         expand, AC_PROG_AWK.
7336         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
7337
7338 2009-01-28  Eric Blake  <ebb9@byu.net>
7339
7340         version-etc: use consistent URL formatting
7341         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
7342         Improve formatting.  Use fputs for string without %.
7343
7344 2009-01-28  Jim Meyering  <meyering@redhat.com>
7345
7346         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
7347         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
7348         "underquoted definition of NAME" from autoconf-2.59.
7349
7350 2009-01-28  Bruno Haible  <bruno@clisp.org>
7351
7352         * doc/gnulib.texi: Add "Obsolete modules" to index.
7353
7354 2009-01-28  Jim Meyering  <meyering@redhat.com>
7355
7356         useless-if-before-free: recognize more variants
7357         * build-aux/useless-if-before-free: Also recognize e.g.,
7358         if (NULL != p) free (p);
7359
7360 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
7361
7362         test-getaddrinfo: skip (don't fail) this test when there's no network
7363         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
7364         on the presumption that it means you lack network access.
7365
7366 2009-01-26  Jim Meyering  <meyering@redhat.com>
7367
7368         fflush: avoid warnings on modern systems
7369         * lib/fflush.c (rpl_fflush): Move declarations of locals,
7370         pos and result, into scopes where they're used.
7371
7372 2009-01-26  Eric Blake  <ebb9@byu.net>
7373
7374         Silence warning reintroduced by recent extensions patch.
7375         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
7376         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
7377         autoconf.
7378
7379         Backport improved autoconf semantics of AC_DEFUN_ONCE.
7380         * m4/00gnulib.m4: New file.
7381         * gnulib-tool (func_get_filelist): Always use it.
7382         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
7383         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
7384
7385 2009-01-25  Bruno Haible  <bruno@clisp.org>
7386
7387         Make test-quotearg work on MacOS X and AIX.
7388         * tests/test-quotearg.sh: New file.
7389         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
7390         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
7391         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
7392         include <libintl.h>.
7393         (fake_locale): Remove variable.
7394         (gettext, dgettext, dcgettext): Remove functions.
7395         (main): Instead of setting a fake locale, set a real locale. Call
7396         textdomain and bindtextdomain.
7397         * modules/quotearg-tests (Files): Add the new files.
7398         (Depends-on): Add gettext, setenv, unsetenv.
7399         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
7400         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
7401         Augment TESTS_ENVIRONMENT.
7402
7403 2009-01-25  Bruno Haible  <bruno@clisp.org>
7404
7405         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
7406         fr_FR.ISO8859-1 locale on MacOS X.
7407         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
7408         ja_JP.eucJP locale on MacOS X.
7409         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
7410         zh_CN.GB18030 locale on MacOS X.
7411
7412 2009-01-25  Bruno Haible  <bruno@clisp.org>
7413
7414         Avoid link errors on MacOS X 10.3.
7415         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
7416         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
7417
7418 2009-01-25  Bruno Haible  <bruno@clisp.org>
7419
7420         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
7421         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
7422         * modules/pipe (Files): Remove m4/posix_spawn.m4.
7423         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
7424         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
7425         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
7426         posix_spawnattr_init, posix_spawnattr_setsigmask,
7427         posix_spawnattr_setflags, posix_spawnattr_destroy.
7428
7429         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
7430         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
7431         * modules/execute (Files): Remove m4/posix_spawn.m4.
7432         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
7433         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
7434         posix_spawnattr_init, posix_spawnattr_setsigmask,
7435         posix_spawnattr_setflags, posix_spawnattr_destroy.
7436
7437 2009-01-25  Bruno Haible  <bruno@clisp.org>
7438
7439         * lib/glthread/threadlib.c: Include <stdlib.h>.
7440
7441 2009-01-25  Bruno Haible  <bruno@clisp.org>
7442
7443         * lib/glthread/threadlib.c (dummy): New declaration.
7444
7445 2009-01-25  Bruno Haible  <bruno@clisp.org>
7446
7447         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
7448         multibyte characters also for the GB18030 encoding. Don't crash when
7449         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
7450
7451 2009-01-25  Bruno Haible  <bruno@clisp.org>
7452
7453         Avoid redefining 'struct random_data' on OSF/1 5.1.
7454         * lib/stdlib.in.h: Include <random.h> if it exists.
7455         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
7456         HAVE_RANDOM_H. Include <random.h> when testing whether
7457         'struct random_data' exists.
7458         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
7459
7460 2009-01-25  Bruno Haible  <bruno@clisp.org>
7461
7462         Don't install charset.alias on MacOS X >= 10.3.
7463         * lib/localcharset.c (DARWIN7): New macro.
7464         (get_charset_aliases): Hardcode the result for Darwin7.
7465         * modules/localcharset (install-exec-local): Don't install
7466         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
7467
7468 2009-01-25  Bruno Haible  <bruno@clisp.org>
7469
7470         Don't install charset.alias on mingw and Cygwin.
7471         * modules/localcharset (install-exec-local): Don't install
7472         charset.alias on mingw and Cygwin, if the file does not yet exist.
7473         The result for these platforms is hardcoded in localcharset.c.
7474
7475 2009-01-25  Bruno Haible  <bruno@clisp.org>
7476
7477         Make it possible again to use AC_GNU_SOURCE together with gnulib.
7478         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
7479         before requiring AC_USE_SYSTEM_EXTENSIONS.
7480
7481 2009-01-25  Jim Meyering  <meyering@redhat.com>
7482
7483         c-strtod: avoid warnings
7484         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
7485         "assignment discards qualifiers from pointer target type" warnings.
7486
7487 2009-01-24  Bruno Haible  <bruno@clisp.org>
7488
7489         Add support for non-UTF-8 locales on MacOS X.
7490         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
7491         canonical encodings. For Darwin 7 and newer, don't map traditional
7492         encodings to UTF-8.
7493         Reported by Vincent Lefevre <vincent@vinc17.org>
7494         at <http://savannah.gnu.org/bugs/?25235>.
7495
7496 2009-01-24  Bruno Haible  <bruno@clisp.org>
7497
7498         * doc/gnulib.texi (Obsolete modules): New section.
7499         Reported by Mike Frysinger <vapier@gentoo.org>.
7500
7501 2009-01-24  Bruno Haible  <bruno@clisp.org>
7502
7503         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
7504         (%.dvi): New rule.
7505
7506 2009-01-24  Bruno Haible  <bruno@clisp.org>
7507
7508         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
7509         Reported by Eric Blake.
7510
7511 2009-01-24  Bruno Haible  <bruno@clisp.org>
7512
7513         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
7514         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
7515         Reported by Gary V. Vaughan <gary@gnu.org>.
7516
7517 2009-01-24  Bruno Haible  <bruno@clisp.org>
7518
7519         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
7520
7521 2009-01-23  Bruno Haible  <bruno@clisp.org>
7522
7523         Make c-strtod, c-strtold usable in libraries.
7524         * lib/c-strtod.c: Include string.h instead of xalloc.h.
7525         (C_STRTOD): Call strdup instead of xstrdup.
7526         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
7527         * modules/c-strtold (Depends-on): Likewise.
7528         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
7529         * NEWS: Mention the change.
7530         Reported by Michael Gold <mgold@ncf.ca>.
7531
7532 2009-01-23  Jim Meyering  <meyering@redhat.com>
7533
7534         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
7535         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
7536         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
7537
7538 2009-01-23  Simon Josefsson  <simon@josefsson.org>
7539
7540         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
7541         GNU CoreUtils.
7542         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
7543         * modules/version-etc (Description): Update.
7544
7545 2009-01-22  Bruno Haible  <bruno@clisp.org>
7546
7547         Cache the C locale object.
7548         * lib/c-strtod.c (c_locale_cache): New variable.
7549         (c_locale): New function.
7550         (C_STRTOD): Use it, and don't call freelocale.
7551         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
7552         Suggested by Paolo Bonzini.
7553
7554 2009-01-21  Bruno Haible  <bruno@clisp.org>
7555
7556         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
7557         conditions other than overflow.
7558
7559 2009-01-21  Bruno Haible  <bruno@clisp.org>
7560
7561         * lib/c-strtod.c: Include errno.h.
7562         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
7563         value from STRTOD_L and STRTOD.
7564
7565 2009-01-21  Bruno Haible  <bruno@clisp.org>
7566         and Jim Meyering  <meyering@redhat.com>
7567
7568         nanosleep: skip configure test (fail it) for apple universal builds
7569         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
7570         universal builds, assume that nanosleep does not work.
7571         * modules/nanosleep (Depends-on): Add multiarch.
7572
7573         mktime: skip configure test (fail it) for apple universal builds
7574         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
7575         universal builds, assume that mktime does not work.
7576         * modules/mktime (Depends-on): Add multiarch.
7577
7578 2009-01-21  Eric Blake  <ebb9@byu.net>
7579
7580         multiarch: avoid expand-before-require warning
7581         * modules/multiarch (configure.ac): Require, rather than expand,
7582         gl_MULTIARCH.
7583         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
7584         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
7585         enforce that all clients require it.  Partial reversion of
7586         2008-12-29 patch.
7587
7588         error: avoid expand-before-require warning
7589         * modules/errno (configure.ac): Require, rather than expand,
7590         gl_HEADER_ERRNO_H.
7591         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
7592         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
7593         enforce that all clients require it.
7594
7595         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
7596         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
7597         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
7598         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
7599
7600 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
7601
7602         Revert:
7603         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
7604
7605         regex: do not depend on obsolete modules.
7606         * modules/regex: Remove memcmp and memmove.
7607
7608 2009-01-20  Bruno Haible  <bruno@clisp.org>
7609
7610         Make the 'link' module link on Windows NT 4.
7611         * lib/link.c (_WIN32_WINNT): Don't define.
7612         (CreateHardLinkFuncType): New type.
7613         (CreateHardLinkFunc, initialized): New variables.
7614         (initialize): New function.
7615         (link): Invoke CreateHardLink indirectly through the function pointer.
7616
7617 2009-01-20  Bruno Haible  <bruno@clisp.org>
7618
7619         Fix compilation failure on mingw.
7620         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
7621
7622 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
7623
7624         * doc/c-strtod.texi: Mention a couple of restrictions.
7625
7626 2009-01-20  Jim Meyering  <meyering@redhat.com>
7627
7628         gettimeofday: move more declarations out of functions
7629         * lib/gettimeofday.c: Move extern declarations of tzset and
7630         gmtime out of containing functions.  Prompted by Bruno Haible.
7631
7632 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
7633
7634         regex: do not depend on obsolete modules.
7635         * modules/regex: Remove memcmp and memmove.
7636
7637 2009-01-19  Bruno Haible  <bruno@clisp.org>
7638
7639         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
7640         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
7641         gl_BIGENDIAN, not AC_C_BIGENDIAN.
7642         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
7643         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
7644
7645 2009-01-19  Bruno Haible  <bruno@clisp.org>
7646
7647         * tests/test-link.c: Include <errno.h>.
7648         (main): Exit with code 77 when a hard link cannot be created due to
7649         the file system.
7650         * tests/test-link.sh: Skip test when a hard link cannot be created due
7651         to the file system.
7652         Suggested by Eric Blake.
7653
7654 2009-01-19  Martin Lambers  <marlam@marlam.de>
7655
7656         * modules/link-tests: New file.
7657         * tests/test-link.sh: New file.
7658         * tests/test-link.c: New file.
7659
7660 2009-01-19  Eric Blake  <ebb9@byu.net>
7661
7662         doc: mention another function added in cygwin 1.7.0
7663         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
7664         Another new function in cygwin 1.7.
7665
7666 2009-01-19  Bruno Haible  <bruno@clisp.org>
7667
7668         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
7669         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
7670         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
7671         gl_BIGENDIAN, not AC_C_BIGENDIAN.
7672         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
7673         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
7674         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
7675         * m4/md4.m4 (gl_MD4): Likewise.
7676         * m4/md5.m4 (gl_MD5): Likewise.
7677         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
7678         * m4/sha1.m4 (gl_SHA1): Likewise.
7679         * m4/sha256.m4 (gl_SHA256): Likewise.
7680         * m4/sha512.m4 (gl_SHA512): Likewise.
7681
7682 2009-01-19  Bruno Haible  <bruno@clisp.org>
7683
7684         * modules/uniname/uniname-tests (Depends-on): Add progname.
7685         * tests/uniname/test-uninames.c: Include progname.h.
7686         (main): Call set_program_name.
7687
7688         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
7689         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
7690         (main): Call set_program_name.
7691
7692         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
7693         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
7694         (main): Call set_program_name.
7695
7696         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
7697         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
7698         (main): Call set_program_name.
7699
7700         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
7701         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
7702         (main): Call set_program_name.
7703
7704         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
7705         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
7706         (main): Call set_program_name.
7707
7708         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
7709         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
7710         (main): Call set_program_name.
7711
7712         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
7713         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
7714         (main): Call set_program_name.
7715
7716         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
7717         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
7718         (main): Call set_program_name.
7719
7720 2009-01-19  Eric Blake  <ebb9@byu.net>
7721
7722         test-unistd: test previous patch
7723         * tests/test-unistd.c: Test *_FILENO macros.
7724
7725         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
7726         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
7727         Guarantee a definition.
7728         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
7729         * modules/unistd-safer (Depends-on): Add dependency on unistd.
7730         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
7731         * lib/dup-safer.c (STDERR_FILENO): Likewise.
7732         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
7733         Likewise.
7734         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
7735         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
7736         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
7737         Likewise.
7738         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
7739         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
7740         (STDERR_FILENO): Likewise.
7741         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
7742         (STDERR_FILENO): Likewise.
7743         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
7744         (STDERR_FILENO): Likewise.
7745         Reported by Elbert Pol.
7746
7747 2009-01-19  Eric Blake  <ebb9@byu.net>
7748
7749         doc: mention more functions added in cygwin 1.7.0
7750         * doc/posix-functions/abort.texi (abort): Update wording related
7751         to cygwin.
7752         * doc/posix-functions/daylight.texi (daylight): Likewise.
7753         * doc/posix-functions/optarg.texi (optarg): Likewise.
7754         * doc/posix-functions/optarg.texi (opterr): Likewise.
7755         * doc/posix-functions/optarg.texi (optind): Likewise.
7756         * doc/posix-functions/optarg.texi (optopt): Likewise.
7757         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
7758         worked in 1.5.x, and was withdrawn in 1.7.
7759         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
7760         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
7761         cygwin versions.
7762         * doc/posix-functions/perror.texi (perror): Likewise.
7763         * doc/posix-functions/printf.texi (printf): Likewise.
7764         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
7765         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
7766         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
7767         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
7768         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
7769         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
7770         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
7771         Likewise.
7772         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
7773         Likewise.
7774         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
7775         this function.
7776         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
7777         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
7778         Likewise.
7779         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
7780         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
7781         * doc/posix-functions/confstr.texi (confstr): Likewise.
7782         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
7783         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
7784         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
7785         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
7786         * doc/posix-functions/fputws.texi (fputws): Likewise.
7787         * doc/posix-functions/fwide.texi (fwide): Likewise.
7788         * doc/posix-functions/getwc.texi (getwc): Likewise.
7789         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
7790         * doc/posix-functions/putwc.texi (putwc): Likewise.
7791         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
7792         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
7793         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
7794         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
7795         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
7796         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
7797         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
7798         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
7799         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
7800         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
7801         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
7802
7803 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
7804
7805         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
7806         * lib/ioctl.c: Include <sys/ioctl.h>.
7807
7808 2009-01-19  Simon Josefsson  <simon@josefsson.org>
7809
7810         * modules/getdate-tests (Depends-on): Add progname.
7811         * tests/test-getdate.c: Use progname module, to avoid link errors
7812         on non-glibc systems.
7813
7814 2009-01-18  Simon Josefsson  <simon@josefsson.org>
7815
7816         * modules/filenamecat-tests (Depends-on): Add progname.
7817         * modules/fstrcmp-tests (Depends-on): Likewise.
7818
7819         * tests/test-filenamecat.c: Use progname module, to avoid link
7820         errors on non-glibc systems.
7821         * tests/test-fstrcmp.c: Likewise.
7822
7823 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
7824
7825         gettimeofday: avoid warning: nested extern declaration of 'localtime'
7826         * lib/gettimeofday.c: Move extern declaration out of function.
7827
7828 2009-01-18  Bruno Haible  <bruno@clisp.org>
7829
7830         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
7831         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
7832         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
7833
7834 2009-01-18  Bruno Haible  <bruno@clisp.org>
7835
7836         * lib/strftime.c (MEMPCPY): Remove unused macro.
7837         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
7838
7839 2009-01-18  Martin Lambers  <marlam@marlam.de>
7840
7841         New module 'link'.
7842         * lib/unistd.in.h (link): New declaration.
7843         * lib/link.c: New file.
7844         * m4/link.m4: New file.
7845         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
7846         HAVE_LINK.
7847         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
7848         * modules/link: New file.
7849         * doc/posix-functions/link.texi: Mention the new module.
7850
7851 2009-01-18  Bruno Haible  <bruno@clisp.org>
7852
7853         * tests/test-avltree_list.c (main): Call set_program_name.
7854         * tests/test-avltree_oset.c (main): Likewise.
7855         * tests/test-obstack-printf.c: Include progname.h.
7856         (main): Call set_program_name.
7857         * tests/test-quotearg.c: Include progname.h.
7858         (main): Call set_program_name.
7859         * tests/test-xmemdup0.c: Include progname.h.
7860         (main): Call set_program_name.
7861
7862 2009-01-18  Bruno Haible  <bruno@clisp.org>
7863
7864         New module 'alphasort'.
7865         * lib/dirent.in.h (alphasort): New declaration.
7866         * lib/alphasort.c: New file, from glibc with modifications.
7867         * m4/alphasort.m4: New file.
7868         * modules/alphasort: New file.
7869         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
7870         HAVE_ALPHASORT.
7871         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
7872         HAVE_ALPHASORT.
7873         * doc/posix-functions/alphasort.texi: Mention the new module and the
7874         portability problems.
7875
7876 2009-01-18  Bruno Haible  <bruno@clisp.org>
7877
7878         New module 'scandir'.
7879         * lib/dirent.in.h (scandir): New declaration.
7880         * lib/scandir.c: New file, from glibc with modifications.
7881         * m4/scandir.m4: New file.
7882         * modules/scandir: New file.
7883         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
7884         HAVE_SCANDIR.
7885         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
7886         HAVE_SCANDIR.
7887         * doc/posix-functions/scandir.texi: Mention the new module and the
7888         portability problems.
7889
7890 2009-01-17  Bruno Haible  <bruno@clisp.org>
7891
7892         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
7893         Update documentation.
7894         (func_remove_suffix): Escape all dots in the suffix. Update
7895         documentation.
7896         (func_filter_filelist): Update documentation.
7897         Reported by Ralf Wildenhues.
7898
7899 2009-01-17  Bruno Haible  <bruno@clisp.org>
7900
7901         * modules/dprintf-posix-tests: New file.
7902         * tests/test-dprintf-posix.sh: New file.
7903         * tests/test-dprintf-posix.c: New file.
7904
7905         New modules 'dprintf', 'dprintf-posix'.
7906         * lib/stdio.in.h (dprintf): New declaration.
7907         * lib/dprintf.c: New file.
7908         * m4/dprintf.m4: New file.
7909         * m4/dprintf-posix.m4: New file.
7910         * modules/dprintf: New file.
7911         * modules/dprintf-posix: New file.
7912         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
7913         HAVE_DPRINTF, REPLACE_DPRINTF.
7914         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
7915         HAVE_DPRINTF, REPLACE_DPRINTF.
7916         * doc/posix-functions/dprintf.texi: Mention the new modules.
7917
7918 2009-01-17  Bruno Haible  <bruno@clisp.org>
7919
7920         * modules/vdprintf-posix-tests: New file.
7921         * tests/test-vdprintf-posix.sh: New file.
7922         * tests/test-vdprintf-posix.c: New file.
7923
7924         New modules 'vdprintf', 'vdprintf-posix'.
7925         * lib/stdio.in.h (vdprintf): New declaration.
7926         * lib/vdprintf.c: New file.
7927         * m4/vdprintf.m4: New file.
7928         * m4/vdprintf-posix.m4: New file.
7929         * modules/vdprintf: New file.
7930         * modules/vdprintf-posix: New file.
7931         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
7932         HAVE_VDPRINTF, REPLACE_VDPRINTF.
7933         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
7934         HAVE_VDPRINTF, REPLACE_VDPRINTF.
7935         * doc/posix-functions/vdprintf.texi: Mention the new modules.
7936
7937 2009-01-17  Bruno Haible  <bruno@clisp.org>
7938
7939         Fix replacement of fopen on mingw.
7940         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
7941         mingw.
7942
7943 2009-01-17  Bruno Haible  <bruno@clisp.org>
7944
7945         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
7946         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
7947
7948 2009-01-17  Bruno Haible  <bruno@clisp.org>
7949
7950         Avoid test-fflush2.sh failure on mingw.
7951         * tests/test-fflush2.c: Include binary-io.h.
7952         (main): Put standard input into binary mode.
7953         * modules/fflush-tests (Depends-on): Add binary-io.
7954
7955 2009-01-17  Bruno Haible  <bruno@clisp.org>
7956
7957         * lib/wchar.in.h: In another particular situation, include only the
7958         system's <wchar.h> file.
7959         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
7960         Reported by Albert Chin-A-Young <china@thewrittenword.com>
7961         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
7962
7963 2009-01-17  Bruno Haible  <bruno@clisp.org>
7964
7965         Support for stripping executables in --enable-relocatable.
7966         * build-aux/install-reloc: Expect one more argument, or an environment
7967         variable RELOC_STRIP_PROG. If set, strip the destination program and
7968         its wrapper.
7969         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
7970         RELOC_STRIP_PROG.
7971         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
7972         to set RELOCATABLE_STRIP.
7973         * NEWS: Mention the new Makefile requirement.
7974
7975 2009-01-17  Bruno Haible  <bruno@clisp.org>
7976
7977         * build-aux/install-reloc: Remove debugging information left over by
7978         C compiler on MacOS X.
7979
7980 2009-01-17  Bruno Haible  <bruno@clisp.org>
7981
7982         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
7983         * lib/progreloc.c (find_executable): Fix type of pointer passed to
7984         _NSGetExecutablePath.
7985
7986 2009-01-16  Jim Meyering  <meyering@redhat.com>
7987
7988         strerror: avoid warnings about discarding "const"
7989         * lib/strerror.c (rpl_strerror): Instead of returning a const
7990         string from each and every "case", use a variable, and add a single
7991         cast after the switch.
7992
7993 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
7994
7995         * lib/arpa_inet.in.h: Add extern "C" block for C++.
7996
7997 2009-01-16  Bruno Haible  <bruno@clisp.org>
7998
7999         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
8000         array initializer syntax that also works in C++ mode.
8001         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
8002
8003 2009-01-16  Jim Meyering  <meyering@redhat.com>
8004
8005         poll: suppress a warning
8006         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
8007         to ignore "...unsigned expression < 0 is always false" warnings.
8008
8009 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
8010
8011         poll: remove declarations of unused variables
8012         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
8013         sockbuf and optlen.
8014
8015 2009-01-15  Bruno Haible  <bruno@clisp.org>
8016
8017         Make fflush-after-ungetc POSIX compliant on BSD systems.
8018         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
8019         (clear_ungetc_buffer): Implement also for other systems.
8020         (rpl_fflush): On glibc systems, invoke
8021         clear_ungetc_buffer_preserving_position. Otherwise, invoke
8022         clear_ungetc_buffer after fetching the stream's position, not before.
8023
8024 2009-01-15  Bruno Haible  <bruno@clisp.org>
8025
8026         Make fflush-after-ungetc POSIX compliant on glibc systems.
8027         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
8028         after ungetc.
8029         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
8030         (rpl_fflush): On glibc systems, simply call the system's fflush
8031         function after clearing the ungetc buffer.
8032         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
8033         Instead, lseek only to the end of file, then use the system's fseeko
8034         for the rest. On glibc systems, reset the EOF indicator bit.
8035
8036 2009-01-15  Jim Meyering  <meyering@redhat.com>
8037
8038         openmp.m4: revert quote-adding change, for portability to older autoconf
8039         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
8040         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
8041         Simon Josefsson noticed the problem when using autoconf-2.61.
8042
8043 2009-01-15  Bruno Haible  <bruno@clisp.org>
8044
8045         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
8046         * tests/test-fflush2.c (ASSERT): Always fail.
8047         (main): Add two tests for fflush() after ungetc(), taking into account
8048         the Austin Group's clarification.
8049         Suggested by Eric Blake.
8050
8051 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
8052
8053         mktime.m4: remove K&R-style function prototypes
8054         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
8055         for the Sun C++ compiler.
8056
8057 2009-01-14  Bruno Haible  <bruno@clisp.org>
8058
8059         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
8060         while including <wchar.h>.
8061         * lib/wchar.in.h: In two particular situations on HP-UX, include only
8062         the system's <wchar.h> file.
8063         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
8064
8065 2009-01-14  Bruno Haible  <bruno@clisp.org>
8066
8067         * m4/csharp.m4: Don't mention gettext on the serial number line.
8068         * m4/csharpexec.m4: Likewise.
8069         * m4/eaccess.m4: Likewise.
8070         * m4/javaexec.m4: Likewise.
8071         * m4/sig_atomic_t.m4: Likewise.
8072         * m4/tmpdir.m4: Likewise.
8073         * m4/intldir.m4: Bump gettext version.
8074         * m4/lib-ld.m4: Likewise.
8075
8076 2009-01-14  Bruno Haible  <bruno@clisp.org>
8077
8078         * lib/progname.c (set_program_name): Add more comments.
8079         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
8080
8081 2009-01-14  Simon Josefsson  <simon@josefsson.org>
8082
8083         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
8084         were sys/stat.h does not define it.
8085
8086 2009-01-14  Jim Meyering  <meyering@redhat.com>
8087
8088         many *.m4 files: improve m4 quoting
8089         99% of this change was performed by running the following commands:
8090         git ls-files | grep '\.m4$' | xargs perl -pi \
8091           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
8092           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
8093           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
8094           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
8095         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
8096         The remainder were to add Copyright dates, increment serial numbers,
8097         undo some changes in comments, exclude m4/intl.m4, and add quotes
8098         around the "1" in ",1" where the unusual spacing prohibited the
8099         above regexps from doing the job.  For more details, see
8100         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
8101         * m4/acl.m4: Modified.
8102         * m4/afs.m4: Likewise.
8103         * m4/alloca.m4: Likewise.
8104         * m4/argp.m4: Likewise.
8105         * m4/argz.m4: Likewise.
8106         * m4/atexit.m4: Likewise.
8107         * m4/bison-i18n.m4: Likewise.
8108         * m4/bison.m4: Likewise.
8109         * m4/byteswap.m4: Likewise.
8110         * m4/c-stack.m4: Likewise.
8111         * m4/c-strtod.m4: Likewise.
8112         * m4/calloc.m4: Likewise.
8113         * m4/canonicalize-lgpl.m4: Likewise.
8114         * m4/chown.m4: Likewise.
8115         * m4/clock_time.m4: Likewise.
8116         * m4/codeset.m4: Likewise.
8117         * m4/copy-file.m4: Likewise.
8118         * m4/csharp.m4: Likewise.
8119         * m4/csharpcomp.m4: Likewise.
8120         * m4/csharpexec.m4: Likewise.
8121         * m4/d-ino.m4: Likewise.
8122         * m4/d-type.m4: Likewise.
8123         * m4/dirfd.m4: Likewise.
8124         * m4/double-slash-root.m4: Likewise.
8125         * m4/eaccess.m4: Likewise.
8126         * m4/eealloc.m4: Likewise.
8127         * m4/environ.m4: Likewise.
8128         * m4/errno_h.m4: Likewise.
8129         * m4/euidaccess.m4: Likewise.
8130         * m4/execute.m4: Likewise.
8131         * m4/fatal-signal.m4: Likewise.
8132         * m4/fchdir.m4: Likewise.
8133         * m4/fcntl_h.m4: Likewise.
8134         * m4/fileblocks.m4: Likewise.
8135         * m4/filenamecat.m4: Likewise.
8136         * m4/findprog.m4: Likewise.
8137         * m4/flexmember.m4: Likewise.
8138         * m4/fnmatch.m4: Likewise.
8139         * m4/fopen.m4: Likewise.
8140         * m4/fpending.m4: Likewise.
8141         * m4/fprintf-posix.m4: Likewise.
8142         * m4/free.m4: Likewise.
8143         * m4/frexp.m4: Likewise.
8144         * m4/frexpl.m4: Likewise.
8145         * m4/fsusage.m4: Likewise.
8146         * m4/ftruncate.m4: Likewise.
8147         * m4/gc-camellia.m4: Likewise.
8148         * m4/gc-random.m4: Likewise.
8149         * m4/gc.m4: Likewise.
8150         * m4/getaddrinfo.m4: Likewise.
8151         * m4/getcwd-abort-bug.m4: Likewise.
8152         * m4/getcwd-path-max.m4: Likewise.
8153         * m4/getdate.m4: Likewise.
8154         * m4/getdomainname.m4: Likewise.
8155         * m4/getgroups.m4: Likewise.
8156         * m4/gethostname.m4: Likewise.
8157         * m4/gethrxtime.m4: Likewise.
8158         * m4/getline.m4: Likewise.
8159         * m4/getloadavg.m4: Likewise.
8160         * m4/getndelim2.m4: Likewise.
8161         * m4/getpass.m4: Likewise.
8162         * m4/gettext.m4: Likewise.
8163         * m4/gettime.m4: Likewise.
8164         * m4/gettimeofday.m4: Likewise.
8165         * m4/gnulib-common.m4: Likewise.
8166         * m4/group-member.m4: Likewise.
8167         * m4/host-os.m4: Likewise.
8168         * m4/iconv.m4: Likewise.
8169         * m4/iconv_open.m4: Likewise.
8170         * m4/inet_ntop.m4: Likewise.
8171         * m4/inet_pton.m4: Likewise.
8172         * m4/inline.m4: Likewise.
8173         * m4/intldir.m4: Likewise.
8174         * m4/intlmacosx.m4: Likewise.
8175         * m4/intmax.m4: Likewise.
8176         * m4/intmax_t.m4: Likewise.
8177         * m4/inttypes.m4: Likewise.
8178         * m4/inttypes_h.m4: Likewise.
8179         * m4/inttypes-pri.m4: Likewise.
8180         * m4/isapipe.m4: Likewise.
8181         * m4/isnand.m4: Likewise.
8182         * m4/isnanf.m4: Likewise.
8183         * m4/isnanl.m4: Likewise.
8184         * m4/javacomp.m4: Likewise.
8185         * m4/javaexec.m4: Likewise.
8186         * m4/jm-winsz1.m4: Likewise.
8187         * m4/jm-winsz2.m4: Likewise.
8188         * m4/lchown.m4: Likewise.
8189         * m4/lcmessage.m4: Likewise.
8190         * m4/ldexpl.m4: Likewise.
8191         * m4/lib-ld.m4: Likewise.
8192         * m4/lib-link.m4: Likewise.
8193         * m4/libsigsegv.m4: Likewise.
8194         * m4/link-follow.m4: Likewise.
8195         * m4/localcharset.m4: Likewise.
8196         * m4/locale-fr.m4: Likewise.
8197         * m4/locale-ja.m4: Likewise.
8198         * m4/locale-tr.m4: Likewise.
8199         * m4/locale-zh.m4: Likewise.
8200         * m4/lock.m4: Likewise.
8201         * m4/longlong.m4: Likewise.
8202         * m4/ls-mntd-fs.m4: Likewise.
8203         * m4/lstat.m4: Likewise.
8204         * m4/malloc.m4: Likewise.
8205         * m4/mathl.m4: Likewise.
8206         * m4/mbrtowc.m4: Likewise.
8207         * m4/mbstate_t.m4: Likewise.
8208         * m4/mbswidth.m4: Likewise.
8209         * m4/memchr.m4: Likewise.
8210         * m4/memcmp.m4: Likewise.
8211         * m4/memcpy.m4: Likewise.
8212         * m4/memmem.m4: Likewise.
8213         * m4/memmove.m4: Likewise.
8214         * m4/mempcpy.m4: Likewise.
8215         * m4/memrchr.m4: Likewise.
8216         * m4/memset.m4: Likewise.
8217         * m4/minmax.m4: Likewise.
8218         * m4/mkdir-slash.m4: Likewise.
8219         * m4/mkdtemp.m4: Likewise.
8220         * m4/mktime.m4: Likewise.
8221         * m4/mmap-anon.m4: Likewise.
8222         * m4/mountlist.m4: Likewise.
8223         * m4/nanosleep.m4: Likewise.
8224         * m4/nls.m4: Likewise.
8225         * m4/nocrash.m4: Likewise.
8226         * m4/open.m4: Likewise.
8227         * m4/openat.m4: Likewise.
8228         * m4/openmp.m4: Likewise.
8229         * m4/pathmax.m4: Likewise.
8230         * m4/perl.m4: Likewise.
8231         * m4/physmem.m4: Likewise.
8232         * m4/pipe.m4: Likewise.
8233         * m4/po.m4: Likewise.
8234         * m4/poll.m4: Likewise.
8235         * m4/posixtm.m4: Likewise.
8236         * m4/posixver.m4: Likewise.
8237         * m4/printf-frexp.m4: Likewise.
8238         * m4/printf-frexpl.m4: Likewise.
8239         * m4/printf-posix.m4: Likewise.
8240         * m4/printf-posix-rpl.m4: Likewise.
8241         * m4/printf.m4: Likewise.
8242         * m4/progtest.m4: Likewise.
8243         * m4/putenv.m4: Likewise.
8244         * m4/readline.m4: Likewise.
8245         * m4/readlink.m4: Likewise.
8246         * m4/readutmp.m4: Likewise.
8247         * m4/realloc.m4: Likewise.
8248         * m4/regex.m4: Likewise.
8249         * m4/relocatable.m4: Likewise.
8250         * m4/relocatable-lib.m4: Likewise.
8251         * m4/rename-dest-slash.m4: Likewise.
8252         * m4/rename.m4: Likewise.
8253         * m4/rmdir-errno.m4: Likewise.
8254         * m4/rmdir.m4: Likewise.
8255         * m4/roundf.m4: Likewise.
8256         * m4/roundl.m4: Likewise.
8257         * m4/rpmatch.m4: Likewise.
8258         * m4/save-cwd.m4: Likewise.
8259         * m4/selinux-selinux-h.m4: Likewise.
8260         * m4/setenv.m4: Likewise.
8261         * m4/settime.m4: Likewise.
8262         * m4/sig2str.m4: Likewise.
8263         * m4/sig_atomic_t.m4: Likewise.
8264         * m4/signalblocking.m4: Likewise.
8265         * m4/signbit.m4: Likewise.
8266         * m4/sigpipe.m4: Likewise.
8267         * m4/sockets.m4: Likewise.
8268         * m4/sockpfaf.m4: Likewise.
8269         * m4/st_dm_mode.m4: Likewise.
8270         * m4/stat-time.m4: Likewise.
8271         * m4/stdbool.m4: Likewise.
8272         * m4/stdint.m4: Likewise.
8273         * m4/stdint_h.m4: Likewise.
8274         * m4/stpcpy.m4: Likewise.
8275         * m4/stpncpy.m4: Likewise.
8276         * m4/strcase.m4: Likewise.
8277         * m4/strchrnul.m4: Likewise.
8278         * m4/strcspn.m4: Likewise.
8279         * m4/strdup.m4: Likewise.
8280         * m4/strftime.m4: Likewise.
8281         * m4/strndup.m4: Likewise.
8282         * m4/strnlen.m4: Likewise.
8283         * m4/strpbrk.m4: Likewise.
8284         * m4/strptime.m4: Likewise.
8285         * m4/strsep.m4: Likewise.
8286         * m4/strtod.m4: Likewise.
8287         * m4/strtoimax.m4: Likewise.
8288         * m4/strtok_r.m4: Likewise.
8289         * m4/strtol.m4: Likewise.
8290         * m4/strtoll.m4: Likewise.
8291         * m4/strtoul.m4: Likewise.
8292         * m4/strtoull.m4: Likewise.
8293         * m4/strtoumax.m4: Likewise.
8294         * m4/strverscmp.m4: Likewise.
8295         * m4/threadlib.m4: Likewise.
8296         * m4/timegm.m4: Likewise.
8297         * m4/tm_gmtoff.m4: Likewise.
8298         * m4/tmpdir.m4: Likewise.
8299         * m4/tmpfile.m4: Likewise.
8300         * m4/tzset.m4: Likewise.
8301         * m4/uintmax_t.m4: Likewise.
8302         * m4/unlinkdir.m4: Likewise.
8303         * m4/unlocked-io.m4: Likewise.
8304         * m4/uptime.m4: Likewise.
8305         * m4/userspec.m4: Likewise.
8306         * m4/utimbuf.m4: Likewise.
8307         * m4/utime.m4: Likewise.
8308         * m4/utimes-null.m4: Likewise.
8309         * m4/utimes.m4: Likewise.
8310         * m4/vararrays.m4: Likewise.
8311         * m4/vasnprintf.m4: Likewise.
8312         * m4/vfprintf-posix.m4: Likewise.
8313         * m4/vprintf-posix.m4: Likewise.
8314         * m4/wait-process.m4: Likewise.
8315         * m4/wchar_t.m4: Likewise.
8316         * m4/wint_t.m4: Likewise.
8317         * m4/write-any-file.m4: Likewise.
8318         * m4/yield.m4: Likewise.
8319
8320 2009-01-13  Bruno Haible  <bruno@clisp.org>
8321
8322         Avoid test-copy-file.sh failures when ACL support insufficient.
8323         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
8324         TESTS_ENVIRONMENT.
8325         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
8326         Reported by Jim Meyering.
8327
8328 2009-01-13  Bruno Haible  <bruno@clisp.org>
8329
8330         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
8331         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
8332         * modules/unistdio/u8-printf-parse (Files): Likewise.
8333         * modules/unistdio/u32-printf-parse (Files): Likewise.
8334         * modules/unistdio/ulc-printf-parse (Files): Likewise.
8335
8336 2009-01-13  Simon Josefsson  <simon@josefsson.org>
8337
8338         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
8339         and m4/inttypes_h.m4 too.
8340
8341 2009-01-12  Eric Blake  <ebb9@byu.net>
8342
8343         tests: IRIX 6.2 cc can't compile -0.0 into .data
8344         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
8345         rather than at compile-time.
8346         * tests/test-floorl.c (minus_zero): Likewise.
8347         * tests/test-frexpl.c (minus_zero): Likewise.
8348         * tests/test-isnan.c (minus_zerol): Likewise.
8349         * tests/test-isnanl.h (minus_zero): Likewise.
8350         * tests/test-ldexpl.c (minus_zero): Likewise.
8351         * tests/test-roundl.c (minus_zero): Likewise.
8352         * tests/test-signbit.c (minus_zerol): Likewise.
8353         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
8354         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
8355         * tests/test-truncl.c (minus_zero): Likewise.
8356         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
8357         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
8358         Reported by Tom G. Christensen and Nelson H. F. Beebe.
8359
8360 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
8361
8362         regex: fix glibc bug 9697
8363         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
8364         handling.
8365
8366 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
8367
8368         regex: fix glibc bug 697
8369         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
8370         being NULL also if there are no backreferences.
8371
8372 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
8373
8374         regex: merge glibc changes
8375         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
8376         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
8377         re_string_skip_chars, re_string_reconstruct): Likewise.
8378         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
8379
8380 2009-01-07  Jim Meyering  <meyering@redhat.com>
8381
8382         poll: filter through cppi
8383         * lib/poll.c: Indent cpp directives to reflect nesting.
8384
8385 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
8386
8387         poll: don't return uninitialized
8388         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
8389
8390 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
8391
8392         avoid compile failure on AIX 6.1
8393         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
8394         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
8395
8396 2009-01-04  Jim Meyering  <meyering@redhat.com>
8397
8398         remove duplicate inclusion of <stdio.h>
8399         * tests/test-fprintf-posix.c: Likewise.
8400         * tests/test-printf-posix.c: Likewise.
8401         * tests/test-snprintf-posix.c: Likewise.
8402         * tests/test-sprintf-posix.c: Likewise.
8403         * tests/test-vasprintf-posix.c: Likewise.
8404         * tests/test-vfprintf-posix.c: Likewise.
8405         * tests/test-vprintf-posix.c: Likewise.
8406         * tests/test-vsnprintf-posix.c: Likewise.
8407         * tests/test-vsprintf-posix.c: Likewise.
8408
8409 2009-01-03  Jim Meyering  <meyering@redhat.com>
8410
8411         gnulib-tool: fix sed-based filtering
8412         * gnulib-tool (func_filter_filelist): Remove extra backslash
8413         in sed_fff_filter definition.
8414
8415 2009-01-02  Jim Meyering  <meyering@redhat.com>
8416
8417         strftime: avoid compilation failure on Solaris 2.6
8418         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
8419         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
8420         Don't #define mbrlen or mbsinit, since now they're guaranteed to
8421         be available.  Reported by Tom G. Christensen.  Details in
8422         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
8423
8424 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8425             Bruno Haible  <bruno@clisp.org>
8426
8427         Speed up gnulib-tool by doing more string processing through shell
8428         built-ins.
8429         * gnulib-tool (fast_func_append): New variable.
8430         (func_remove_prefix, func_remove_suffix): New functions.
8431         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
8432         (func_filter_filelist): New function.
8433         (func_get_dependencies): Use func_remove_suffix instead of sed.
8434         (func_get_automake_snippet): Use func_filter_filelist instead of a
8435         subshell and sed invocation.
8436
8437 2009-01-01  Bruno Haible  <bruno@clisp.org>
8438
8439         Fix a security bug.
8440         * gnulib-tool (func_import, import, update): Don't allow the characters
8441         '"', '$', '`', '\' in macro arguments that become part of commands that
8442         are evaluated.
8443
8444 2009-01-01  Bruno Haible  <bruno@clisp.org>
8445
8446         * gnulib-tool (func_reset_sigpipe): Add more comments.
8447
8448 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8449
8450         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
8451         func_emit_tests_Makefile_am, func_import): Abort loops early if we
8452         already know the answer.
8453
8454 2009-01-01  Jim Meyering  <meyering@redhat.com>
8455
8456         * lib/version-etc.c (version_etc_va): Update copyright year.
8457
8458 2008-12-30  Bruno Haible  <bruno@clisp.org>
8459
8460         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
8461         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
8462         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
8463
8464 2008-12-29  Eric Blake  <ebb9@byu.net>
8465
8466         multiarch: avoid autoconf AC_REQUIRE bug
8467         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
8468         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
8469         2.63 and older.
8470         Reported by Bruno Haible, and analyzed in
8471         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
8472
8473 2008-12-29  Bruno Haible  <bruno@clisp.org>
8474
8475         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
8476         files in subdirectories correctly.
8477         Reported by Ralf Wildenhues.
8478
8479 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8480
8481         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
8482         rather than 'join FILE -', for Solaris join.
8483
8484 2008-12-29  Bruno Haible  <bruno@clisp.org>
8485
8486         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
8487         quoting.
8488         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
8489         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
8490         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
8491         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
8492         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
8493         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
8494         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
8495         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
8496         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
8497         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
8498         * m4/nls.m4 (AM_NLS): Likewise.
8499         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
8500         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
8501         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
8502         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
8503         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
8504         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
8505         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
8506         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
8507         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
8508         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
8509         * m4/xsize.m4 (gl_XSIZE): Likewise.
8510         Suggested by Jim Meyering.
8511
8512 2008-11-17  Bruce Korb  <bkorb@gnu.org>
8513
8514         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
8515         * lib/parse-duration.c: use a switch instead of cascading if's.
8516
8517 2008-12-29  Eric Blake  <ebb9@byu.net>
8518
8519         wchar.h: supply WEOF on Irix 5.3
8520         * lib/wchar.in.h (wint_t): Also supply WEOF.
8521         * lib/wctype.in.h (wint_t): Likewise.
8522         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
8523         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
8524         Reported by Tom G. Christensen.
8525
8526 2008-12-26  Bruno Haible  <bruno@clisp.org>
8527
8528         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
8529         i486, i586, i686.
8530
8531 2008-12-26  Bruno Haible  <bruno@clisp.org>
8532
8533         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
8534
8535 2008-12-26  Bruno Haible  <bruno@clisp.org>
8536
8537         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
8538         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
8539         not __STDC_CONSTANT_MACROS.
8540         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
8541
8542 2008-12-25  Bruno Haible  <bruno@clisp.org>
8543
8544         Add support for universal builds to vasnprintf.
8545         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
8546         universal builds, guess no.
8547         * modules/vasnprintf-posix (Depends-on): Add multiarch.
8548         * modules/vasprintf-posix (Depends-on): Likewise.
8549         * modules/fprintf-posix (Depends-on): Likewise.
8550         * modules/vfprintf-posix (Depends-on): Likewise.
8551         * modules/snprintf-posix (Depends-on): Likewise.
8552         * modules/vsnprintf-posix (Depends-on): Likewise.
8553         * modules/sprintf-posix (Depends-on): Likewise.
8554         * modules/vsprintf-posix (Depends-on): Likewise.
8555         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
8556         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
8557         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
8558         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
8559         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
8560         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
8561         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
8562
8563         Add support for universal builds to <inttypes.h>.
8564         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
8565         _SCNu64_PREFIX): In Apple
8566         universal builds, define directly, using _LP64.
8567         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
8568         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
8569         * modules/inttypes (Depends-on): Add multiarch.
8570         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
8571
8572         Add support for universal builds to <stdint.h>.
8573         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
8574         universal builds, define directly, using _LP64.
8575         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
8576         Apple universal builds, don't test for the size and suffix of ptrdiff_t
8577         and size_t.
8578         * modules/stdint (Depends-on): Add multiarch.
8579         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
8580
8581         New module 'multiarch'.
8582         * modules/multiarch: New file.
8583         * m4/multiarch.m4: New file.
8584
8585 2008-12-25  Bruno Haible  <bruno@clisp.org>
8586
8587         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
8588
8589 2008-12-25  Bruno Haible  <bruno@clisp.org>
8590
8591         * modules/btowc (License): Relicense under LGPLv2+.
8592         * modules/mbsinit (License): Likewise.
8593         * modules/mbrtowc (License): Likewise.
8594         * modules/wcrtomb (License): Likewise.
8595         * modules/streq (License): Likewise.
8596         Reported by David Lutterkort <lutter@redhat.com>.
8597
8598 2008-12-23  Bruno Haible  <bruno@clisp.org>
8599
8600         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
8601
8602 2008-12-23  Bruno Haible  <bruno@clisp.org>
8603
8604         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
8605         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
8606         GETADDRINFO_LIB, not in LIBS.
8607         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
8608         * modules/canon-host (Link): Likewise.
8609         * NEWS: Mention the change.
8610         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
8611         GETADDRINFO_LIB.
8612
8613 2008-12-22  Bruno Haible  <bruno@clisp.org>
8614
8615         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
8616         * doc/posix-functions/iswalpha_l.texi: Likewise.
8617         * doc/posix-functions/iswblank_l.texi: Likewise.
8618         * doc/posix-functions/iswcntrl_l.texi: Likewise.
8619         * doc/posix-functions/iswctype_l.texi: Likewise.
8620         * doc/posix-functions/iswdigit_l.texi: Likewise.
8621         * doc/posix-functions/iswgraph_l.texi: Likewise.
8622         * doc/posix-functions/iswlower_l.texi: Likewise.
8623         * doc/posix-functions/iswprint_l.texi: Likewise.
8624         * doc/posix-functions/iswpunct_l.texi: Likewise.
8625         * doc/posix-functions/iswspace_l.texi: Likewise.
8626         * doc/posix-functions/iswupper_l.texi: Likewise.
8627         * doc/posix-functions/iswxdigit_l.texi: Likewise.
8628         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
8629         * doc/posix-functions/open_wmemstream.texi: Likewise.
8630         * doc/posix-functions/swscanf.texi: Likewise.
8631         * doc/posix-functions/towctrans_l.texi: Likewise.
8632         * doc/posix-functions/towlower.texi: Likewise.
8633         * doc/posix-functions/towlower_l.texi: Likewise.
8634         * doc/posix-functions/towupper.texi: Likewise.
8635         * doc/posix-functions/towupper_l.texi: Likewise.
8636         * doc/posix-functions/vfwprintf.texi: Likewise.
8637         * doc/posix-functions/vfwscanf.texi: Likewise.
8638         * doc/posix-functions/vswscanf.texi: Likewise.
8639         * doc/posix-functions/vwprintf.texi: Likewise.
8640         * doc/posix-functions/vwscanf.texi: Likewise.
8641         * doc/posix-functions/wcpcpy.texi: Likewise.
8642         * doc/posix-functions/wcpncpy.texi: Likewise.
8643         * doc/posix-functions/wcscasecmp.texi: Likewise.
8644         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
8645         * doc/posix-functions/wcscoll_l.texi: Likewise.
8646         * doc/posix-functions/wcsdup.texi: Likewise.
8647         * doc/posix-functions/wcsncasecmp.texi: Likewise.
8648         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
8649         * doc/posix-functions/wcsnlen.texi: Likewise.
8650         * doc/posix-functions/wcsnrtombs.texi: Likewise.
8651         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
8652         * doc/posix-functions/wctrans_l.texi: Likewise.
8653         * doc/posix-functions/wctype_l.texi: Likewise.
8654         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
8655         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
8656         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
8657         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
8658         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
8659         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
8660         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
8661         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
8662         * doc/glibc-functions/wcschrnul.texi: Likewise.
8663         * doc/glibc-functions/wcsftime_l.texi: Likewise.
8664         * doc/glibc-functions/wcstod_l.texi: Likewise.
8665         * doc/glibc-functions/wcstof_l.texi: Likewise.
8666         * doc/glibc-functions/wcstol_l.texi: Likewise.
8667         * doc/glibc-functions/wcstold_l.texi: Likewise.
8668         * doc/glibc-functions/wcstoll_l.texi: Likewise.
8669         * doc/glibc-functions/wcstoq.texi: Likewise.
8670         * doc/glibc-functions/wcstoul_l.texi: Likewise.
8671         * doc/glibc-functions/wcstoull_l.texi: Likewise.
8672         * doc/glibc-functions/wcstouq.texi: Likewise.
8673         * doc/glibc-functions/wmempcpy.texi: Likewise.
8674
8675 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
8676             Eric Blake  <ebb9@byu.net>
8677             Paolo Bonzini  <bonzini@gnu.org>
8678             Bruno Haible  <bruno@clisp.org>
8679
8680         Make c-stack work on Haiku.
8681         * lib/c-stack.c (SA_ONSTACK): Define fallback.
8682         (c_stack_action): Use SA_ONSTACK flag.
8683
8684 2008-12-22  Bruno Haible  <bruno@clisp.org>
8685
8686         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
8687
8688 2008-12-22  Bruno Haible  <bruno@clisp.org>
8689
8690         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
8691         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
8692         being overridden.
8693         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
8694         New macros.
8695         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
8696         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
8697         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
8698         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
8699
8700 2008-12-22  Bruno Haible  <bruno@clisp.org>
8701
8702         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
8703         from test code.
8704
8705 2008-12-22  Eric Blake  <ebb9@byu.net>
8706
8707         Avoid gcc warnings on cygwin.
8708         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
8709         Avoid unused variable.
8710         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
8711         Likewise.
8712
8713 2008-12-22  Bruno Haible  <bruno@clisp.org>
8714
8715         Remove HAVE_MBRTOWC conditionals.
8716         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
8717         (mbscasecmp): Assume mbrtowc function.
8718         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
8719         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
8720         * lib/mbschr.c: Include mbuiter.h unconditionally.
8721         (mbschr): Assume mbrtowc function.
8722         * lib/mbscspn.c: Include mbuiter.h unconditionally.
8723         (mbscspn): Assume mbrtowc function.
8724         * lib/mbslen.c: Include mbuiter.h unconditionally.
8725         (mbslen): Assume mbrtowc function.
8726         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
8727         (mbsncasecmp): Assume mbrtowc function.
8728         * lib/mbsnlen.c: Include mbiter.h unconditionally.
8729         (mbsnlen): Assume mbrtowc function.
8730         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
8731         (mbspbrk): Assume mbrtowc function.
8732         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
8733         (mbspcasecmp): Assume mbrtowc function.
8734         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
8735         (mbsrchr): Assume mbrtowc function.
8736         * lib/mbssep.c: Include mbuiter.h unconditionally.
8737         (mbssep): Assume mbrtowc function.
8738         * lib/mbsspn.c: Include mbuiter.h unconditionally.
8739         (mbsspn): Assume mbrtowc function.
8740         * lib/mbsstr.c: Include mbuiter.h unconditionally.
8741         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
8742         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
8743         (mbstok_r): Assume mbrtowc function.
8744         * lib/propername.c: Include mbuiter.h unconditionally.
8745         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
8746         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
8747         (trim2): Assume mbrtowc function.
8748         * lib/mbswidth.c (mbsinit): Remove fallback definition.
8749         (mbsnwidth): Assume mbrtowc function.
8750         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
8751         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
8752         fallback definitions.
8753         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
8754
8755 2008-12-22  Bruno Haible  <bruno@clisp.org>
8756
8757         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
8758
8759 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
8760
8761         * modules/regex: Request emulations for the mb*/wc* functions we need.
8762         * m4/regex.m4: Don't look for those functions here.
8763         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
8764
8765 2008-12-22  Bruno Haible  <bruno@clisp.org>
8766
8767         * modules/fnmatch (Depends-on): Remove duplicated dependency.
8768
8769 2008-12-21  Bruno Haible  <bruno@clisp.org>
8770
8771         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
8772         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
8773         (Include): Remove conditionalization.
8774         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
8775         (Include): Remove conditionalization.
8776         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
8777         (Include): Remove conditionalization.
8778         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
8779         * m4/mbfile.m4 (gl_MBFILE): Likewise.
8780         * NEWS: Mention the change.
8781         Reported by Alan Hourihane <alanh@fairlite.co.uk>
8782         via Sergey Poznyakoff <gray@gnu.org.ua>.
8783
8784 2008-12-21  Bruno Haible  <bruno@clisp.org>
8785
8786         * MODULES.html.sh (Extended multibyte and wide character utilities
8787         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
8788         wcrtomb, wcsrtombs.
8789         (Support for systems lacking POSIX:2008): Add accept, bind, close,
8790         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
8791         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
8792         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
8793
8794 2008-12-21  Bruno Haible  <bruno@clisp.org>
8795
8796         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
8797
8798 2008-12-21  Bruno Haible  <bruno@clisp.org>
8799
8800         * modules/wcsnrtombs-tests: New file.
8801         * tests/test-wcsnrtombs1.sh: New file.
8802         * tests/test-wcsnrtombs2.sh: New file.
8803         * tests/test-wcsnrtombs3.sh: New file.
8804         * tests/test-wcsnrtombs4.sh: New file.
8805         * tests/test-wcsnrtombs.c: New file.
8806
8807         New module 'wcsnrtombs'.
8808         * lib/wchar.in.h (wcsnrtombs): New declaration.
8809         * lib/wcsnrtombs.c: New file.
8810         * lib/wcsrtombs-state.c: New file.
8811         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
8812         (internal_state): Remove variable.
8813         * m4/wcsnrtombs.m4: New file.
8814         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
8815         compilation units.
8816         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
8817         HAVE_WCSNRTOMBS.
8818         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
8819         HAVE_WCSNRTOMBS.
8820         * modules/wcsnrtombs: New file.
8821         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
8822         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
8823
8824 2008-12-21  Bruno Haible  <bruno@clisp.org>
8825
8826         * modules/wcsrtombs-tests: New file.
8827         * tests/test-wcsrtombs1.sh: New file.
8828         * tests/test-wcsrtombs2.sh: New file.
8829         * tests/test-wcsrtombs3.sh: New file.
8830         * tests/test-wcsrtombs4.sh: New file.
8831         * tests/test-wcsrtombs.c: New file.
8832
8833         New module 'wcsrtombs'.
8834         * lib/wchar.in.h (wcsrtombs): New declaration.
8835         * lib/wcsrtombs.c: New file.
8836         * m4/wcsrtombs.m4: New file.
8837         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
8838         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
8839         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
8840         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
8841         * modules/wcsrtombs: New file.
8842         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
8843         bugs.
8844
8845 2008-12-21  Bruno Haible  <bruno@clisp.org>
8846
8847         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
8848         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
8849         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
8850         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
8851         if not correct.
8852         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
8853         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
8854         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
8855         m4/locale-zh.m4, m4/codeset.m4.
8856         * doc/posix-functions/wcrtomb.texi: Document the bug.
8857
8858 2008-12-21  Bruno Haible  <bruno@clisp.org>
8859
8860         Work around a btowc() bug on IRIX 6.5.
8861         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
8862         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
8863         REPLACE_WTOBC if not.
8864         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
8865         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
8866         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
8867
8868 2008-12-21  Bruno Haible  <bruno@clisp.org>
8869
8870         * modules/wcrtomb-tests: New file.
8871         * tests/test-wcrtomb.sh: New file.
8872         * tests/test-wcrtomb.c: New file.
8873
8874         New module 'wcrtomb'.
8875         * lib/wchar.in.h (wcrtomb): New declaration.
8876         * lib/wcrtomb.c: New file.
8877         * m4/wcrtomb.m4: New file.
8878         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
8879         HAVE_WCRTOMB.
8880         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
8881         HAVE_WCRTOMB.
8882         * modules/wcrtomb: New file.
8883         * doc/posix-functions/wcrtomb.texi: Mention the new module.
8884
8885 2008-12-21  Bruno Haible  <bruno@clisp.org>
8886
8887         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
8888         * modules/mbsrtowcs (Files): Likewise.
8889         * modules/wctob (Files): Likewise.
8890         * modules/c-strcase-tests (Files): Likewise.
8891         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
8892         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
8893         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
8894         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
8895         * modules/vasnprintf-posix-tests (Files): Likewise.
8896
8897 2008-12-21  William Pursell  <bill.pursell@gmail.com>
8898
8899         gitlog-to-changelog: pass all command-line arguments to git-log
8900         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
8901         it is sometimes convenient to filter the commits in various ways.
8902         gitlog-to-changelog only allows --since to specify a start date,
8903         but git-log itself supports many other filtering mechanisms.
8904         At the moment, I want to filter by branch name.  Rather than
8905         adding a --branch option to gitlog-to-changelog, it seems more
8906         flexible to simply pass all options directly to git-log and let
8907         git do the work.  Notice that this effectively makes --since a
8908         redundant option for gitlog-to-changelog, but removing it would
8909         require current usage to change since calls would then require
8910         an additional '--'.
8911
8912 2008-12-21  Bruno Haible  <bruno@clisp.org>
8913
8914         * modules/mbsnrtowcs-tests: New file.
8915         * tests/test-mbsnrtowcs1.sh: New file.
8916         * tests/test-mbsnrtowcs2.sh: New file.
8917         * tests/test-mbsnrtowcs3.sh: New file.
8918         * tests/test-mbsnrtowcs4.sh: New file.
8919         * tests/test-mbsnrtowcs.c: New file.
8920
8921         New module 'mbsnrtowcs'.
8922         * lib/wchar.in.h (mbsnrtowcs): New declaration.
8923         * lib/mbsnrtowcs.c: New file.
8924         * lib/mbsrtowcs-state.c: New file.
8925         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
8926         (internal_state): Remove variable.
8927         * m4/mbsnrtowcs.m4: New file.
8928         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
8929         compilation units.
8930         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
8931         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
8932         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
8933         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
8934         * modules/mbsnrtowcs: New file.
8935         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
8936         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
8937         portability problem.
8938
8939 2008-12-21  Bruno Haible  <bruno@clisp.org>
8940
8941         Work around mbsrtowcs bug.
8942         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
8943         (gl_FUNC_MBSRTOWCS): Invoke it.
8944         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
8945         m4/locale-zh.m4.
8946         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
8947
8948 2008-12-21  Bruno Haible  <bruno@clisp.org>
8949
8950         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
8951
8952 2008-12-21  Bruno Haible  <bruno@clisp.org>
8953
8954         Update doc for AIX.
8955         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
8956         16-bit wchar_t type.
8957         * doc/posix-functions/btowc.texi: Likewise.
8958         * doc/posix-functions/fgetwc.texi: Likewise.
8959         * doc/posix-functions/fgetws.texi: Likewise.
8960         * doc/posix-functions/fputwc.texi: Likewise.
8961         * doc/posix-functions/fputws.texi: Likewise.
8962         * doc/posix-functions/fwide.texi: Likewise.
8963         * doc/posix-functions/fwprintf.texi: Likewise.
8964         * doc/posix-functions/fwscanf.texi: Likewise.
8965         * doc/posix-functions/getwchar.texi: Likewise.
8966         * doc/posix-functions/getwc.texi: Likewise.
8967         * doc/posix-functions/iswalnum.texi: Likewise.
8968         * doc/posix-functions/iswalpha.texi: Likewise.
8969         * doc/posix-functions/iswblank.texi: Likewise.
8970         * doc/posix-functions/iswcntrl.texi: Likewise.
8971         * doc/posix-functions/iswctype.texi: Likewise.
8972         * doc/posix-functions/iswdigit.texi: Likewise.
8973         * doc/posix-functions/iswgraph.texi: Likewise.
8974         * doc/posix-functions/iswlower.texi: Likewise.
8975         * doc/posix-functions/iswprint.texi: Likewise.
8976         * doc/posix-functions/iswpunct.texi: Likewise.
8977         * doc/posix-functions/iswspace.texi: Likewise.
8978         * doc/posix-functions/iswupper.texi: Likewise.
8979         * doc/posix-functions/iswxdigit.texi: Likewise.
8980         * doc/posix-functions/mbrtowc.texi: Likewise.
8981         * doc/posix-functions/mbsrtowcs.texi: Likewise.
8982         * doc/posix-functions/mbstowcs.texi: Likewise.
8983         * doc/posix-functions/mbtowc.texi: Likewise.
8984         * doc/posix-functions/putwchar.texi: Likewise.
8985         * doc/posix-functions/putwc.texi: Likewise.
8986         * doc/posix-functions/swprintf.texi: Likewise.
8987         * doc/posix-functions/tolower.texi: Likewise.
8988         * doc/posix-functions/toupper.texi: Likewise.
8989         * doc/posix-functions/towctrans.texi: Likewise.
8990         * doc/posix-functions/ungetwc.texi: Likewise.
8991         * doc/posix-functions/vswprintf.texi: Likewise.
8992         * doc/posix-functions/wcrtomb.texi: Likewise.
8993         * doc/posix-functions/wcscat.texi: Likewise.
8994         * doc/posix-functions/wcschr.texi: Likewise.
8995         * doc/posix-functions/wcscmp.texi: Likewise.
8996         * doc/posix-functions/wcscoll.texi: Likewise.
8997         * doc/posix-functions/wcscpy.texi: Likewise.
8998         * doc/posix-functions/wcscspn.texi: Likewise.
8999         * doc/posix-functions/wcsftime.texi: Likewise.
9000         * doc/posix-functions/wcslen.texi: Likewise.
9001         * doc/posix-functions/wcsncat.texi: Likewise.
9002         * doc/posix-functions/wcsncmp.texi: Likewise.
9003         * doc/posix-functions/wcsncpy.texi: Likewise.
9004         * doc/posix-functions/wcspbrk.texi: Likewise.
9005         * doc/posix-functions/wcsrchr.texi: Likewise.
9006         * doc/posix-functions/wcsrtombs.texi: Likewise.
9007         * doc/posix-functions/wcsspn.texi: Likewise.
9008         * doc/posix-functions/wcsstr.texi: Likewise.
9009         * doc/posix-functions/wcstod.texi: Likewise.
9010         * doc/posix-functions/wcstof.texi: Likewise.
9011         * doc/posix-functions/wcstoimax.texi: Likewise.
9012         * doc/posix-functions/wcstok.texi: Likewise.
9013         * doc/posix-functions/wcstold.texi: Likewise.
9014         * doc/posix-functions/wcstoll.texi: Likewise.
9015         * doc/posix-functions/wcstol.texi: Likewise.
9016         * doc/posix-functions/wcstombs.texi: Likewise.
9017         * doc/posix-functions/wcstoull.texi: Likewise.
9018         * doc/posix-functions/wcstoul.texi: Likewise.
9019         * doc/posix-functions/wcstoumax.texi: Likewise.
9020         * doc/posix-functions/wcswidth.texi: Likewise.
9021         * doc/posix-functions/wcsxfrm.texi: Likewise.
9022         * doc/posix-functions/wctob.texi: Likewise.
9023         * doc/posix-functions/wctomb.texi: Likewise.
9024         * doc/posix-functions/wctrans.texi: Likewise.
9025         * doc/posix-functions/wctype.texi: Likewise.
9026         * doc/posix-functions/wcwidth.texi: Likewise.
9027         * doc/posix-functions/wmemchr.texi: Likewise.
9028         * doc/posix-functions/wmemcmp.texi: Likewise.
9029         * doc/posix-functions/wmemcpy.texi: Likewise.
9030         * doc/posix-functions/wmemmove.texi: Likewise.
9031         * doc/posix-functions/wmemset.texi: Likewise.
9032         * doc/posix-functions/wprintf.texi: Likewise.
9033         * doc/posix-functions/wscanf.texi: Likewise.
9034
9035 2008-12-21  Bruno Haible  <bruno@clisp.org>
9036
9037         Update doc for HP-UX 11.11.
9038         * doc/posix-functions/btowc.texi: Clarify that the function is missing
9039         in HP-UX version 11.00, not in all versions of HP-UX 11.
9040         * doc/posix-functions/fwide.texi: Likewise.
9041         * doc/posix-functions/fwprintf.texi: Likewise.
9042         * doc/posix-functions/fwscanf.texi: Likewise.
9043         * doc/posix-functions/inet_ntop.texi: Likewise.
9044         * doc/posix-functions/inet_pton.texi: Likewise.
9045         * doc/posix-functions/mbrlen.texi: Likewise.
9046         * doc/posix-functions/mbrtowc.texi: Likewise.
9047         * doc/posix-functions/mbsinit.texi: Likewise.
9048         * doc/posix-functions/mbsrtowcs.texi: Likewise.
9049         * doc/posix-functions/swprintf.texi: Likewise.
9050         * doc/posix-functions/swscanf.texi: Likewise.
9051         * doc/posix-functions/towctrans.texi: Likewise.
9052         * doc/posix-functions/vfwprintf.texi: Likewise.
9053         * doc/posix-functions/vswprintf.texi: Likewise.
9054         * doc/posix-functions/vwprintf.texi: Likewise.
9055         * doc/posix-functions/wcrtomb.texi: Likewise.
9056         * doc/posix-functions/wcsrtombs.texi: Likewise.
9057         * doc/posix-functions/wcsstr.texi: Likewise.
9058         * doc/posix-functions/wctob.texi: Likewise.
9059         * doc/posix-functions/wctrans.texi: Likewise.
9060         * doc/posix-functions/wmemchr.texi: Likewise.
9061         * doc/posix-functions/wmemcmp.texi: Likewise.
9062         * doc/posix-functions/wmemcpy.texi: Likewise.
9063         * doc/posix-functions/wmemmove.texi: Likewise.
9064         * doc/posix-functions/wmemset.texi: Likewise.
9065         * doc/posix-functions/wprintf.texi: Likewise.
9066         * doc/posix-functions/wscanf.texi: Likewise.
9067
9068 2008-12-21  Bruno Haible  <bruno@clisp.org>
9069
9070         Work around a portability problem.
9071         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
9072         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
9073
9074 2008-12-20  Bruno Haible  <bruno@clisp.org>
9075
9076         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
9077         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
9078         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
9079         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
9080         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
9081
9082         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
9083         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
9084         set.
9085         (GNULIB_defined_mbstate_t): New macro.
9086         (mbsinit): Redefine if REPLACE_MBSINIT is set.
9087         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
9088         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
9089         reuses the system's mbrtowc function but works around the bugs.
9090         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
9091         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
9092         macros.
9093         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
9094         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
9095         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
9096         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
9097         REPLACE_MBSINIT if mbsinit needs to be overridden.
9098         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
9099         REPLACE_MBSINIT, REPLACE_MBRTOWC.
9100         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
9101         REPLACE_MBSINIT, REPLACE_MBRTOWC.
9102         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
9103         m4/locale-zh.m4.
9104         (Depends): Add mbsinit.
9105         * modules/mbsinit (Depends): Add mbrtowc.
9106         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
9107
9108 2008-12-20  Bruno Haible  <bruno@clisp.org>
9109
9110         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
9111         so that there are no conversion errors on AIX.
9112         * tests/test-mbsrtowcs.c (main): LIkewise.
9113
9114 2008-12-20  Bruno Haible  <bruno@clisp.org>
9115
9116         Work around wctob bug on Solaris <= 9.
9117         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
9118         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
9119         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
9120         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
9121         * modules/wctob (Files): Add m4/locale-fr.m4.
9122         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
9123
9124 2008-12-20  Bruno Haible  <bruno@clisp.org>
9125
9126         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
9127         /dev/null.
9128         * tests/test-select-in.sh: Likewise.
9129         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9130
9131 2008-12-20  Bruno Haible  <bruno@clisp.org>
9132
9133         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
9134         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
9135         Cygwin 1.5.x.
9136
9137 2008-12-20  Bruno Haible  <bruno@clisp.org>
9138
9139         Ensure mbstate_t is defined on HP-UX 11.11.
9140         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
9141         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
9142         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
9143         AC_USE_SYSTEM_EXTENSIONS.
9144         * modules/fnmatch (Depends-on): Add extensions.
9145         * modules/mbrlen (Depends-on): Likewise.
9146         * modules/mbrtowc (Depends-on): Likewise.
9147         * modules/mbsinit (Depends-on): Likewise.
9148         * modules/mbsrtowcs (Depends-on): Likewise.
9149         * modules/mbswidth (Depends-on): Likewise.
9150         * modules/quotearg (Depends-on): Likewise.
9151         * modules/strftime (Depends-on): Likewise.
9152
9153 2008-12-20  Bruno Haible  <bruno@clisp.org>
9154
9155         Ensure wctob is declared on IRIX 6.5.
9156         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
9157         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
9158         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
9159         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
9160         of HAVE_WCTOB.
9161         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
9162         HAVE_WCTOB.
9163         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
9164
9165 2008-12-19  Bruno Haible  <bruno@clisp.org>
9166
9167         * modules/mbsrtowcs-tests: New file.
9168         * tests/test-mbsrtowcs1.sh: New file.
9169         * tests/test-mbsrtowcs2.sh: New file.
9170         * tests/test-mbsrtowcs3.sh: New file.
9171         * tests/test-mbsrtowcs4.sh: New file.
9172         * tests/test-mbsrtowcs.c: New file.
9173
9174         New module 'mbsrtowcs'.
9175         * lib/wchar.in.h (mbsrtowcs): New declaration.
9176         * lib/mbsrtowcs.c: New file.
9177         * m4/mbsrtowcs.m4: New file.
9178         * modules/mbsrtowcs: New file.
9179         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
9180         HAVE_MBSRTOWCS.
9181         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
9182         HAVE_MBSRTOWCS.
9183         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
9184
9185 2008-12-19  Bruno Haible  <bruno@clisp.org>
9186
9187         New module 'mbrlen'.
9188         * lib/wchar.in.h (mbrlen): New declaration.
9189         * lib/mbrlen.c: New file.
9190         * m4/mbrlen.m4: New file.
9191         * modules/mbrlen: New file.
9192         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
9193         HAVE_MBRLEN.
9194         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
9195         HAVE_MBRLEN.
9196         * doc/posix-functions/mbrlen.texi: Document the new module.
9197
9198 2008-12-19  Bruno Haible  <bruno@clisp.org>
9199
9200         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
9201         * modules/mbrtowc (Depends-on): Add verify.
9202         Suggested by Paul Eggert.
9203
9204 2008-12-18  Bruno Haible  <bruno@clisp.org>
9205
9206         * modules/mbsinit-tests: New file.
9207         * tests/test-mbsinit.sh: New file.
9208         * tests/test-mbsinit.c: New file.
9209
9210 2008-12-18  Bruno Haible  <bruno@clisp.org>
9211
9212         * modules/mbrtowc-tests: New file.
9213         * tests/test-mbrtowc1.sh: New file.
9214         * tests/test-mbrtowc2.sh: New file.
9215         * tests/test-mbrtowc3.sh: New file.
9216         * tests/test-mbrtowc4.sh: New file.
9217         * tests/test-mbrtowc.c: New file.
9218
9219         New module 'mbrtowc'.
9220         * lib/wchar.in.h (mbstate_t): Override when the system does not have
9221         mbsinit and mbrtowc.
9222         (mbrtowc): New declaration.
9223         * lib/mbrtowc.c: New file.
9224         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
9225         * modules/mbrtowc: New file.
9226         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
9227         HAVE_MBRTOWC.
9228         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
9229         HAVE_MBRTOWC.
9230         * doc/posix-functions/mbrtowc.texi: Document the new module.
9231
9232 2008-12-18  Bruno Haible  <bruno@clisp.org>
9233
9234         New module 'wctob'.
9235         * lib/wchar.in.h (wctob): New declaration.
9236         * lib/wctob.c: New file.
9237         * m4/wctob.m4: New file.
9238         * modules/wctob: New file.
9239         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
9240         HAVE_WCTOB.
9241         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
9242         * doc/posix-functions/wctob.texi: Document the new module.
9243
9244 2008-12-18  Bruno Haible  <bruno@clisp.org>
9245
9246         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
9247         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
9248
9249 2008-12-18  Simon Josefsson  <simon@josefsson.org>
9250
9251         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
9252         G. Christensen" <tgc@jupiterrise.com>.
9253
9254         * lib/flock.c: Need to include errno.h.  Reported by "Tom
9255         G. Christensen" <tgc@jupiterrise.com>.
9256
9257         * lib/flock.c: Need to include string.h.  Reported by "Tom
9258         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
9259         <ebb9@byu.net>.
9260
9261 2008-12-18  Bruno Haible  <bruno@clisp.org>
9262
9263         * m4/locale-ja.m4: New file, from GNU gettext.
9264
9265 2008-12-17  Bruno Haible  <bruno@clisp.org>
9266
9267         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
9268         Suggested by Eric Blake.
9269
9270 2008-12-17  Bruno Haible  <bruno@clisp.org>
9271
9272         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
9273
9274 2008-12-17  Bruno Haible  <bruno@clisp.org>
9275
9276         * lib/mbsinit.c: Include verify.h. Verify an assumption.
9277         * modules/mbsinit (Depends-on): Add verify.
9278         Suggested by Paul Eggert.
9279
9280 2008-12-17  Bruno Haible  <bruno@clisp.org>
9281
9282         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
9283         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
9284         gl_FUNC_MBRTOWC.
9285         * m4/mbiter.m4 (gl_MBITER): LIkewise.
9286         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
9287         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
9288         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
9289         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
9290         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
9291         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
9292         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
9293         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
9294         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
9295         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
9296         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
9297         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
9298         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
9299         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
9300         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
9301         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
9302         * modules/trim (configure.ac): Likewise.
9303
9304 2008-12-17  Bruno Haible  <bruno@clisp.org>
9305
9306         * modules/btowc-tests: New file.
9307         * tests/test-btowc1.sh: New file.
9308         * tests/test-btowc2.sh: New file.
9309         * tests/test-btowc.c: New file.
9310
9311         New module 'btowc'.
9312         * lib/wchar.in.h (btowc): New declaration.
9313         * lib/btowc.c: New file.
9314         * m4/btowc.m4: New file.
9315         * modules/btowc: New file.
9316         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
9317         HAVE_BTOWC.
9318         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
9319         * doc/posix-functions/btowc.texi: Document the new module.
9320
9321 2008-12-17  Bruno Haible  <bruno@clisp.org>
9322
9323         New module 'mbsinit'.
9324         * lib/wchar.in.h (mbsinit): New declaration.
9325         * lib/mbsinit.c: New file.
9326         * m4/mbsinit.m4: New file.
9327         * modules/mbsinit: New file.
9328         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
9329         HAVE_MBSINIT.
9330         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
9331         HAVE_MBSINIT.
9332         * doc/posix-functions/mbsinit.texi: Document the new module.
9333
9334 2008-12-16  Bruno Haible  <bruno@clisp.org>
9335
9336         * lib/unistd.in.h: Add comment.
9337         * tests/test-environ.c: Don't include <stdlib.h>.
9338
9339 2008-12-16  Bruno Haible  <bruno@clisp.org>
9340
9341         * lib/parse-duration.h (parse_duration): Document return value
9342         convention.
9343         * lib/parse-duration.c: Include specification header first. Add
9344         comments.
9345         (_): Remove macro.
9346         (parse_year_month_day, parse_hour_minute_second): Move side effects
9347         outside of strchr call.
9348         (parse_non_iso8601): Move side effects outside of isspace call.
9349         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
9350         call.
9351
9352 2008-12-16  Bruno Haible  <bruno@clisp.org>
9353
9354         * tests/test-parse-duration.sh: Produce no output when the test
9355         succeeds.
9356
9357 2008-12-16  Bruno Haible  <bruno@clisp.org>
9358
9359         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
9360         expressions.
9361
9362 2008-12-15  Bruno Haible  <bruno@clisp.org>
9363
9364         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
9365         * doc/glibc-functions/flistxattr.texi: Likewise.
9366         * doc/glibc-functions/fopencookie.texi: Likewise.
9367         * doc/glibc-functions/fremovexattr.texi: Likewise.
9368         * doc/glibc-functions/fsetxattr.texi: Likewise.
9369         * doc/glibc-functions/getxattr.texi: Likewise.
9370         * doc/glibc-functions/lgetxattr.texi: Likewise.
9371         * doc/glibc-functions/listxattr.texi: Likewise.
9372         * doc/glibc-functions/llistxattr.texi: Likewise.
9373         * doc/glibc-functions/lremovexattr.texi: Likewise.
9374         * doc/glibc-functions/lsetxattr.texi: Likewise.
9375         * doc/glibc-functions/removexattr.texi: Likewise.
9376         * doc/glibc-functions/setxattr.texi: Likewise.
9377         * doc/posix-functions/open_memstream.texi: Likewise.
9378
9379 2008-12-15  Eric Blake  <ebb9@byu.net>
9380
9381         Update doc for cygwin 1.7.
9382         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
9383         functions.
9384         * doc/posix-functions/fchmodat.texi: Likewise.
9385         * doc/posix-functions/fchownat.texi: Likewise.
9386         * doc/posix-functions/fdopendir.texi: Likewise.
9387         * doc/posix-functions/fmemopen.texi: Likewise.
9388         * doc/posix-functions/freeaddrinfo.texi: Likewise.
9389         * doc/posix-functions/fstatat.texi: Likewise.
9390         * doc/posix-functions/futimens.texi: Likewise.
9391         * doc/posix-functions/gai_strerror.texi: Likewise.
9392         * doc/posix-functions/getaddrinfo.texi: Likewise.
9393         * doc/posix-functions/getnameinfo.texi: Likewise.
9394         * doc/posix-functions/if_freenameindex.texi: Likewise.
9395         * doc/posix-functions/if_indextoname.texi: Likewise.
9396         * doc/posix-functions/if_nameindex.texi: Likewise.
9397         * doc/posix-functions/if_nametoindex.texi: Likewise.
9398         * doc/posix-functions/insque.texi: Likewise.
9399         * doc/posix-functions/linkat.texi: Likewise.
9400         * doc/posix-functions/llrint.texi: Likewise.
9401         * doc/posix-functions/llrintf.texi: Likewise.
9402         * doc/posix-functions/llrintl.texi: Likewise.
9403         * doc/posix-functions/lockf.texi: Likewise.
9404         * doc/posix-functions/lrintl.texi: Likewise.
9405         * doc/posix-functions/mkdirat.texi: Likewise.
9406         * doc/posix-functions/mkfifoat.texi: Likewise.
9407         * doc/posix-functions/mknodat.texi: Likewise.
9408         * doc/posix-functions/mq_close.texi: Likewise.
9409         * doc/posix-functions/mq_getattr.texi: Likewise.
9410         * doc/posix-functions/mq_notify.texi: Likewise.
9411         * doc/posix-functions/mq_open.texi: Likewise.
9412         * doc/posix-functions/mq_receive.texi: Likewise.
9413         * doc/posix-functions/mq_send.texi: Likewise.
9414         * doc/posix-functions/mq_setattr.texi: Likewise.
9415         * doc/posix-functions/mq_timedreceive.texi: Likewise.
9416         * doc/posix-functions/mq_timedsend.texi: Likewise.
9417         * doc/posix-functions/mq_unlink.texi: Likewise.
9418         * doc/posix-functions/open_memstream.texi: Likewise.
9419         * doc/posix-functions/openat.texi: Likewise.
9420         * doc/posix-functions/posix_fadvise.texi: Likewise.
9421         * doc/posix-functions/posix_fallocate.texi: Likewise.
9422         * doc/posix-functions/posix_madvise.texi: Likewise.
9423         * doc/posix-functions/posix_memalign.texi: Likewise.
9424         * doc/posix-functions/posix_openpt.texi: Likewise.
9425         * doc/posix-functions/readlinkat.texi: Likewise.
9426         * doc/posix-functions/remque.texi: Likewise.
9427         * doc/posix-functions/renameat.texi: Likewise.
9428         * doc/posix-functions/rintl.texi: Likewise.
9429         * doc/posix-functions/sem_unlink.texi: Likewise.
9430         * doc/posix-functions/shm_open.texi: Likewise.
9431         * doc/posix-functions/shm_unlink.texi: Likewise.
9432         * doc/posix-functions/signgam.texi: Likewise.
9433         * doc/posix-functions/sigset.texi: Likewise.
9434         * doc/posix-functions/stpcpy.texi: Likewise.
9435         * doc/posix-functions/stpncpy.texi: Likewise.
9436         * doc/posix-functions/strerror.texi: Likewise.
9437         * doc/posix-functions/strtod.texi: Likewise.
9438         * doc/posix-functions/symlinkat.texi: Likewise.
9439         * doc/posix-functions/unlinkat.texi: Likewise.
9440         * doc/posix-functions/utimensat.texi: Likewise.
9441         * doc/glibc-functions/bindresvport.texi: Likewise.
9442         * doc/glibc-functions/dn_expand.texi: Likewise.
9443         * doc/glibc-functions/exp10.texi: Likewise.
9444         * doc/glibc-functions/exp10f.texi: Likewise.
9445         * doc/glibc-functions/fgetxattr.texi: Likewise.
9446         * doc/glibc-functions/flistxattr.texi: Likewise.
9447         * doc/glibc-functions/fopencookie.texi: Likewise.
9448         * doc/glibc-functions/freeifaddrs.texi: Likewise.
9449         * doc/glibc-functions/fremovexattr.texi: Likewise.
9450         * doc/glibc-functions/fsetxattr.texi: Likewise.
9451         * doc/glibc-functions/getifaddrs.texi: Likewise.
9452         * doc/glibc-functions/getxattr.texi: Likewise.
9453         * doc/glibc-functions/lgetxattr.texi: Likewise.
9454         * doc/glibc-functions/listxattr.texi: Likewise.
9455         * doc/glibc-functions/llistxattr.texi: Likewise.
9456         * doc/glibc-functions/lremovexattr.texi: Likewise.
9457         * doc/glibc-functions/lsetxattr.texi: Likewise.
9458         * doc/glibc-functions/pow10.texi: Likewise.
9459         * doc/glibc-functions/pow10f.texi: Likewise.
9460         * doc/glibc-functions/rcmd_af.texi: Likewise.
9461         * doc/glibc-functions/removexattr.texi: Likewise.
9462         * doc/glibc-functions/res_init.texi: Likewise.
9463         * doc/glibc-functions/res_mkquery.texi: Likewise.
9464         * doc/glibc-functions/res_query.texi: Likewise.
9465         * doc/glibc-functions/res_querydomain.texi: Likewise.
9466         * doc/glibc-functions/res_send.texi: Likewise.
9467         * doc/glibc-functions/rresvport_af.texi: Likewise.
9468         * doc/glibc-functions/setxattr.texi: Likewise.
9469         * doc/glibc-functions/strcasestr.texi: Likewise.
9470
9471 2008-12-15  Bruno Haible  <bruno@clisp.org>
9472
9473         Fix compilation error on OSF/1 4.0.
9474         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
9475         <sys/time.h>, simply delegate to the system header.
9476         Reported by Daniel Richard G. <oss@teragram.com>.
9477
9478 2008-12-15  Bruno Haible  <bruno@clisp.org>
9479
9480         * doc/posix-functions/openat.texi: Mention the 'openat' module.
9481         * doc/posix-functions/fchmodat.texi: Likewise.
9482         * doc/posix-functions/fchownat.texi: Likewise.
9483         * doc/posix-functions/fdopendir.texi: Likewise.
9484         * doc/posix-functions/fstatat.texi: Likewise.
9485         * doc/posix-functions/mkdirat.texi: Likewise.
9486         * doc/posix-functions/unlinkat.texi: Likewise.
9487
9488 2008-12-14  Bruno Haible  <bruno@clisp.org>
9489
9490         Update doc for POSIX:2008.
9491         * doc/posix-functions/faccessat.texi: New file.
9492         * doc/posix-functions/fchmodat.texi: New file.
9493         * doc/posix-functions/fchownat.texi: New file.
9494         * doc/posix-functions/fdopendir.texi: New file.
9495         * doc/posix-functions/fstatat.texi: New file.
9496         * doc/posix-functions/futimens.texi: New file.
9497         * doc/posix-functions/linkat.texi: New file.
9498         * doc/posix-functions/mkdirat.texi: New file.
9499         * doc/posix-functions/mkfifoat.texi: New file.
9500         * doc/posix-functions/mknodat.texi: New file.
9501         * doc/posix-functions/open_wmemstream.texi: New file.
9502         * doc/posix-functions/openat.texi: New file.
9503         * doc/posix-functions/psiginfo.texi: New file.
9504         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
9505         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
9506         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
9507         * doc/posix-functions/readlinkat.texi: New file.
9508         * doc/posix-functions/renameat.texi: New file.
9509         * doc/posix-functions/strerror_l.texi: New file.
9510         * doc/posix-functions/symlinkat.texi: New file.
9511         * doc/posix-functions/unlinkat.texi: New file.
9512         * doc/posix-functions/utimensat.texi: New file.
9513         * doc/gnulib.texi (Function Substitutes): Add these subsections.
9514
9515 2008-12-14  Bruno Haible  <bruno@clisp.org>
9516
9517         Update doc for POSIX:2008.
9518         * doc/posix-functions/alphasort.texi: Renamed from
9519         doc/glibc-functions/alphasort.texi.
9520         * doc/posix-functions/dirfd.texi: Renamed from
9521         doc/glibc-functions/dirfd.texi.
9522         * doc/posix-functions/dprintf.texi: Renamed from
9523         doc/glibc-functions/dprintf.texi.
9524         * doc/posix-functions/duplocale.texi: Renamed from
9525         doc/glibc-functions/duplocale.texi.
9526         * doc/posix-functions/fexecve.texi: Renamed from
9527         doc/glibc-functions/fexecve.texi.
9528         * doc/posix-functions/fmemopen.texi: Renamed from
9529         doc/glibc-functions/fmemopen.texi.
9530         * doc/posix-functions/freelocale.texi: Renamed from
9531         doc/glibc-functions/freelocale.texi.
9532         * doc/posix-functions/getdate_err.texi: Renamed from
9533         doc/glibc-functions/getdate_err.texi.
9534         * doc/posix-functions/isalnum_l.texi: Renamed from
9535         doc/glibc-functions/isalnum_l.texi.
9536         * doc/posix-functions/isalpha_l.texi: Renamed from
9537         doc/glibc-functions/isalpha_l.texi.
9538         * doc/posix-functions/isblank_l.texi: Renamed from
9539         doc/glibc-functions/isblank_l.texi.
9540         * doc/posix-functions/iscntrl_l.texi: Renamed from
9541         doc/glibc-functions/iscntrl_l.texi.
9542         * doc/posix-functions/isdigit_l.texi: Renamed from
9543         doc/glibc-functions/isdigit_l.texi.
9544         * doc/posix-functions/isgraph_l.texi: Renamed from
9545         doc/glibc-functions/isgraph_l.texi.
9546         * doc/posix-functions/islower_l.texi: Renamed from
9547         doc/glibc-functions/islower_l.texi.
9548         * doc/posix-functions/isprint_l.texi: Renamed from
9549         doc/glibc-functions/isprint_l.texi.
9550         * doc/posix-functions/ispunct_l.texi: Renamed from
9551         doc/glibc-functions/ispunct_l.texi.
9552         * doc/posix-functions/isspace_l.texi: Renamed from
9553         doc/glibc-functions/isspace_l.texi.
9554         * doc/posix-functions/isupper_l.texi: Renamed from
9555         doc/glibc-functions/isupper_l.texi.
9556         * doc/posix-functions/iswalnum_l.texi: Renamed from
9557         doc/glibc-functions/iswalnum_l.texi.
9558         * doc/posix-functions/iswalpha_l.texi: Renamed from
9559         doc/glibc-functions/iswalpha_l.texi.
9560         * doc/posix-functions/iswblank_l.texi: Renamed from
9561         doc/glibc-functions/iswblank_l.texi.
9562         * doc/posix-functions/iswcntrl_l.texi: Renamed from
9563         doc/glibc-functions/iswcntrl_l.texi.
9564         * doc/posix-functions/iswctype_l.texi: Renamed from
9565         doc/glibc-functions/iswctype_l.texi.
9566         * doc/posix-functions/iswdigit_l.texi: Renamed from
9567         doc/glibc-functions/iswdigit_l.texi.
9568         * doc/posix-functions/iswgraph_l.texi: Renamed from
9569         doc/glibc-functions/iswgraph_l.texi.
9570         * doc/posix-functions/iswlower_l.texi: Renamed from
9571         doc/glibc-functions/iswlower_l.texi.
9572         * doc/posix-functions/iswprint_l.texi: Renamed from
9573         doc/glibc-functions/iswprint_l.texi.
9574         * doc/posix-functions/iswpunct_l.texi: Renamed from
9575         doc/glibc-functions/iswpunct_l.texi.
9576         * doc/posix-functions/iswspace_l.texi: Renamed from
9577         doc/glibc-functions/iswspace_l.texi.
9578         * doc/posix-functions/iswupper_l.texi: Renamed from
9579         doc/glibc-functions/iswupper_l.texi.
9580         * doc/posix-functions/iswxdigit_l.texi: Renamed from
9581         doc/glibc-functions/iswxdigit_l.texi.
9582         * doc/posix-functions/isxdigit_l.texi: Renamed from
9583         doc/glibc-functions/isxdigit_l.texi.
9584         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
9585         doc/glibc-functions/mbsnrtowcs.texi.
9586         * doc/posix-functions/mkdtemp.texi: Renamed from
9587         doc/glibc-functions/mkdtemp.texi.
9588         * doc/posix-functions/newlocale.texi: Renamed from
9589         doc/glibc-functions/newlocale.texi.
9590         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
9591         doc/glibc-functions/nl_langinfo_l.texi.
9592         * doc/posix-functions/open_memstream.texi: Renamed from
9593         doc/glibc-functions/open_memstream.texi.
9594         * doc/posix-functions/opterr.texi: Renamed from
9595         doc/glibc-functions/opterr.texi.
9596         * doc/posix-functions/optind.texi: Renamed from
9597         doc/glibc-functions/optind.texi.
9598         * doc/posix-functions/optopt.texi: Renamed from
9599         doc/glibc-functions/optopt.texi.
9600         * doc/posix-functions/psignal.texi: Renamed from
9601         doc/glibc-functions/psignal.texi.
9602         * doc/posix-functions/scandir.texi: Renamed from
9603         doc/glibc-functions/scandir.texi.
9604         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
9605         doc/glibc-functions/sched_get_priority_min.texi.
9606         * doc/posix-functions/signgam.texi: Renamed from
9607         doc/glibc-functions/signgam.texi.
9608         * doc/posix-functions/stpcpy.texi: Renamed from
9609         doc/glibc-functions/stpcpy.texi.
9610         * doc/posix-functions/stpncpy.texi: Renamed from
9611         doc/glibc-functions/stpncpy.texi.
9612         * doc/posix-functions/strcasecmp_l.texi: Renamed from
9613         doc/glibc-functions/strcasecmp_l.texi.
9614         * doc/posix-functions/strcoll_l.texi: Renamed from
9615         doc/glibc-functions/strcoll_l.texi.
9616         * doc/posix-functions/strfmon_l.texi: Renamed from
9617         doc/glibc-functions/strfmon_l.texi.
9618         * doc/posix-functions/strftime_l.texi: Renamed from
9619         doc/glibc-functions/strftime_l.texi.
9620         * doc/posix-functions/strncasecmp_l.texi: Renamed from
9621         doc/glibc-functions/strncasecmp_l.texi.
9622         * doc/posix-functions/strndup.texi: Renamed from
9623         doc/glibc-functions/strndup.texi.
9624         * doc/posix-functions/strnlen.texi: Renamed from
9625         doc/glibc-functions/strnlen.texi.
9626         * doc/posix-functions/strsignal.texi: Renamed from
9627         doc/glibc-functions/strsignal.texi.
9628         * doc/posix-functions/strxfrm_l.texi: Renamed from
9629         doc/glibc-functions/strxfrm_l.texi.
9630         * doc/posix-functions/timer_gettime.texi: Renamed from
9631         doc/glibc-functions/timer_gettime.texi.
9632         * doc/posix-functions/tolower_l.texi: Renamed from
9633         doc/glibc-functions/tolower_l.texi.
9634         * doc/posix-functions/toupper_l.texi: Renamed from
9635         doc/glibc-functions/toupper_l.texi.
9636         * doc/posix-functions/towctrans_l.texi: Renamed from
9637         doc/glibc-functions/towctrans_l.texi.
9638         * doc/posix-functions/towlower_l.texi: Renamed from
9639         doc/glibc-functions/towlower_l.texi.
9640         * doc/posix-functions/towupper_l.texi: Renamed from
9641         doc/glibc-functions/towupper_l.texi.
9642         * doc/posix-functions/uselocale.texi: Renamed from
9643         doc/glibc-functions/uselocale.texi.
9644         * doc/posix-functions/vdprintf.texi: Renamed from
9645         doc/glibc-functions/vdprintf.texi.
9646         * doc/posix-functions/wcpcpy.texi:
9647         Renamed from doc/glibc-functions/wcpcpy.texi.
9648         * doc/posix-functions/wcpncpy.texi: Renamed from
9649         doc/glibc-functions/wcpncpy.texi.
9650         * doc/posix-functions/wcscasecmp.texi: Renamed from
9651         doc/glibc-functions/wcscasecmp.texi.
9652         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
9653         doc/glibc-functions/wcscasecmp_l.texi.
9654         * doc/posix-functions/wcscoll_l.texi: Renamed from
9655         doc/glibc-functions/wcscoll_l.texi.
9656         * doc/posix-functions/wcsdup.texi: Renamed from
9657         doc/glibc-functions/wcsdup.texi.
9658         * doc/posix-functions/wcsncasecmp.texi: Renamed from
9659         doc/glibc-functions/wcsncasecmp.texi.
9660         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
9661         doc/glibc-functions/wcsncasecmp_l.texi.
9662         * doc/posix-functions/wcsnlen.texi: Renamed from
9663         doc/glibc-functions/wcsnlen.texi.
9664         * doc/posix-functions/wcsnrtombs.texi: Renamed from
9665         doc/glibc-functions/wcsnrtombs.texi.
9666         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
9667         doc/glibc-functions/wcsxfrm_l.texi.
9668         * doc/posix-functions/wctrans_l.texi: Renamed from
9669         doc/glibc-functions/wctrans_l.texi.
9670         * doc/posix-functions/wctype_l.texi: Renamed from
9671         doc/glibc-functions/wctype_l.texi.
9672         * doc/gnulib.texi (Function Substitutes): Add these subsections.
9673         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
9674         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
9675         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
9676         these subsections.
9677         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
9678         Remove sections.
9679
9680 2008-12-14  Bruno Haible  <bruno@clisp.org>
9681
9682         Update doc for POSIX:2008.
9683         * doc/posix-functions/*.texi: Update URL of POSIX specification.
9684
9685 2008-12-14  Bruno Haible  <bruno@clisp.org>
9686
9687         Update doc for POSIX:2008.
9688         * doc/pastposix-functions/bcmp.texi: Renamed from
9689         doc/posix-functions/bcmp.texi.
9690         * doc/pastposix-functions/bcopy.texi: Renamed from
9691         doc/posix-functions/bcopy.texi.
9692         * doc/pastposix-functions/bsd_signal.texi: Renamed from
9693         doc/posix-functions/bsd_signal.texi.
9694         * doc/pastposix-functions/bzero.texi: Renamed from
9695         doc/posix-functions/bzero.texi.
9696         * doc/pastposix-functions/ecvt.texi: Renamed from
9697         doc/posix-functions/ecvt.texi.
9698         * doc/pastposix-functions/fcvt.texi: Renamed from
9699         doc/posix-functions/fcvt.texi.
9700         * doc/pastposix-functions/ftime.texi: Renamed from
9701         doc/posix-functions/ftime.texi.
9702         * doc/pastposix-functions/gcvt.texi: Renamed from
9703         doc/posix-functions/gcvt.texi.
9704         * doc/pastposix-functions/getcontext.texi: Renamed from
9705         doc/posix-functions/getcontext.texi.
9706         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
9707         doc/posix-functions/gethostbyaddr.texi.
9708         * doc/pastposix-functions/gethostbyname.texi: Renamed from
9709         doc/posix-functions/gethostbyname.texi.
9710         * doc/pastposix-functions/getwd.texi: Renamed from
9711         doc/posix-functions/getwd.texi.
9712         * doc/pastposix-functions/h_errno.texi: Renamed from
9713         doc/posix-functions/h_errno.texi.
9714         * doc/pastposix-functions/index.texi: Renamed from
9715         doc/posix-functions/index.texi.
9716         * doc/pastposix-functions/makecontext.texi: Renamed from
9717         doc/posix-functions/makecontext.texi.
9718         * doc/pastposix-functions/mktemp.texi: Renamed from
9719         doc/posix-functions/mktemp.texi.
9720         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
9721         doc/posix-functions/pthread_attr_getstackaddr.texi.
9722         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
9723         doc/posix-functions/pthread_attr_setstackaddr.texi.
9724         * doc/pastposix-functions/rindex.texi: Renamed from
9725         doc/posix-functions/rindex.texi.
9726         * doc/pastposix-functions/scalb.texi: Renamed from
9727         doc/posix-functions/scalb.texi.
9728         * doc/pastposix-functions/setcontext.texi: Renamed from
9729         doc/posix-functions/setcontext.texi.
9730         * doc/pastposix-functions/swapcontext.texi: Renamed from
9731         doc/posix-functions/swapcontext.texi.
9732         * doc/pastposix-functions/ualarm.texi: Renamed from
9733         doc/posix-functions/ualarm.texi.
9734         * doc/pastposix-functions/usleep.texi: Renamed from
9735         doc/posix-functions/usleep.texi.
9736         * doc/pastposix-functions/vfork.texi: Renamed from
9737         doc/posix-functions/vfork.texi.
9738         * doc/pastposix-functions/wcswcs.texi: Renamed from
9739         doc/posix-functions/wcswcs.texi.
9740         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
9741         (Function Substitutes): Update.
9742
9743 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9744
9745         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
9746         m4/strerror.m4.
9747
9748 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9749             Bruno Haible  <bruno@clisp.org>
9750
9751         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
9752
9753 2008-12-13  Bruno Haible  <bruno@clisp.org>
9754
9755         * modules/strtoull (Depends-on): Remove unistd.
9756
9757 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9758
9759         * modules/strtoull (Depends-on): Add stdlib.
9760
9761 2008-12-11  Simon Josefsson  <simon@josefsson.org>
9762
9763         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
9764
9765 2008-12-10  Jim Meyering  <meyering@redhat.com>
9766
9767         gl_ASSERT: don't say assertions are disabled when they're not
9768         * m4/assert.m4 (gl_ASSERT): Do not make configure report
9769         "checking whether to enable assertions... no", when they are in
9770         fact enabled.  This is solely a bug in the output of configure.
9771         In spite of saying "no", NDEBUG was not defined in that case.
9772         Also, as noted by Eric Blake, leave assertions enabled upon
9773         --enable-assert=INVALID.
9774
9775 2008-12-10  Bruno Haible  <bruno@clisp.org>
9776
9777         Change MODULES.html to refer to POSIX:2008 where possible.
9778         * MODULES.html.sh (POSIX2008_URL): New variable.
9779         (posix_headers): Remove sys/timeb, ucontext.
9780         (posix2001_headers): New variable.
9781         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
9782         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
9783         index, makecontext, mktemp, pthread_attr_getstackaddr,
9784         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
9785         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
9786         (posix2001_functions): New variable.
9787         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
9788         otherwise.
9789
9790 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9791
9792         add missing include to parse-duration.c
9793         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
9794         * modules/parse-duration (Depends-on): Add xalloc.
9795
9796         fix sed script reading maint.mk
9797         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
9798         (syntax-check-rules): Use it.
9799
9800 2008-12-09  Bruno Haible  <bruno@clisp.org>
9801
9802         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
9803         MacOS X 10.4/PowerPC.
9804         Reported by Simon Josefsson.
9805
9806 2008-12-08  Jim Meyering  <meyering@redhat.com>
9807
9808         work around mingw's lack of some S_IF definitions
9809         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
9810         Reported by Simon Josefsson.
9811
9812 2008-12-08  Bruno Haible  <bruno@clisp.org>
9813
9814         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
9815         applied to variables. Needed on MacOS X 10.4/PowerPC.
9816         Reported by Simon Josefsson.
9817
9818 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
9819         and Eric Blake  <ebb9@byu.net>
9820
9821         assert: honor --enable-assert
9822         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
9823         order to honor --enable-assert, rather than treating it as a
9824         synonym for --disable-assert.
9825
9826 2008-12-08  Jim Meyering  <meyering@redhat.com>
9827
9828         * lib/posixtm.c: Remove now-useless declaration of mktime.
9829
9830         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
9831
9832 2008-12-07  Bruno Haible  <bruno@clisp.org>
9833
9834         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
9835         test_once): Mark functions as static.
9836         * tests/test-tls.c (test_tls): Likewise.
9837
9838 2008-12-07  Bruno Haible  <bruno@clisp.org>
9839
9840         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
9841         iconv_register_autodetect.
9842
9843 2008-12-07  Jim Meyering  <meyering@redhat.com>
9844
9845         posixtm.c: avoid a warning
9846         * lib/posixtm.c (posixtime): Don't initialize tm0.
9847         It's no longer needed to placate gcc4's -Wuninitialized,
9848         and the attempt to placate would elicit a new warning.
9849
9850         unicodeio.c: mark unused parameters
9851         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
9852         (fallback_failure_callback): Likewise.
9853
9854 2008-12-07  Bruno Haible  <bruno@clisp.org>
9855
9856         * gnulib-tool (func_create_testdir): When building the tests
9857         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
9858         Reported by Simon Josefsson.
9859
9860 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9861
9862         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
9863
9864 2008-12-06  Bruno Haible  <bruno@clisp.org>
9865
9866         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
9867         Suggested by Eric Blake.
9868
9869 2008-12-06  Bruno Haible  <bruno@clisp.org>
9870
9871         Fix a c-stack test failure on MacOS X.
9872         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
9873         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
9874         handler for SIGBUS as well.
9875         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
9876         install a signal handler for SIGBUS as well.
9877         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
9878
9879 2008-12-06  Bruno Haible  <bruno@clisp.org>
9880
9881         Advocacy documentation.
9882         * doc/gnulib-intro.texi (Benefits): New section.
9883         * doc/gnulib.texi: Update.
9884
9885 2008-12-06  Bruno Haible  <bruno@clisp.org>
9886
9887         Document the 'manywarnings' module.
9888         * doc/manywarnings.texi: New file.
9889         * doc/gnulib.texi: Include it.
9890
9891 2008-12-05  Eric Blake  <ebb9@byu.net>
9892
9893         tests: silence some gcc warnings
9894         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
9895         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
9896         type mismatches.
9897
9898 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9899             Bruno Haible  <bruno@clisp.org>
9900
9901         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
9902
9903 2008-11-29  Jim Meyering  <meyering@redhat.com>
9904
9905         unicodeio.c: mark unused parameters
9906         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
9907         (fallback_failure_callback): Likewise.
9908
9909         fts: fix a thinko
9910         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
9911         (set_stat_type): Return S_IF*-valued "type" directly.
9912         Prompted by James Youngman's spotting a related bug.
9913         Confirmed by further testing through find.
9914
9915         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
9916         * lib/fts.c (D_TYPE): Define.
9917         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
9918         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
9919         (s_ifmt_shift_bits): New function.
9920         (set_stat_type): New function.
9921         (fts_build): When not calling fts_stat, call set_stat_type
9922         to propagate dirent.d_type info to fts_read caller.
9923         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
9924         fts_statp->st_mode type information may be valid.
9925
9926 2008-11-28  Simon Josefsson  <simon@josefsson.org>
9927
9928         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
9929         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
9930         <sds@gnu.org>.
9931
9932 2008-11-20  Bruno Haible  <bruno@clisp.org>
9933
9934         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
9935         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
9936         INCLUDE_NEXT.
9937         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
9938         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
9939         * modules/math (Makefile.am): Substitute
9940         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
9941         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9942
9943 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
9944             Bruno Haible  <bruno@clisp.org>
9945
9946         * lib/stdint.in.h: Define all type macros so that their expansion is
9947         a single typedef'ed token. Fixes a compilation failure in Boost which
9948         does "using ::int8_t;".
9949
9950 2008-11-18  Simon Josefsson  <simon@josefsson.org>
9951
9952         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
9953         gl_MANYWARN_ALL_GCC.
9954         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
9955         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
9956         * modules/manywarnings: New file.
9957         * MODULES.html.sh: Mention manywarnings module.
9958
9959 2008-11-18  Bruno Haible  <bruno@clisp.org>
9960
9961         * doc/gnulib-tool.texi (Unit tests): New section.
9962
9963 2008-11-18  Simon Josefsson  <simon@josefsson.org>
9964
9965         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
9966         paths like 'lib/po/foo.po'.
9967
9968 2008-11-17  Simon Josefsson  <simon@josefsson.org>
9969
9970         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
9971         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
9972
9973 2008-11-17  Simon Josefsson  <simon@josefsson.org>
9974
9975         * m4/warnings.m4: Use CPPFLAGS to really check whether the
9976         parameter works.
9977
9978 2008-11-17  Simon Josefsson  <simon@josefsson.org>
9979
9980         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
9981
9982 2008-11-17  Bruce Korb  <bkorb@gnu.org>
9983
9984         * modules/parse-duration-tests: New file.
9985         * tests/test-parse-duration.sh: New file.
9986         * tests/test-parse-duration.c: New file.
9987
9988         New module 'parse-duration'.
9989         * lib/parse-duration.h: New file.
9990         * lib/parse-duration.c: New file.
9991         * modules/parse-duration: New file.
9992
9993 2008-11-17  Bruno Haible  <bruno@clisp.org>
9994
9995         * tests/test-select-out.sh: Comment out the first pipe test.
9996         Reported by Simon Josefsson.
9997
9998 2008-11-17  Bruno Haible  <bruno@clisp.org>
9999
10000         * modules/getaddrinfo (Depends-on): Add servent, hostent.
10001         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
10002         gl_HOSTENT.
10003
10004 2008-11-17  Bruno Haible  <bruno@clisp.org>
10005
10006         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
10007         -lnetwork and -lnet. Needed for Haiku and BeOS.
10008
10009 2008-11-16  Bruno Haible  <bruno@clisp.org>
10010
10011         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
10012
10013 2008-11-16  Bruno Haible  <bruno@clisp.org>
10014
10015         Avoid test failure on Haiku.
10016         * tests/test-fsync.c: Include <errno.h>.
10017         (main): Don't require that fsync (0) fails.
10018
10019 2008-11-15  Bruno Haible  <bruno@clisp.org>
10020
10021         New module 'hostent'.
10022         * modules/hostent: New file.
10023         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
10024
10025 2008-11-15  Bruno Haible  <bruno@clisp.org>
10026
10027         New module 'servent'.
10028         * modules/servent: New file.
10029         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
10030
10031 2008-11-15  Bruno Haible  <bruno@clisp.org>
10032
10033         Avoid generating same test program with two different rules.
10034         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
10035         test-frexp to test-frexp-nolibm.
10036         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
10037         test-frexpl to test-frexpl-nolibm.
10038
10039 2008-11-15  Bruno Haible  <bruno@clisp.org>
10040
10041         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
10042         $(FREXPL_LIBM).
10043
10044 2008-11-15  Bruno Haible  <bruno@clisp.org>
10045
10046         * lib/netdb.in.h: Activate the definitions also when the system's
10047         <netdb.h> has 'struct addrinfo'.
10048         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
10049         EAI_OVERFLOW or AI_NUMERICSERV.
10050         * doc/posix-headers/netdb.texi: Document the problem.
10051
10052 2008-11-15  Bruno Haible  <bruno@clisp.org>
10053
10054         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
10055
10056         Make the 'sched' module work on platforms where <sched.h> exists but
10057         is incomplete (such as Haiku).
10058         * lib/sched.in.h; Include the system's <sched.h> if it exists.
10059         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
10060         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
10061         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
10062         HAVE_STRUCT_SCHED_PARAM.
10063         * modules/sched (Depends-on): Add include_next.
10064         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
10065         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
10066         * doc/posix-headers/sched.texi: Document the issue.
10067
10068 2008-11-13  Jim Meyering  <meyering@redhat.com>
10069
10070         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
10071         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
10072         test would fail due to the difference in the Report bugs to ...
10073         line.  The expected address is empty, "<>", while the actual
10074         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
10075
10076 2008-11-12  Bruno Haible  <bruno@clisp.org>
10077
10078         lstat: don't compile lstat.c on systems lacking lstat
10079         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
10080         which don't have lstat; this is handled by lib/sys_stat.in.h already.
10081         Reported by Daniel P. Berrange via Jim Meyering.
10082
10083 2008-11-12  Jim Meyering  <meyering@redhat.com>
10084
10085         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
10086
10087 2008-11-12  Simon Josefsson  <simon@josefsson.org>
10088
10089         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
10090         instead.
10091
10092 2008-11-12  Bruno Haible  <bruno@clisp.org>
10093
10094         * lib/unicodeio.c: Include unistr.h.
10095         (utf8_wctomb): Remove function.
10096         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
10097
10098 2008-11-12  Simon Josefsson  <simon@josefsson.org>
10099
10100         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
10101         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
10102         <bruno@clisp.org>.
10103         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
10104
10105 2008-11-12  Simon Josefsson  <simon@josefsson.org>
10106
10107         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
10108         * doc/gnulib.texi: Add section for warnings.
10109
10110 2008-11-11  Bruno Haible  <bruno@clisp.org>
10111
10112         * lib/sockets.h: Add a comment.
10113
10114 2008-11-11  Karl Berry  <karl@gnu.org>
10115
10116         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
10117
10118 2008-11-11  Eric Blake  <ebb9@byu.net>
10119
10120         fdl.texi: avoid git symlinks
10121         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
10122
10123 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
10124
10125         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
10126
10127 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
10128
10129         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
10130         (gl_WARN_ADD): Substitute $2 if literal.
10131
10132 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
10133
10134         * m4/warning.m4: Remove.
10135
10136 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
10137
10138         * m4/warnings.m4: Almost complete rewrite. :-)
10139
10140 2008-11-10  Simon Josefsson  <simon@josefsson.org>
10141
10142         * modules/warnings: New module.
10143         * m4/warnings.m4: New file.
10144         * MODULES.html.sh: Mention warnings module.
10145         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
10146         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10147
10148 2008-11-10  Eric Blake  <ebb9@byu.net>
10149
10150         fdl.texi: make a symlink to the latest version
10151         * doc/standards.texi: Revert today's earlier change.
10152         * doc/fdl-1.2.texi: Rename from old fdl.texi...
10153         * doc/fdl.texi: ...and replace this with a symlink to the newer
10154         fdl-1.3.texi.
10155
10156 2008-11-10  Bruno Haible  <bruno@clisp.org>
10157
10158         * tests/test-select-fd.c (main): Accept the result file name as fourth
10159         argument.
10160         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
10161         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
10162
10163 2008-11-10  Bruno Haible  <bruno@clisp.org>
10164
10165         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
10166         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
10167         as autoconf-substituted macros.
10168         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
10169         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
10170         gl_NETDB_H_DEFAULTS. Set these variables.
10171         * modules/netdb (Makefile.am): Substitute these variables.
10172
10173 2008-11-10  Eric Blake  <ebb9@byu.net>
10174
10175         standards.texi: include correct file for FDL 1.3
10176         * doc/standards.texi (GNU Free Documentation License): Change
10177         include file to pull in FDL 1.3, not 1.2.
10178
10179         fdl.texi: revert accidental change to license
10180         * doc/fdl.texi: This is FDL 1.2, not 1.3.
10181
10182 2008-11-10  Bruno Haible  <bruno@clisp.org>
10183
10184         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
10185         cross-compiling guesses also when the native compile gives no result.
10186
10187 2008-11-10  Bruno Haible  <bruno@clisp.org>
10188
10189         * lib/spawni.c (__spawni): Force variable into the stack.
10190
10191 2008-11-10  Bruno Haible  <bruno@clisp.org>
10192
10193         Add support for Haiku.
10194         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
10195         glibc and BeOS, but also on Haiku.
10196         * lib/fpurge.c (fpurge): Likewise.
10197         * lib/freadable.c (freadable): Likewise.
10198         * lib/freadahead.c (freadahead): Likewise.
10199         * lib/freading.c (freading): Likewise.
10200         * lib/freadptr.c (freadptr): Likewise.
10201         * lib/freadseek.c (freadptrinc): Likewise.
10202         * lib/fseeko.c (rpl_fseeko): Likewise.
10203         * lib/fseterr.c (fseterr): Likewise.
10204         * lib/fwritable.c (fwritable): Likewise.
10205         * lib/fwriting.c (fwriting): Likewise.
10206         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
10207
10208 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
10209
10210         * lib/config.charset: Treat Haiku like BeOS.
10211
10212 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
10213
10214         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
10215         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
10216
10217 2008-11-08  Bruno Haible  <bruno@clisp.org>
10218
10219         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
10220         AC_CACHE_CHECK.
10221
10222 2008-11-08  Bruno Haible  <bruno@clisp.org>
10223
10224         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
10225
10226 2008-11-08  Bruno Haible  <bruno@clisp.org>
10227
10228         * tests/test-select-fd.c: New file.
10229         * tests/test-select-in.sh: New file.
10230         * tests/test-select-out.sh: New file.
10231         * tests/test-select-stdin.c: New file.
10232         * modules/select-tests (Files): Add the new files.
10233         (Depends-on): Add gettimeofday.
10234         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
10235         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
10236         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
10237
10238 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
10239             Bruno Haible  <bruno@clisp.org>
10240
10241         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
10242
10243 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
10244
10245         * build-aux/pmccabe2html: Added support for C++ source files.
10246
10247 2008-11-05  Ben Pfaff  <blp@gnu.org>
10248
10249         Fix lib/close.c build on Windows.
10250         * modules/close (Files): Add lib/w32sock.h.
10251
10252 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
10253
10254         Accept Bison's NEWS format.
10255         * build-aux/announce-gen (print_news_deltas): Tweak
10256         $re_prefix.
10257
10258 2008-11-04  Bruno Haible  <bruno@clisp.org>
10259
10260         * modules/random_r (Maintainer): Add glibc.
10261
10262 2008-11-04  Simon Josefsson  <simon@josefsson.org>
10263
10264         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
10265         by karl@freefriends.org (Karl Berry).
10266         * doc/alloca.texi: Likewise.
10267         * doc/c-ctype.texi: Likewise.
10268         * doc/c-strcase.texi: Likewise.
10269         * doc/c-strcaseeq.texi: Likewise.
10270         * doc/c-strcasestr.texi: Likewise.
10271         * doc/c-strstr.texi: Likewise.
10272         * doc/c-strtod.texi: Likewise.
10273         * doc/c-strtold.texi: Likewise.
10274         * doc/ctime.texi: Likewise.
10275         * doc/error.texi: Likewise.
10276         * doc/fdl.texi: Likewise.
10277         * doc/gcd.texi: Likewise.
10278         * doc/getdate.texi: Likewise.
10279         * doc/gnulib-intro.texi: Likewise.
10280         * doc/gnulib-tool.texi: Likewise.
10281         * doc/gnulib.texi: Likewise.
10282         * doc/inet_ntoa.texi: Likewise.
10283         * doc/maintain.texi: Likewise.
10284         * doc/make-stds.texi: Likewise.
10285         * doc/quote.texi: Likewise.
10286         * doc/regexprops-generic.texi: Likewise.
10287         * doc/standards.texi: Likewise.
10288         * doc/verify.texi: Likewise.
10289         * doc/visibility.texi: Likewise.
10290         * doc/gnulib.texi (GNU Free Documentation License): Include
10291         fdl-1.3.texi instead of fdl.texi.
10292
10293 2008-11-04  Simon Josefsson  <simon@josefsson.org>
10294
10295         * doc/fdl-1.3.texi: New file, from
10296         <http://www.gnu.org/licenses/fdl-1.3.texi>.
10297         * modules/fdl-1.3: Add.
10298         * MODULES.html.sh: Add fdl-1.3.
10299
10300 2008-11-03  Bruno Haible  <bruno@clisp.org>
10301
10302         Make determination of absolute name of header file work with AIX xlc.
10303         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
10304         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
10305         preprocessing.
10306         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
10307         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
10308
10309 2008-11-03  Simon Josefsson  <simon@josefsson.org>
10310
10311         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
10312         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
10313         <ludo@gnu.org>.
10314
10315 2008-11-02  Bruno Haible  <bruno@clisp.org>
10316
10317         Mark 'strpbrk' obsolete.
10318         * modules/strpbrk (Status, Notice): New sections.
10319         * modules/strtok_r (Depends-on): Add strpbrk.
10320
10321 2008-11-02  Bruno Haible  <bruno@clisp.org>
10322
10323         Mark 'strdup' obsolete.
10324         * modules/strdup (Status, Notice): New sections.
10325         * modules/findprog (Depends-on): Add strdup.
10326         * modules/getaddrinfo (Depends-on): Likewise.
10327         * modules/localename (Depends-on): Likewise.
10328         * modules/relocatable-lib (Depends-on): Likewise.
10329         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
10330         * modules/relocatable-prog (Depends-on): Likewise.
10331         * modules/trim (Depends-on): Likewise.
10332         * modules/unictype/gen-ctype (Depends-on): Likewise.
10333         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
10334
10335 2008-11-02  Bruno Haible  <bruno@clisp.org>
10336
10337         Mark 'strcspn' obsolete.
10338         * modules/strcspn (Status, Notice): New sections.
10339
10340 2008-11-02  Bruno Haible  <bruno@clisp.org>
10341
10342         Mark 'rmdir' obsolete.
10343         * modules/rmdir (Status, Notice): New sections.
10344         * modules/clean-temp (Depends-on): Add rmdir.
10345         * modules/openat (Depends-on): Likewise.
10346
10347 2008-11-02  Bruno Haible  <bruno@clisp.org>
10348
10349         Mark 'raise' obsolete.
10350         * modules/raise (Status, Notice): New sections.
10351         (Include): Specify <signal.h>.
10352         * modules/stdio (Depends-on): Add raise.
10353         * modules/write (Depends-on): Likewise.
10354
10355 2008-11-02  Bruno Haible  <bruno@clisp.org>
10356
10357         Mark 'memset' obsolete.
10358         * modules/memset (Status, Notice): New sections.
10359
10360 2008-11-02  Bruno Haible  <bruno@clisp.org>
10361
10362         Mark 'memmove' obsolete.
10363         * modules/memmove (Status, Notice): New sections.
10364         * modules/argp (Depends-on): Add memmove.
10365         * modules/argz (Depends-on): Likewise.
10366         * modules/canonicalize (Depends-on): Likewise.
10367         * modules/canonicalize-lgpl (Depends-on): Likewise.
10368         * modules/fts (Depends-on): Likewise.
10369         * modules/getcwd (Depends-on): Likewise.
10370         * modules/human (Depends-on): Likewise.
10371         * modules/regex (Depends-on): Likewise.
10372         * modules/striconveh (Depends-on): Likewise.
10373         * modules/trim (Depends-on): Likewise.
10374         * modules/unistr/u8-move (Depends-on): Likewise.
10375         * modules/unistr/u16-move (Depends-on): Likewise.
10376         * modules/unistr/u32-move (Depends-on): Likewise.
10377
10378 2008-11-02  Bruno Haible  <bruno@clisp.org>
10379
10380         Mark 'memcpy' obsolete.
10381         * modules/memcpy (Status, Notice): New sections.
10382
10383 2008-11-02  Bruno Haible  <bruno@clisp.org>
10384
10385         Mark 'memcmp' obsolete.
10386         * modules/memcmp (Status, Notice): New sections.
10387         * modules/argmatch (Depends-on): Add memchr.
10388         * modules/backupfile (Depends-on): Likewise.
10389         * modules/c-strcasestr (Depends-on): Likewise.
10390         * modules/crypto/des (Depends-on): Likewise.
10391         * modules/csharpcomp (Depends-on): Likewise.
10392         * modules/fnmatch (Depends-on): Likewise.
10393         * modules/git-merge-changelog (Depends-on): Likewise.
10394         * modules/isnand (Depends-on): Likewise.
10395         * modules/isnand-nolibm (Depends-on): Likewise.
10396         * modules/isnanf (Depends-on): Likewise.
10397         * modules/isnanf-nolibm (Depends-on): Likewise.
10398         * modules/isnanl (Depends-on): Likewise.
10399         * modules/isnanl-nolibm (Depends-on): Likewise.
10400         * modules/mbchar (Depends-on): Likewise.
10401         * modules/memcoll (Depends-on): Likewise.
10402         * modules/quotearg (Depends-on): Likewise.
10403         * modules/regex (Depends-on): Likewise.
10404         * modules/relocatable-prog (Depends-on): Likewise.
10405         * modules/same (Depends-on): Likewise.
10406         * modules/signbit (Depends-on): Likewise.
10407         * modules/strcasestr-simple (Depends-on): Likewise.
10408         * modules/unictype/gen-ctype (Depends-on): Likewise.
10409         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
10410         * modules/uniname/uniname (Depends-on): Likewise.
10411         * modules/unistr/u8-cmp (Depends-on): Likewise.
10412
10413 2008-11-02  Bruno Haible  <bruno@clisp.org>
10414
10415         Mark 'memchr' obsolete.
10416         * modules/memchr (Status, Notice): New sections.
10417         * modules/argp (Depends-on): Add memchr.
10418         * modules/base64 (Depends-on): Likewise.
10419         * modules/c-strcasestr (Depends-on): Likewise.
10420         * modules/chdir-long (Depends-on): Likewise.
10421         * modules/fnmatch (Depends-on): Likewise.
10422         * modules/getsubopt (Depends-on): Likewise.
10423         * modules/git-merge-changelog (Depends-on): Likewise.
10424         * modules/glob (Depends-on): Likewise.
10425         * modules/strcasestr-simple (Depends-on): Likewise.
10426         * modules/strnlen (Depends-on): Likewise.
10427
10428 2008-11-02  Bruno Haible  <bruno@clisp.org>
10429
10430         Mark 'atexit' obsolete.
10431         * modules/atexit (Status, Notice): New sections.
10432         * modules/chdir-long (Depends-on): Add atexit.
10433         * modules/wait-process (Depends-on): Likewise.
10434
10435 2008-11-02  Bruno Haible  <bruno@clisp.org>
10436
10437         * gnulib-tool: New option --with-obsolete.
10438         (func_usage): Document it.
10439         (func_modules_transitive_closure): Drop obsolete dependencies if
10440         incobsolete is not true.
10441         (func_import): Read and save the incobsolete variable to the cache.
10442
10443 2008-11-02  Bruno Haible  <bruno@clisp.org>
10444
10445         * modules/TEMPLATE-EXTENDED: New field 'Status'.
10446         * gnulib-tool: New option --extract-status.
10447         (func_usage): Document it.
10448         (sed_extract_prog): Recognize it.
10449         (func_get_status): New function.
10450
10451 2008-10-30  Simon Josefsson  <simon@josefsson.org>
10452
10453         * modules/sockets (License): Change from LGPL to LGPLv2+.
10454
10455 2008-10-28  Simon Josefsson  <simon@josefsson.org>
10456
10457         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
10458
10459 2008-10-28  Simon Josefsson  <simon@josefsson.org>
10460
10461         * MODULES.html.sh (Support for systems lacking POSIX:2001):
10462         Mention times and sys_times.
10463         * modules/sys_times, modules/sys_times-tests: New modules.
10464         * modules/times, modules/times-tests: Likewise
10465         * m4/sys_times_h.m4: New file.
10466         * lib/sys_times.in.h: Likewise
10467         * lib/times.c: Likewise.
10468         * tests/test-sys_times.c: Likewise.
10469         * tests/test-times.c: Likewise.
10470         * doc/posix-headers/sys_times.texi: Update.
10471         * doc/posix-functions/times.texi: Update.
10472
10473 2008-10-28  Jim Meyering  <meyering@redhat.com>
10474
10475         * modules/tempname (Depends-on): Add lstat.
10476
10477         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
10478
10479 2008-10-28  Simon Josefsson  <simon@josefsson.org>
10480
10481         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
10482         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
10483         using idiom used elsewhere in gnulib.
10484
10485 2008-10-27  Jim Meyering  <meyering@redhat.com>
10486
10487         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
10488
10489 2008-10-27  Simon Josefsson  <simon@josefsson.org>
10490
10491         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
10492         TESTS_ENVIRONMENT, for shell scripts that needs to call built
10493         programs.
10494         * tests/test-argp-2.sh: Use $EXEEXT when needed.
10495
10496 2008-10-27  Simon Josefsson  <simon@josefsson.org>
10497
10498         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
10499
10500 2008-10-27  Bruno Haible  <bruno@clisp.org>
10501
10502         * tests/test-lstat.c: Include <stdio.h>.
10503
10504 2008-10-27  Simon Josefsson  <simon@josefsson.org>
10505
10506         * modules/lstat-tests: New module.
10507         * tests/test-lstat.c: New file.
10508
10509 2008-10-26  Jim Meyering  <meyering@redhat.com>
10510
10511         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
10512
10513 2008-10-26  Simon Josefsson  <simon@josefsson.org>
10514             Bruno Haible  <bruno@clisp.org>
10515
10516         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
10517         * modules/configmake (Include): Add a note that the include must come
10518         after all system headers.
10519         * lib/javaversion.c: Include configmake.h after all other includes.
10520
10521 2008-10-26  Bruno Haible  <bruno@clisp.org>
10522
10523         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
10524         HAVE_STRUCT_RANDOM_DATA to 1.
10525         (gl_STDLIB_H): Simplify.
10526
10527 2008-10-26  Simon Josefsson  <simon@josefsson.org>
10528
10529         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
10530         substitute HAVE_STRUCT_RANDOM_DATA.
10531         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
10532         random_data.
10533         * modules/stdlib (Makefile.am): Substitute
10534         HAVE_STRUCT_RANDOM_DATA.
10535
10536 2008-10-26  Simon Josefsson  <simon@josefsson.org>
10537
10538         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
10539         * doc/gnulib-intro.texi (Copyright): Likewise.
10540
10541 2008-10-26  Simon Josefsson  <simon@josefsson.org>
10542
10543         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
10544         findings.
10545
10546 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
10547             Bruno Haible  <bruno@clisp.org>
10548
10549         * lib/unistd.in.h: Include <winsock2.h>.
10550         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
10551         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
10552         Provide dummy declarations.
10553         (gethostname): Override.
10554         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
10555         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
10556         gl_PREREQ_SYS_H_WINSOCK2.
10557         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
10558         * doc/posix-functions/gethostname.texi: More details.
10559
10560 2008-10-25  Bruno Haible  <bruno@clisp.org>
10561
10562         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
10563         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
10564         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
10565
10566         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
10567         here ...
10568         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
10569         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
10570         gl_UNISTD_H_DEFAULTS.
10571
10572 2008-10-25  Eric Blake  <ebb9@byu.net>
10573
10574         signbit: avoid spurious compiler failure
10575         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
10576         declarations inside function.
10577
10578 2008-10-24  Simon Josefsson  <simon@josefsson.org>
10579             Bruno Haible  <bruno@clisp.org>
10580
10581         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
10582         * modules/random_r (Depends-on): Add stdint.
10583
10584 2008-10-24  Bruno Haible  <bruno@clisp.org>
10585
10586         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
10587         Eggert.
10588         * modules/strerror (License): Likewise.
10589
10590 2008-10-24  Jim Meyering  <meyering@redhat.com>
10591
10592         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
10593         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
10594
10595 2008-10-24  Eric Blake  <ebb9@byu.net>
10596
10597         getgroups: fix compilation when getgroups is available
10598         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
10599         but with <config.h> override of getgroups disabled.
10600
10601 2008-10-24  Simon Josefsson  <simon@josefsson.org>
10602
10603         * doc/gnulib.texi (Header files): Add note about C++ problems.
10604         Explained by Bruno Haible <bruno@clisp.org>.
10605
10606 2008-10-23  Bruno Haible  <bruno@clisp.org>
10607
10608         Define a dummy SA_NODEFER macro on Interix.
10609         * lib/signal.in.h (SA_NODEFER): Define fallback.
10610         Reported by Aleksey Cheusov <cheusov@tut.by> via
10611         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
10612
10613 2008-10-23  Bruno Haible  <bruno@clisp.org>
10614
10615         * modules/freadahead (License): Change to LGPLv2+.
10616         Suggested by Simon Josefsson.
10617
10618 2008-10-23  Jim Meyering  <meyering@redhat.com>
10619
10620         random_r: new module
10621         * modules/random_r: New file.
10622         * m4/random_r.m4: New file.
10623         * lib/random_r.c: New file, from glibc.
10624         * modules/random_r-tests: New file.
10625         * tests/test-random_r.c: New file.
10626         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
10627          Declare.
10628         (RAND_MAX): Define.
10629         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
10630         * modules/stdlib: Substitute them, too.
10631         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
10632         * doc/glibc-functions/initstate_r.texi: Mention the new module.
10633         * doc/glibc-functions/random_r.texi: Likewise.
10634         * doc/glibc-functions/setstate_r.texi: Likewise.
10635         * doc/glibc-functions/srandom_r.texi: Likewise.
10636         * config/srclist.txt: Mention it.
10637
10638 2008-10-23  David Lutterkort  <lutter@redhat.com>
10639
10640         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
10641         link requirement
10642
10643 2008-10-23  Jim Meyering  <meyering@redhat.com>
10644
10645         selinux-h: mark parameters of stub functions as intentionally unused
10646         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
10647         * lib/se-context.in.h: Likewise.
10648
10649 2008-10-22  Simon Josefsson  <simon@josefsson.org>
10650
10651         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
10652
10653 2008-10-22  Simon Josefsson  <simon@josefsson.org>
10654
10655         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
10656
10657 2008-10-22  Eric Blake  <ebb9@byu.net>
10658
10659         glthread/thread: avoid compiler warning
10660         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
10661         Add unreachable abort to silence compiler.
10662
10663 2008-10-22  Eric Blake  <ebb9@byu.net>
10664
10665         netdb: also supply struct addrinfo for cygwin 1.5.x
10666         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
10667         older cygwin.
10668         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
10669         cygwin.
10670         * doc/posix-headers/netdb.texi (netdb.h): Document this.
10671
10672 2008-10-22  Bruno Haible  <bruno@clisp.org>
10673
10674         * users.txt: Update entry about pspp.
10675
10676 2008-10-21  Bruno Haible  <bruno@clisp.org>
10677
10678         Simplification.
10679         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
10680         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
10681
10682         Simplification.
10683         * lib/ioctl.c (ioctl): Don't undefine.
10684         * lib/socket.c (socket): Don't undefine.
10685
10686         Remove unused module indicator macros.
10687         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
10688         GNULIB_$1 as a C macro.
10689
10690         * doc/posix-functions/close.texi: Undo last change.
10691         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
10692         Windows platforms.
10693
10694 2008-10-21  Bruno Haible  <bruno@clisp.org>
10695
10696         Add gethostname() declaration to <unistd.h>.
10697         * lib/unistd.in.h (gethostname): New declaration.
10698         * lib/gethostname.c: Include <unistd.h>.
10699         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
10700         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
10701         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
10702         and HAVE_GETHOSTNAME.
10703         * modules/gethostname (Depends-on): Add unistd.
10704         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10705         (Include): Specify <unistd.h>.
10706         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
10707         HAVE_GETHOSTNAME.
10708         * tests/test-gethostname.c: Include <unistd.h> first.
10709
10710 2008-10-21  Bruno Haible  <bruno@clisp.org>
10711
10712         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
10713         * modules/select-tests (Depends-on): Likewise.
10714         Reported by Simon Josefsson.
10715
10716 2008-10-21  Simon Josefsson  <simon@josefsson.org>
10717
10718         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
10719         * lib/accept.c: New file, based on winsock.c.
10720         * lib/bind.c: New file, based on winsock.c.
10721         * lib/connect.c: New file, based on winsock.c.
10722         * lib/getpeername.c: New file, based on winsock.c.
10723         * lib/getsockname.c: New file, based on winsock.c.
10724         * lib/getsockopt.c: New file, based on winsock.c.
10725         * lib/ioctl.c: New file, based on winsock.c.
10726         * lib/listen.c: New file, based on winsock.c.
10727         * lib/recv.c: New file, based on winsock.c.
10728         * lib/recvfrom.c: New file, based on winsock.c.
10729         * lib/send.c: New file, based on winsock.c.
10730         * lib/sendto.c: New file, based on winsock.c.
10731         * lib/setsockopt.c: New file, based on winsock.c.
10732         * lib/shutdown.c: New file, based on winsock.c.
10733         * lib/socket.c: New file, based on winsock.c.
10734         * lib/w32sock.h: New file, based on winsock.c.
10735         * lib/winsock.c: Remove file.
10736         * modules/accept: Likewise.
10737         * modules/bind: Likewise.
10738         * modules/connect: Likewise.
10739         * modules/getpeername: Likewise.
10740         * modules/getsockname: Likewise.
10741         * modules/getsockopt: Likewise.
10742         * modules/ioctl: Likewise.
10743         * modules/listen: Likewise.
10744         * modules/recv: Likewise.
10745         * modules/recvfrom: Likewise.
10746         * modules/send: Likewise.
10747         * modules/sendto: Likewise.
10748         * modules/setsockopt: Likewise.
10749         * modules/shutdown: Likewise.
10750         * modules/socket: Use socket.c instead of winsock.c.
10751         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
10752         * doc/posix-functions/accept.texi: Doc fix.
10753         * doc/posix-functions/bind.texi: Doc fix.
10754         * doc/posix-functions/close.texi: Doc fix.
10755         * doc/posix-functions/connect.texi: Doc fix.
10756         * doc/posix-functions/getpeername.texi: Doc fix.
10757         * doc/posix-functions/getsockname.texi: Doc fix.
10758         * doc/posix-functions/getsockopt.texi: Doc fix.
10759         * doc/posix-functions/ioctl.texi: Doc fix.
10760         * doc/posix-functions/listen.texi: Doc fix.
10761         * doc/posix-functions/recv.texi: Doc fix.
10762         * doc/posix-functions/recvfrom.texi: Doc fix.
10763         * doc/posix-functions/send.texi: Doc fix.
10764         * doc/posix-functions/sendto.texi: Doc fix.
10765         * doc/posix-functions/setsockopt.texi: Doc fix.
10766         * doc/posix-functions/shutdown.texi: Doc fix.
10767         * doc/posix-functions/socket.texi: Doc fix.
10768
10769 2008-10-20  Bruno Haible  <bruno@clisp.org>
10770
10771         Take into account the role of SIGABRT_COMPAT on Windows 2008.
10772         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
10773         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
10774         as an alias for SIGABRT.
10775         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
10776         (sigaction): Map it to SIGABRT.
10777         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
10778
10779 2008-10-20  Bruno Haible  <bruno@clisp.org>
10780
10781         * lib/fts.c: Don't include lstat.h.
10782         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
10783
10784         Move the lstat() declaration to <sys/stat.h>.
10785         * lib/lstat.h: Remove file.
10786         * lib/sys_stat.in.h: Add special invocation convention.
10787         (lstat): New declaration.
10788         * lib/lstat.c (orig_lstat): New function.
10789         (rpl_lstat): Use orig_lstat instead of lstat.
10790         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
10791         AC_C_INLINE. Set REPLACE_LSTAT.
10792         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
10793         and REPLACE_LSTAT.
10794         * modules/lstat (Files): Remove lib/lstat.h.
10795         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
10796         (Include): Specify <sys/stat.h> instead of lstat.h.
10797         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
10798         REPLACE_LSTAT.
10799         * NEWS: Mention the change.
10800
10801 2008-10-20  Bruno Haible  <bruno@clisp.org>
10802
10803         * modules/posix_spawn-tests: New file.
10804         * tests/test-posix_spawn3.c: New file.
10805
10806 2008-10-20  Bruno Haible  <bruno@clisp.org>
10807
10808         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
10809         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
10810         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
10811         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
10812         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
10813
10814 2008-10-20  Bruno Haible  <bruno@clisp.org>
10815
10816         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
10817         of posix_spawn on AIX 5.3.
10818
10819 2008-10-20  Bruno Haible  <bruno@clisp.org>
10820
10821         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
10822
10823 2008-10-20  Bruno Haible  <bruno@clisp.org>
10824
10825         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
10826         of AC_LANG_PROGRAM.
10827
10828 2008-10-20  Simon Josefsson  <simon@josefsson.org>
10829
10830         * lib/netdb.in.h: Don't define GNU specific constants until they
10831         are supported or needed.  Reported by Bruno Haible
10832         <bruno@clisp.org>.
10833
10834 2008-10-20  Simon Josefsson  <simon@josefsson.org>
10835
10836         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
10837
10838 2008-10-20  Simon Josefsson  <simon@josefsson.org>
10839
10840         * lib/getaddrinfo.h: Remove file.
10841         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
10842         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
10843         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
10844         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
10845         * modules/netdb: Substitute GNULIB_GETADDRINFO.
10846         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
10847         * tests/test-getaddrinfo.c: Likewise.
10848         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
10849         * NEWS: Mention change.
10850
10851 2008-10-19  Bruno Haible  <bruno@clisp.org>
10852
10853         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
10854
10855 2008-10-19  Bruno Haible  <bruno@clisp.org>
10856
10857         * lib/wait-process.c: Include simply <sys/wait.h>.
10858         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
10859         WIFSTOPPED): Remove fallback definitions.
10860         * modules/wait-process (Depends-on): Add sys_wait.
10861
10862         New module 'sys_wait'.
10863         * modules/sys_wait: New file.
10864         * lib/sys_wait.in.h: New file, partially copied from
10865         lib/wait-process.c.
10866         * m4/sys_wait_h.m4: New file.
10867         * doc/posix-headers/sys_wait.texi: Mention the new module.
10868
10869 2008-10-19  Bruno Haible  <bruno@clisp.org>
10870
10871         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
10872
10873 2008-10-19  Bruno Haible  <bruno@clisp.org>
10874
10875         Assume that waitpid() fills an 'int' status, not a 'union wait'.
10876         * lib/wait-process.c (WAIT_T): Remove type.
10877         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
10878         (wait_subprocess): Update.
10879
10880 2008-10-19  Bruno Haible  <bruno@clisp.org>
10881
10882         New module 'atoll'.
10883         * modules/atoll: New file.
10884         * lib/stdlib.in.h (atoll): New declaration.
10885         * lib/atoll.c: New file, from glibc with modifications.
10886         * m4/atoll.m4: New file.
10887         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
10888         HAVE_ATOLL.
10889         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
10890         * doc/posix-functions/atoll.texi: Mention the new module.
10891
10892 2008-10-19  Bruno Haible  <bruno@clisp.org>
10893
10894         Add strtoull() declaration to <stdlib.h>.
10895         * lib/stdlib.in.h (strtoull): New declaration.
10896         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
10897         Set HAVE_STRTOULL.
10898         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
10899         HAVE_STRTOULL.
10900         * modules/strtoull (Depends-on): Add stdlib.
10901         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
10902         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
10903         HAVE_STRTOULL.
10904
10905 2008-10-19  Bruno Haible  <bruno@clisp.org>
10906
10907         Add strtoll() declaration to <stdlib.h>.
10908         * lib/stdlib.in.h (strtoll): New declaration.
10909         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
10910         Set HAVE_STRTOLL.
10911         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
10912         HAVE_STRTOLL.
10913         * modules/strtoll (Depends-on): Add stdlib.
10914         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
10915         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
10916
10917 2008-10-19  Bruno Haible  <bruno@clisp.org>
10918
10919         * modules/bcopy (Depends-on): Add strings.
10920         (Include): Specify <strings.h>.
10921
10922 2008-10-19  Bruno Haible  <bruno@clisp.org>
10923
10924         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
10925
10926 2008-10-19  Bruno Haible  <bruno@clisp.org>
10927
10928         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
10929         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
10930         mingw.
10931
10932 2008-10-19  Bruno Haible  <bruno@clisp.org>
10933
10934         * lib/atanl.c: Don't include isnanl.h.
10935         * lib/cosl.c: Likewise.
10936         * lib/ldexpl.c: Likewise.
10937         * lib/logl.c: Likewise.
10938         * lib/sinl.c: Likewise.
10939         * lib/sqrtl.c: Likewise.
10940         * lib/tanl.c: Likewise.
10941
10942         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
10943         * lib/isnanf.h: Remove file.
10944         * lib/isnand.h: Remove file.
10945         * lib/isnanl.h: Remove file.
10946         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
10947         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
10948         macros.
10949         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
10950         HAVE_ISNANF, don't define it as a C macro.
10951         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
10952         HAVE_ISNAND, don't define it as a C macro.
10953         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
10954         HAVE_ISNANL, don't define it as a C macro.
10955         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
10956         HAVE_ISNAN[FDL].
10957         * modules/isnanf (Files): Remove lib/isnanf.h.
10958         (Depends-on): Add math.
10959         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
10960         (Include): Specify <math.h> instead of isnanf.h.
10961         * modules/isnand (Files): Remove lib/isnand.h.
10962         (Depends-on): Add math.
10963         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
10964         (Include): Specify <math.h> instead of isnand.h.
10965         * modules/isnanl (Files): Remove lib/isnanl.h.
10966         (Depends-on): Add math.
10967         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
10968         (Include): Specify <math.h> instead of isnanl.h.
10969         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
10970         HAVE_ISNAN[FDL].
10971         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
10972         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
10973         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
10974         * NEWS: Mention the change.
10975
10976 2008-10-18  Bruno Haible  <bruno@clisp.org>
10977
10978         Add getusershell(), setusershell(), endusershell() declarations to
10979         <unistd.h>.
10980         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
10981         declarations.
10982         * lib/getusershell.c: Include unistd.h.
10983         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
10984         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
10985         HAVE_GETUSERSHELL.
10986         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
10987         and HAVE_GETUSERSHELL.
10988         * modules/getusershell (Depends-on): Add unistd, extensions.
10989         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10990         (Include): Specify <unistd.h>.
10991         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
10992         HAVE_GETUSERSHELL.
10993
10994 2008-10-18  Bruno Haible  <bruno@clisp.org>
10995
10996         Add a getloadavg() declaration to <stdlib.h>.
10997         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
10998         getloadavg declaration.
10999         (getloadavg): New declaration.
11000         * lib/getloadavg.c: Include <stdlib.h> first.
11001         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
11002         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
11003         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
11004         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
11005         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
11006         * modules/getloadavg (Depends-on): Add stdlib, extensions.
11007         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
11008         (Include): Specify <stdlib.h>.
11009         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
11010         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
11011
11012 2008-10-18  Bruno Haible  <bruno@clisp.org>
11013
11014         * lib/dirchownmod.c: Don't include lchmod.h.
11015
11016         Move the lchmod() declaration to <sys/stat.h>.
11017         * lib/lchmod.h: Remove file.
11018         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
11019         (lchmod): New declaration, moved here from lib/lchown.h.
11020         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
11021         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
11022         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
11023         and HAVE_LCHMOD.
11024         * modules/lchmod (Files): Remove lib/lchmod.h.
11025         (Depends-on): Add sys_stat, extensions.
11026         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
11027         (Include): Specify <sys/stat.h> instead of lchmod.h.
11028         * modules/sys_stat (Depends-on): Add link-warning.
11029         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
11030         definition of GL_LINK_WARNING.
11031         * NEWS: Mention the change.
11032
11033 2008-10-18  Bruno Haible  <bruno@clisp.org>
11034
11035         * lib/fchdir.c: Don't include dirfd.h.
11036         * lib/fts.c: Likewise.
11037         * lib/getcwd.c: Likewise.
11038         * lib/glob.c: Likewise.
11039
11040         Move the dirfd() declaration to <dirent.h>.
11041         * lib/dirfd.h: Remove file.
11042         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
11043         (dirfd): New declaration.
11044         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
11045         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
11046         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
11047         HAVE_DECL_DIRFD.
11048         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
11049         HAVE_DECL_DIRFD.
11050         * modules/dirfd (Files): Remove lib/dirfd.h.
11051         (Depends-on): Add dirent, extensions.
11052         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
11053         (Include): Specify <dirent.h> instead of dirfd.h.
11054         * modules/dirent (Depends-on): Add link-warning.
11055         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
11056         definition of GL_LINK_WARNING.
11057         * NEWS: Mention the change.
11058
11059 2008-10-18  Bruno Haible  <bruno@clisp.org>
11060
11061         Move the euidaccess() declaration to <unistd.h>.
11062         * lib/euidaccess.h: Remove file.
11063         * lib/unistd.in.h (euidaccess): New declaration.
11064         * lib/euidaccess.c: Don't include euidaccess.h.
11065         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
11066         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
11067         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
11068         and HAVE_EUIDACCESS.
11069         * modules/euidaccess (Files): Remove lib/euidaccess.h.
11070         (Depends-on): Add unistd.
11071         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
11072         (Include): Specify <unistd.h> instead of euidaccess.h.
11073         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
11074         HAVE_EUIDACCESS.
11075         * NEWS: Mention the change.
11076
11077 2008-10-18  Bruno Haible  <bruno@clisp.org>
11078
11079         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
11080
11081         Move the getdomainname() declaration to <unistd.h>.
11082         * lib/getdomainname.h: Remove file.
11083         * lib/unistd.in.h (getdomainname): New declaration.
11084         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
11085         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
11086         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
11087         HAVE_GETDOMAINNAME.
11088         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11089         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
11090         * modules/getdomainname (Files): Remove lib/getdomainname.h.
11091         (Depends-on): Add unistd, extensions.
11092         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
11093         (Includes): Specify <unistd.h> instead of getdomainname.h.
11094         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
11095         HAVE_GETDOMAINNAME.
11096         * NEWS: Mention the change.
11097
11098 2008-10-18  Bruno Haible  <bruno@clisp.org>
11099
11100         * modules/dirent: New file.
11101         * m4/dirent_h.m4: New file.
11102         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
11103         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
11104         * modules/fchdir (Files): Remove lib/dirent.in.h.
11105         (Depends-on): Add dirent.
11106         (Makefile.am): Move rules to modules/dirent.
11107         * doc/posix-headers/dirent.texi: Mention the new module.
11108
11109 2008-10-18  Bruno Haible  <bruno@clisp.org>
11110
11111         Avoid -Wunused-parameter warnings in public gnulib header files.
11112         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
11113         macro.
11114         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
11115
11116 2008-10-18  Bruno Haible  <bruno@clisp.org>
11117
11118         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
11119         * doc/glibc-functions/error.texi: Mention the module 'error'.
11120         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
11121         * doc/glibc-functions/getdomainname.texi: Mention the module
11122         'getdomainname'.
11123         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
11124         * doc/glibc-functions/getpagesize.texi: Mention the module
11125         'getpagesize'.
11126         * doc/glibc-functions/getusershell.texi: Mention the module
11127         'getusershell'.
11128         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
11129         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
11130         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
11131         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
11132         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
11133         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
11134         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
11135         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
11136         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
11137         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
11138         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
11139         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
11140         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
11141         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
11142
11143 2008-10-17  Bruno Haible  <bruno@clisp.org>
11144
11145         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
11146         HP-UX and IRIX, use -0.0L.
11147         * tests/test-ceill.c (minus_zero): Likewise.
11148         * tests/test-floorl.c (minus_zero): Likewise.
11149         * tests/test-frexpl.c (minus_zero): Likewise.
11150         * tests/test-isnan.c (minus_zerol): Likewise.
11151         * tests/test-isnanl.h (minus_zero): Likewise.
11152         * tests/test-ldexpl.c (minus_zero): Likewise.
11153         * tests/test-roundl.c (minus_zero): Likewise.
11154         * tests/test-signbit.c (minus_zerol): Likewise.
11155         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
11156         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
11157         * tests/test-truncl.c (minus_zero): Likewise.
11158         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
11159         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
11160         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
11161         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
11162
11163 2008-10-17  Bruno Haible  <bruno@clisp.org>
11164
11165         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
11166         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
11167         that it gets activated only for gcc >= 3.0.
11168         * lib/dirent.in.h: Likewise.
11169         * lib/errno.in.h: Likewise.
11170         * lib/fcntl.in.h: Likewise.
11171         * lib/float.in.h: Likewise.
11172         * lib/iconv.in.h: Likewise.
11173         * lib/inttypes.in.h: Likewise.
11174         * lib/locale.in.h: Likewise.
11175         * lib/math.in.h: Likewise.
11176         * lib/netdb.in.h: Likewise.
11177         * lib/netinet_in.in.h: Likewise.
11178         * lib/search.in.h: Likewise.
11179         * lib/signal.in.h: Likewise.
11180         * lib/spawn.in.h: Likewise.
11181         * lib/stdarg.in.h: Likewise.
11182         * lib/stdint.in.h: Likewise.
11183         * lib/stdio.in.h: Likewise.
11184         * lib/stdlib.in.h: Likewise.
11185         * lib/string.in.h: Likewise.
11186         * lib/strings.in.h: Likewise.
11187         * lib/sys_file.in.h: Likewise.
11188         * lib/sys_ioctl.in.h: Likewise.
11189         * lib/sys_select.in.h: Likewise.
11190         * lib/sys_socket.in.h: Likewise.
11191         * lib/sys_stat.in.h: Likewise.
11192         * lib/sys_time.in.h: Likewise.
11193         * lib/sysexits.in.h: Likewise.
11194         * lib/time.in.h: Likewise.
11195         * lib/unistd.in.h: Likewise.
11196         * lib/wchar.in.h: Likewise.
11197         * lib/wctype.in.h: Likewise.
11198         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
11199
11200 2008-10-17  Jim Meyering  <meyering@redhat.com>
11201
11202         ignore-value: don't depend on inline module
11203         * modules/ignore-value (Depends-on): Remove 'inline'.
11204         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
11205         Suggestion from Bruno Haible.
11206
11207 2008-10-17  Bruno Haible  <bruno@clisp.org>
11208
11209         New implementation of condition variables for Win32.
11210         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
11211         (gl_linked_waitqueue_t): New type.
11212         (gl_cond_t): Use it.
11213         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
11214         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
11215         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
11216         (glthread_cond_init_func, glthread_cond_wait_func,
11217         glthread_cond_timedwait_func, glthread_cond_signal_func,
11218         glthread_cond_broadcast_func, glthread_cond_destroy_func):
11219         Reimplemented on the basis of gl_linked_waitqueue_t.
11220         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
11221         gl_waitqueue_t.
11222         (gl_rwlock_t): Update.
11223         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
11224
11225 2008-10-17  Simon Josefsson  <simon@josefsson.org>
11226
11227         * modules/recvfrom (Depends-on): Add dependency on getpeername.
11228         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
11229
11230 2008-10-17  Jim Meyering  <meyering@redhat.com>
11231
11232         ignore-value: new module
11233         * modules/ignore-value: New file.
11234         * lib/ignore-value.h: New file.
11235         * MODULES.html.sh (Compiler warning management): New section,
11236         just for this module.  More to come.
11237
11238 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
11239
11240         open-safer.c: avoid 'signed and unsigned in conditional...' warning
11241         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
11242         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
11243
11244 2008-10-16  Jim Meyering  <meyering@redhat.com>
11245
11246         openat-die.c: avoid 'no previous prototype' warning
11247         * lib/openat-die.c: Include "openat.h".
11248         Reported by Reuben Thomas <rrt@sc3d.org>.
11249
11250 2008-10-16  Simon Josefsson  <simon@josefsson.org>
11251
11252         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
11253         * lib/netdb.in.h: Fix typo.
11254         Reported by Bruno Haible  <bruno@clisp.org>
11255
11256         * lib/netdb.in.h: Include sys/socket.h for platforms without
11257         netdb.h, to get structures like hostent on MinGW.
11258         * modules/netdb (Depends-on): Add sys_socket.
11259
11260 2008-10-15  Simon Josefsson  <simon@josefsson.org>
11261
11262         * modules/netdb, modules/netdb-tests: New file.
11263         * m4/netdb_h.m4: New file.
11264         * lib/netdb.in.h: Add, currently just an empty file pending
11265         definitions.
11266         * tests/test-netdb.c: New file.
11267         * doc/posix-headers/netdb.texi: Mention that we replace it if
11268         needed.
11269         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
11270         netdb.
11271
11272 2008-10-15  Simon Josefsson  <simon@josefsson.org>
11273
11274         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
11275         with code.
11276
11277 2008-10-13  Bruno Haible  <bruno@clisp.org>
11278
11279         * lib/glthread/cond.c (glthread_cond_wait_func,
11280         glthread_cond_timedwait_func): Add a comment.
11281
11282 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
11283
11284         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
11285         * tests/test-select.c: Likewise,
11286
11287 2008-10-13  Bruno Haible  <bruno@clisp.org>
11288
11289         * lib/glthread/cond.c (glthread_cond_wait_func,
11290         glthread_cond_timedwait_func): Fix variable name.
11291         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
11292
11293 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
11294
11295         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
11296         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
11297         struct sockaddr.sa_len.
11298         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
11299
11300 2008-10-13  Simon Josefsson  <simon@josefsson.org>
11301
11302         * build-aux/pmccabe2html: Add css and css_url parameters.
11303
11304 2008-10-12  Bruno Haible  <bruno@clisp.org>
11305
11306         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
11307         calling aclx_get.
11308         Reported by Rainer Tammer <tammer@tammer.net>.
11309
11310 2008-10-12  Bruno Haible  <bruno@clisp.org>
11311
11312         Use msvcrt aware primitives for creation/termination of Win32 threads.
11313         * lib/glthread/thread.c: Include <process.h>.
11314         (glthread_create_func): Use _beginthreadex instead of CreateThread.
11315         (wrapper_func): Update signature.
11316         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
11317
11318 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
11319             Bruno Haible  <bruno@clisp.org>
11320
11321         Provide a Win32 implementation of the 'cond' module.
11322         * lib/glthread/cond.h [USE_WIN32]: New implementation.
11323         * lib/glthread/cond.c (glthread_cond_init_func,
11324         glthread_cond_wait_func, glthread_cond_timedwait_func,
11325         glthread_cond_signal_func, glthread_cond_broadcast_func,
11326         glthread_cond_destroy_func) [USE_WIN32]: New functions.
11327         * modules/cond (Dependencies): Add gettimeofday.
11328
11329 2008-10-11  Bruno Haible  <bruno@clisp.org>
11330
11331         Make sleep work on older versions of mingw.
11332         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
11333         only whether it exists.
11334         * doc/posix-functions/sleep.texi: Mention the problem with older
11335         versions of mingw.
11336
11337 2008-10-11  Bruno Haible  <bruno@clisp.org>
11338
11339         New module 'shutdown'.
11340         * modules/shutdown: New file.
11341         * lib/sys_socket.in.h (shutdown): New declaration.
11342         * lib/winsock.c (shutdown): New function.
11343         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
11344         GNULIB_SHUTDOWN.
11345         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
11346         * doc/posix-functions/shutdown.texi: Document the new module.
11347
11348 2008-10-11  Jim Meyering  <meyering@redhat.com>
11349
11350         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
11351
11352 2008-10-11  Bruno Haible  <bruno@clisp.org>
11353
11354         New module 'fclose'.
11355         * modules/fclose: New file.
11356         * lib/stdio.in.h (fclose): New declaration.
11357         * lib/fclose.c: New file.
11358         * m4/fclose.m4: New file.
11359         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
11360         REPLACE_FCLOSE.
11361         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
11362         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
11363         REPLACE_FCLOSE.
11364         * modules/close (Depends-on): fclose.
11365         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
11366
11367 2008-10-11  Bruno Haible  <bruno@clisp.org>
11368
11369         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
11370         set errno and don't call _close.
11371
11372 2008-10-10  Bruno Haible  <bruno@clisp.org>
11373
11374         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
11375         ACL, not afterwards. Fixes test failure on Cygwin.
11376
11377 2008-10-09  Ben Pfaff  <blp@gnu.org>
11378
11379         * build-aux/announce-gen: Fix gnulib version related part of usage
11380         message.  Die with a useful error message if no tarballs are
11381         found.
11382
11383 2008-10-10  Jim Meyering  <meyering@redhat.com>
11384
11385         bootstrap: use git's --depth=N option only if it's supported
11386         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
11387         recognize the --depth option.  Reported by Pádraig Brady.
11388
11389 2008-10-09  Bruno Haible  <bruno@clisp.org>
11390
11391         New module 'ioctl'.
11392         * modules/ioctl: New file.
11393         * lib/sys_socket.in.h (ioctl): Remove declaration.
11394         * lib/winsock.c: Include <sys/ioctl.h>.
11395         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
11396         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
11397         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
11398         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
11399         * doc/posix-functions/ioctl.texi: Mention the new module.
11400
11401 2008-10-09  Bruno Haible  <bruno@clisp.org>
11402
11403         New module 'sys_ioctl'.
11404         * lib/sys_ioctl.in.h: New file.
11405         * m4/sys_ioctl_h.m4: New file.
11406         * modules/sys_ioctl: New file.
11407         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
11408
11409 2008-10-09  Bruno Haible  <bruno@clisp.org>
11410
11411         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
11412         * lib/winsock.c: Include <stdarg.h>.
11413         (rpl_ioctl): Change to second argument 'int' and then varargs.
11414
11415 2008-10-09  Bruno Haible  <bruno@clisp.org>
11416
11417         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
11418         when the sys_socket module is present and the system has <winsock2.h>.
11419
11420 2008-10-09  Bruno Haible  <bruno@clisp.org>
11421
11422         * doc/posix-functions/close.texi: Mention module 'close' instead of
11423         module 'sys_socket'.
11424
11425 2008-10-09  Bruno Haible  <bruno@clisp.org>
11426
11427         * doc/glibc-headers/sys_ioctl.texi: New file.
11428         * doc/gnulib.texi: Include it.
11429
11430 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
11431             Bruno Haible  <bruno@clisp.org>
11432
11433         Combine the two replacements of 'close'.
11434         * lib/sys_socket.in.h (close): Define to a reminder to include
11435         <unistd.h>.
11436         (_gl_close_fd_maybe_socket): New declaration.
11437         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
11438         * lib/winsock.c (close): Remove undefinition.
11439         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
11440         needed for the gnulib module 'close'.
11441         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
11442         define to an error symbol or to a warning, if suitable.
11443         * lib/close.c: Include <sys/socket.h>.
11444         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
11445         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
11446         UNISTD_H_HAVE_WINSOCK2_H.
11447         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
11448         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11449         UNISTD_H_HAVE_WINSOCK2_H.
11450         * modules/sys_socket (Files): Add m4/unistd_h.m4.
11451         (configure.ac): Set a module indicator.
11452         (Makefile.am): Substitute GNULIB_CLOSE.
11453         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
11454         * modules/poll-tests (Depends-on): Add close.
11455         * modules/select-tests (Depends-on): Likewise.
11456
11457 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
11458             Bruno Haible  <bruno@clisp.org>
11459
11460         New module 'close'.
11461         * modules/close: New file.
11462         * lib/unistd.in.h (close): Move declaration out of the
11463         FCHDIR_REPLACEMENT scope.
11464         (_gl_unregister_fd): New declaration.
11465         * lib/close.c: New file.
11466         * lib/fchdir.c (rpl_close): Remove function.
11467         * m4/close.m4: New file.
11468         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
11469         close.
11470         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
11471         REPLACE_CLOSE.
11472         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
11473         REPLACE_CLOSE.
11474         * modules/fchdir (Depends-on): Add close.
11475
11476 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
11477             Bruno Haible  <bruno@clisp.org>
11478
11479         * lib/fcntl.in.h (open): Simplify conditionals.
11480         (_gl_register_fd): New declaration.
11481         * lib/fchdir.c (rpl_open): Remove function.
11482         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
11483         also.
11484         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
11485         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
11486         open.
11487
11488 2008-10-09  Jim Meyering  <meyering@redhat.com>
11489
11490         GNUmakefile: use the more name-space-friendly "_version"
11491         * top/GNUmakefile (_dummy): Update.
11492         (_version): Rename from "version".
11493
11494 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
11495             Bruno Haible  <bruno@clisp.org>
11496
11497         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
11498         rpl_close.
11499         (_gl_register_fd): New function, extracted from rpl_open.
11500         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
11501         (rpl_open, rpl_opendir): Use _gl_register_fd.
11502
11503 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
11504
11505         Fix organization of 'open' replacement.
11506         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
11507         (gl_FUNC_OPEN): Use it.
11508         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
11509
11510 2008-10-08  Bruno Haible  <bruno@clisp.org>
11511
11512         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
11513
11514 2008-10-08  Simon Josefsson  <simon@josefsson.org>
11515
11516         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
11517         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
11518         listen).
11519
11520 2008-10-08  Eric Blake  <ebb9@byu.net>
11521
11522         GNUmakefile: add 'make version' target
11523         * top/GNUmakefile (_curr-ver): Split version update rules...
11524         (version): ...into a target.
11525
11526 2008-10-07  Bruno Haible  <bruno@clisp.org>
11527
11528         Use a more portable replacement expression for -0.0L.
11529         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
11530         instead of -0.0L. Fix m4 quotation.
11531
11532         * tests/test-signbit.c: Include <float.h>.
11533         (minus_zero): New variable.
11534         (test_signbitl): Use minus_zero instead of -zero.
11535         * modules/signbit-tests (Depends-on): Add float.
11536
11537         * tests/test-ceill.c: Include <float.h>.
11538         (zero): Remove variable.
11539         (minus_zero): New variable.
11540         (main): Use minus_zero instead of -zero.
11541         * modules/ceill-tests (Depends-on): Add float.
11542
11543         * tests/test-floorl.c: Include <float.h>.
11544         (zero): Remove variable.
11545         (minus_zero): New variable.
11546         (main): Use minus_zero instead of -zero.
11547         * modules/floorl-tests (Depends-on): Add float.
11548
11549         * tests/test-roundl.c: Include <float.h>.
11550         (zero): Remove variable.
11551         (minus_zero): New variable.
11552         (main): Use minus_zero instead of -zero.
11553         * modules/roundl-tests (Depends-on): Add float.
11554
11555         * tests/test-truncl.c: Include <float.h>.
11556         (zero): Remove variable.
11557         (minus_zero): New variable.
11558         (main): Use minus_zero instead of -zero.
11559         * modules/truncl-tests (Depends-on): Add float.
11560
11561         * tests/test-frexpl.c (zero): Remove variable.
11562         (minus_zero): New variable.
11563         (main): Use minus_zero instead of -zero.
11564         * modules/frexpl-tests (Depends-on): Add float.
11565
11566         * tests/test-isnan.c (zerol): Remove variable.
11567         (minus_zerol): New variable.
11568         (test_long_double): Use minus_zerol instead of -zerol.
11569         * modules/isnan-tests (Depends-on): Add float.
11570
11571         * tests/test-isnanl.h (zero): Remove variable.
11572         (minus_zero): New variable.
11573         (main): Use minus_zero instead of -zero.
11574         * modules/isnanl-nolibm-tests (Depends-on): Add float.
11575         * modules/isnanl-tests (Depends-on): Add float.
11576
11577         * tests/test-ldexpl.c (zero): Remove variable.
11578         (minus_zero): New variable.
11579         (main): Use minus_zero instead of -zero.
11580         * modules/ldexpl-tests (Depends-on): Add float.
11581
11582         * tests/test-snprintf-posix.h (zerol): Remove variable.
11583         (minus_zerol): New variable.
11584         (test_function): Use minus_zerol instead of -zerol.
11585         * modules/snprintf-posix-tests (Depends-on): Add float.
11586         * modules/vsnprintf-posix-tests (Depends-on): Add float.
11587
11588         * tests/test-sprintf-posix.h (zerol): Remove variable.
11589         (minus_zerol): New variable.
11590         (test_function): Use minus_zerol instead of -zerol.
11591         * modules/sprintf-posix-tests (Depends-on): Add float.
11592         * modules/vsprintf-posix-tests (Depends-on): Add float.
11593
11594         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
11595         (minus_zerol): New variable.
11596         (test_function): Use minus_zerol instead of -zerol.
11597         * modules/vasnprintf-posix-tests (Depends-on): Add float.
11598
11599         * tests/test-vasprintf-posix.c (zerol): Remove variable.
11600         (minus_zerol): New variable.
11601         (test_function): Use minus_zerol instead of -zerol.
11602         * modules/vasprintf-posix-tests (Depends-on): Add float.
11603
11604 2008-10-07  Simon Josefsson  <simon@josefsson.org>
11605
11606         * MODULES.html.sh (Support for building documentation): Mention
11607         pmccabe2html.  Sort entries.
11608
11609         Add pmccabe2html module, from gnupdf.
11610         * build-aux/pmccabe.css: New file.
11611         * build-aux/pmccabe2html: New file.
11612         * m4/pmccabe2html.m4: New file.
11613         * modules/pmccabe2html: New file.
11614
11615 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
11616
11617         flock: new module
11618         * MODULES.html.sh: Add to list of modules.
11619         * lib/flock.c: flock implementation for Windows and Unix systems
11620         which have fcntl.
11621         * doc/glibc-functions/flock.texi: Update documentation.
11622         * lib/sys_file.in.h: <sys/file.h> header file.
11623         * m4/flock.m4: M4 macros.
11624         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
11625         * modules/flock: flock module.
11626         * modules/flock-tests: flock tests module.
11627         * modules/sys_file: sys/file.h module.
11628         * tests/test-flock.c: test suite for flock.
11629
11630 2008-10-06  Jim Meyering  <meyering@redhat.com>
11631
11632         bootstrap: check for LT_INIT more portably still ;-)
11633         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
11634         Spotted by Bruno Haible.
11635
11636 2008-10-06  Eric Blake  <ebb9@byu.net>
11637
11638         test-signbit: avoid tripping Irix cc bug on -0.0L
11639         * tests/test-signbit.c (minus_zerol): Delete, and replace with
11640         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
11641         entire testsuite consistent and avoids an Irix 6.2 bug.
11642
11643 2008-10-05  Bruno Haible  <bruno@clisp.org>
11644             Jim Meyering  <jim@meyering.net>
11645
11646         Add an option for ignoring EPIPE during close_stdout.
11647         * lib/closeout.h: Include <stdbool.h>.
11648         (close_stdout_set_ignore_EPIPE): New declaration.
11649         * lib/closeout.c: Include <stdbool.h>.
11650         (ignore_EPIPE): New variable.
11651         (close_stdout_set_ignore_EPIPE): New function.
11652         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
11653         * lib/close-stream.c (close_stream): Mention the possible EPIPE
11654         failure.
11655         * modules/closeout (Depends-on): Add stdbool.
11656
11657 2008-10-05  Bruno Haible  <bruno@clisp.org>
11658
11659         * modules/accept: New file.
11660         * modules/bind: New file.
11661         * modules/connect: New file.
11662         * modules/getpeername: New file.
11663         * modules/getsockname: New file.
11664         * modules/getsockopt: New file.
11665         * modules/listen: New file.
11666         * modules/recv: New file.
11667         * modules/recvfrom: New file.
11668         * modules/send: New file.
11669         * modules/sendto: New file.
11670         * modules/setsockopt: New file.
11671         * modules/socket: New file.
11672         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
11673         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
11674         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
11675         the particular module is requested. Add a link warning when the
11676         particular module is not requested.
11677         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
11678         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
11679         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
11680         the particular module is requested.
11681         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
11682         gl_SYS_SOCKET_H_DEFAULTS): New macros.
11683         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
11684         * modules/sys_socket (Depends-on): Add link-warning.
11685         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
11686         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
11687         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
11688         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
11689         GL_LINK_WARNING.
11690         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
11691         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
11692         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
11693         * doc/posix-functions/getpeername.texi: Mention the new module
11694         'getpeername'.
11695         * doc/posix-functions/getsockname.texi: Mention the new module
11696         'getsockname'.
11697         * doc/posix-functions/getsockopt.texi: Mention the new module
11698         'getsockopt'.
11699         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
11700         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
11701         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
11702         * doc/posix-functions/send.texi: Mention the new module 'send'.
11703         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
11704         * doc/posix-functions/setsockopt.texi: Mention the new module
11705         'setsockopt'.
11706         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
11707         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
11708         listen, connect, accept.
11709         * modules/select-tests (Depends-on): Likewise.
11710
11711 2008-10-05  Bruno Haible  <bruno@clisp.org>
11712
11713         * lib/winsock.c (strerror): Remove unused #undef.
11714         (rpl_close): Remove unused local variable.
11715
11716         * modules/sys_socket (Depends-on); Add errno.
11717
11718 2008-10-05  Bruno Haible  <bruno@clisp.org>
11719
11720         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
11721         (select): Add a link warning when the 'select' module is not used.
11722         * modules/sys_select (Depends-on): Add link-warning.
11723         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
11724         Suggested by Paolo Bonzini.
11725
11726 2008-10-05  Jim Meyering  <meyering@redhat.com>
11727
11728         bootstrap: check for LT_INIT more portably
11729         * build-aux/bootstrap: Avoid using grep -E, since it's not
11730         portable enough.  Suggestion from Bruno Haible.
11731
11732 2008-10-05  Bruno Haible  <bruno@clisp.org>
11733
11734         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
11735         as being fixed by gnulib.
11736
11737 2008-10-05  Bruno Haible  <bruno@clisp.org>
11738
11739         * modules/select-tests: New file, mostly copied from
11740         modules/sys_select-tests.
11741         * tests/test-select.c: New file, mostly copied from
11742         tests/test-sys_select.c.
11743         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
11744         * modules/sys_select-tests (Depends-on): Remove all dependencies.
11745         (Makefile.am): Remove test_sys_select_LDADD.
11746
11747         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
11748         to an undefined symbol, for an error message.
11749         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
11750         (gl_SYS_SELECT_H_DEFAULTS): New macro.
11751         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
11752         winsock-select.c here.
11753         * modules/sys_select (Files): Remove lib/winsock-select.c.
11754         (Depends-on): Remove alloca.
11755         (Makefile.am): Substitute GNULIB_SELECT.
11756         * modules/select: New file.
11757         * doc/posix-functions/select.texi: Update.
11758
11759 2008-10-05  Bruno Haible  <bruno@clisp.org>
11760
11761         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
11762         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
11763         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
11764         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
11765         getdtablesize.
11766         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
11767         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
11768
11769 2008-10-05  Bruno Haible  <bruno@clisp.org>
11770
11771         * modules/getdtablesize-tests: New file.
11772         * tests/test-getdtablesize.c: New file.
11773
11774         New module 'getdtablesize'.
11775         * lib/unistd.in.h (getdtablesize): New declaration.
11776         * lib/getdtablesize.c: New file.
11777         * m4/getdtablesize.m4: New file.
11778         * modules/getdtablesize: New file.
11779         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11780         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
11781         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
11782         HAVE_GETDTABLESIZE.
11783         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
11784
11785 2008-10-05  Bruno Haible  <bruno@clisp.org>
11786
11787         * modules/sched (Makefile.am): Fix typo.
11788         Reported by Simon Josefsson.
11789
11790 2008-10-05  Jim Meyering  <meyering@redhat.com>
11791
11792         bootstrap: check for LT_INIT, too
11793         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
11794         are deprecated.  Suggestion from Ralf Wildenhues.
11795
11796 2008-10-05  Bruno Haible  <bruno@clisp.org>
11797
11798         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
11799         overriding them by ours.
11800         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
11801
11802 2008-10-05  Jim Meyering  <meyering@redhat.com>
11803
11804         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
11805         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
11806         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
11807
11808 2008-10-04  Bruno Haible  <bruno@clisp.org>
11809
11810         * modules/dup2 (License): Change to LGPLv2+.
11811         * modules/sleep (License): Likewise.
11812         * modules/perror (License): Likewise.
11813         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
11814         Blake.
11815         * modules/signal (License): Likewise.
11816         * modules/sigprocmask (License): Likewise.
11817         * modules/raise (License): Change to LGPLv2+, with approval by Jim
11818         Meyering.
11819
11820 2008-10-04  Bruno Haible  <bruno@clisp.org>
11821
11822         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
11823         Reported by Rainer Tammer <tammer@tammer.net>.
11824
11825 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
11826             Bruno Haible  <bruno@clisp.org>
11827
11828         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
11829         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
11830         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
11831
11832 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
11833
11834         filevercmp: new module
11835         * lib/filevercmp.h: New function filevercmp comparing version strings.
11836         * lib/filevercmp.c: Implementation of filevercmp function.
11837         * modules/filevercmp: Module metadata.
11838         * tests/test-filevercmp.c: Unit test for new module.
11839         * modules/filevercmp-tests: Unit test metadata.
11840         * MODULES.html.sh: Add filevercmp module.
11841
11842 2008-10-03  Bruno Haible  <bruno@clisp.org>
11843
11844         * lib/c-ctype.h: Add comment.
11845         Reported by Jim Meyering.
11846
11847 2008-10-02  Bruno Haible  <bruno@clisp.org>
11848
11849         * modules/posix_spawn-internal (Depends-on): Add 'open'.
11850
11851 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
11852
11853         * build-aux/bootstrap: Allow renaming bootstrap, and change the
11854         name of bootstrap.conf accordingly.
11855
11856 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
11857
11858         * build-aux/bootstrap: Install git-merge-changelog configuration
11859         items into .gitconfig if needed.
11860
11861 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
11862
11863         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
11864         git repository, and initialize/update it accordingly.
11865
11866 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
11867
11868         * modules/fsync-tests: New file.
11869         * tests/test-fsync.c: New file.
11870
11871         New module 'fsync'.
11872         * lib/fsync.c: New file.
11873         * m4/fsync.m4: New file.
11874         * modules/fsync: New file.
11875         * lib/unistd.in.h (fsync): New declaration.
11876         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
11877         GNULIB_FSYNC and HAVE_FSYNC.
11878         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
11879         * MODULES.html.sh (posix_functions): Add fsync.
11880         * doc/posix-functions/fsync.texi: Mention the new module.
11881
11882 2008-10-02  Jim Meyering  <meyering@redhat.com>
11883
11884         fts.c: sync with similar code from coreutils' remove.c
11885         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
11886         Guard also with "#if defined __linux__", since for now at least,
11887         this code is Linux-kernel-specific.
11888
11889 2008-10-02  Jim Meyering  <meyering@redhat.com>
11890
11891         fts: bug fixes
11892         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
11893         Include <sys/vfs.h>, not <sys/statfs.h>.
11894
11895         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
11896         Include <sys/vfs.h>, not <sys/statfs.h>.
11897
11898 2008-10-01  Bruno Haible  <bruno@clisp.org>
11899
11900         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
11901         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
11902         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
11903         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
11904         * doc/posix-functions/posix_spawnp.texi: Likewise.
11905         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
11906         whether posix_spawn actually works.
11907         * m4/pipe.m4 (gl_PIPE): Likewise.
11908         * modules/execute (Files): Add m4/posix_spawn.m4.
11909         * modules/pipe (Files): Add m4/posix_spawn.m4.
11910         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
11911
11912 2008-10-01  Jim Meyering  <meyering@redhat.com>
11913
11914         remove trailing spaces
11915         * NEWS: Likewise.
11916         * lib/poll.c (poll): Likewise.
11917         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
11918         * lib/winsock.c (rpl_close): Likewise.
11919         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
11920         * modules/yield: Likewise.
11921         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
11922         * tests/test-sys_select.c (connect_to_socket): Likewise.
11923
11924         fts.c: adjust a new interface to be more generally useful
11925         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
11926         (fts_build): Adjust caller.
11927
11928 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11929
11930         * modules/cond-tests: New file.
11931         * tests/test-cond.c: New file.
11932
11933 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11934             Bruno Haible  <bruno@clisp.org>
11935
11936         * modules/cond (Dependencies): Add errno, time.
11937         * lib/glthread/cond.h: Include <time.h>.
11938         (gl_cond_define, gl_cond_define_initialized): Use the same definition
11939         across platforms.
11940
11941 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11942             Bruno Haible  <bruno@clisp.org>
11943
11944         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
11945
11946 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11947             Bruno Haible  <bruno@clisp.org>
11948
11949         * modules/tls-tests (Depends-on): Add thread, yield.
11950         (configure.ac): Remove all checks.
11951         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
11952         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
11953         gl_thread_self): Remove definitions. Include glthread/thread.h and
11954         glthread/yield.h instead.
11955         (test_tls): Pass an additional NULL argument to gl_thread_join.
11956
11957 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11958             Bruno Haible  <bruno@clisp.org>
11959
11960         * modules/lock-tests (Depends-on): Add thread, yield.
11961         (configure.ac): Remove all checks.
11962         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
11963         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
11964         gl_thread_self): Remove definitions. Include glthread/thread.h and
11965         glthread/yield.h instead.
11966         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
11967         additional NULL argument to gl_thread_join.
11968
11969 2008-09-30  Bruno Haible  <bruno@clisp.org>
11970
11971         Fix the Win32 implementation of the 'thread' module.
11972         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
11973         pointer type.
11974         (gl_thread_self): Invoke gl_thread_self_func.
11975         (gl_thread_self_func): New declaration.
11976         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
11977         (do_init_self_key, init_self_key): New functions.
11978         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
11979         Remove some fields.
11980         (running_threads, running_lock): Remove variables.
11981         (get_current_thread_handle): New function.
11982         (gl_thread_self_func, wrapper_func, glthread_create_func,
11983         glthread_join_func, gl_thread_exit_func): Largely rewritten and
11984         simplified.
11985
11986 2008-09-30  Bruno Haible  <bruno@clisp.org>
11987
11988         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
11989         files.
11990
11991 2008-09-30  Jim Meyering  <meyering@redhat.com>
11992
11993         fts.m4: correct the test for statfs.f_type
11994         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
11995         when checking for statfs.f_type.
11996
11997 2008-09-15  Simon Josefsson  <simon@josefsson.org>
11998
11999         tests: avoid some compiler warnings
12000         * tests/test-memchr.c (main): Pass NULL indirectly.
12001         * tests/test-getdate.c (main): Remove unused variable 'ret'.
12002
12003 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
12004
12005         getdate.y: disallow countable dayshifts like "4 yesterday ago"
12006         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
12007         exactly specified dayshifts.
12008         (dayshift): New rule.
12009         (rel): Add dayshift.
12010         (relative_time_table) [tomorrow, yesterday, today, now]:
12011         Use tDAY_SHIFT in place of tDAY_UNIT.
12012         * tests/test-getdate.c: Add tests for now-disallowed countable
12013         dayshifts, e.g., "4 yesterday ago".
12014
12015 2008-09-29  Bruno Haible  <bruno@clisp.org>
12016
12017         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
12018         * tests/test-posix_spawn1.in.sh: Renamed from
12019         tests/test-posix_spawn.in.sh.
12020         * tests/test-posix_spawn2.c: New file.
12021         * tests/test-posix_spawn2.in.sh: New file.
12022         * modules/posix_spawnp-tests (Files): Update.
12023         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
12024
12025 2008-09-29  Bruno Haible  <bruno@clisp.org>
12026
12027         Propagate effects of putenv/setenv/unsetenv to child processes.
12028         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
12029         * lib/pipe.c (create_pipe): Likewise.
12030
12031 2008-09-29  Bruno Haible  <bruno@clisp.org>
12032
12033         Enable use of shell scripts as executables in mingw.
12034         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
12035         run the program as a shell script.
12036         * lib/pipe.c (create_pipe): Likewise.
12037         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
12038         resulting array.
12039
12040 2008-09-29  Eric Blake  <ebb9@byu.net>
12041
12042         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
12043
12044 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
12045
12046         * doc/posix-functions/accept.texi: Update mingw problems.
12047         * doc/posix-functions/bind.texi: Update mingw problems.
12048         * doc/posix-functions/close.texi: Update mingw problems.
12049         * doc/posix-functions/connect.texi: Update mingw problems.
12050         * doc/posix-functions/getpeername.texi: Update mingw problems.
12051         * doc/posix-functions/getsockname.texi: Update mingw problems.
12052         * doc/posix-functions/getsockopt.texi: Update mingw problems.
12053         * doc/posix-functions/ioctl.texi: Update mingw problems.
12054         * doc/posix-functions/listen.texi: Update mingw problems.
12055         * doc/posix-functions/recv.texi: Update mingw problems.
12056         * doc/posix-functions/recvfrom.texi: Update mingw problems.
12057         * doc/posix-functions/select.texi: Update mingw problems.
12058         * doc/posix-functions/send.texi: Update mingw problems.
12059         * doc/posix-functions/sendto.texi: Update mingw problems.
12060         * doc/posix-functions/setsockopt.texi: Update mingw problems.
12061         * doc/posix-functions/socket.texi: Update mingw problems.
12062
12063 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
12064             Bruno Haible  <bruno@clisp.org>
12065
12066         * lib/sys_select.in.h: Include sys/time.h.
12067         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
12068         * modules/sys_select: Depend on sys_time.
12069         * tests/test-sys_select.c: Test that sys/select.h defines struct
12070         timeval fully.
12071
12072 2008-09-29  Bruno Haible  <bruno@clisp.org>
12073
12074         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
12075         * lib/sys_select.in.h: Likewise.
12076
12077 2008-09-29  Bruno Haible  <bruno@clisp.org>
12078
12079         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
12080
12081 2008-09-29  Bruno Haible  <bruno@clisp.org>
12082
12083         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
12084         Set LIBSOCKET instead of augmenting LIBS.
12085         * modules/sockets (Link): New section.
12086         * modules/sockets-tests (test_sockets_LDADD): New variable.
12087         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
12088         * modules/poll-tests (test_poll_LDADD): New variable.
12089         * NEWS: Document the change.
12090
12091 2008-09-29  Bruno Haible  <bruno@clisp.org>
12092
12093         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
12094         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
12095         ARPA_INET_H directly.
12096         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
12097
12098 2008-09-28  Bruno Haible  <bruno@clisp.org>
12099
12100         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
12101         from gl_HEADER_SYS_SOCKET.
12102         (gl_HEADER_SYS_SOCKET): Invoke it.
12103         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
12104
12105 2008-09-28  Bruno Haible  <bruno@clisp.org>
12106
12107         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
12108         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
12109         Needed on OSF/1 4.0.
12110
12111 2008-09-28  Bruno Haible  <bruno@clisp.org>
12112
12113         Override open more carefully.
12114         * lib/open.c (orig_open): New function.
12115         (rpl_open): Use orig_open instead of open.
12116         * lib/fcntl.in.h: Add special invocation convention.
12117         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
12118         (gl_FUNC_OPEN): Invoke it.
12119
12120         Override freopen more carefully.
12121         * lib/freopen.c (orig_freopen): New function.
12122         (rpl_freopen): Use orig_freopen instead of freopen.
12123         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
12124         (gl_FUNC_FREOPEN): Invoke it.
12125
12126         Override fopen more carefully.
12127         * lib/fopen.c (orig_fopen): New function.
12128         (rpl_fopen): Use orig_fopen instead of fopen.
12129         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
12130         (gl_FUNC_FOPEN): Invoke it.
12131         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
12132
12133 2008-09-28  Bruno Haible  <bruno@clisp.org>
12134
12135         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
12136         SIGPIPE.
12137
12138 2008-09-28  Bruno Haible  <bruno@clisp.org>
12139
12140         * tests/test-sigaction.c (handler, main): Disable the check whether
12141         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
12142         glibc systems with LinuxThreads.
12143
12144 2008-09-28  Bruno Haible  <bruno@clisp.org>
12145
12146         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
12147
12148         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
12149         with AIX xlc.
12150         * lib/fcntl.in.h (open): Likewise.
12151         Reported by Rainer Tammer <tammer@tammer.net>.
12152
12153 2008-09-28  Bruno Haible  <bruno@clisp.org>
12154
12155         * modules/posix_spawnp-tests: New file.
12156         * tests/test-posix_spawn.c: New file.
12157         * tests/test-posix_spawn.in.sh: New file.
12158
12159         New module 'posix_spawnp'.
12160         * modules/posix_spawnp: New file.
12161         * lib/spawnp.c: New file, from GNU libc with modifications.
12162         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
12163
12164         New module 'posix_spawn'.
12165         * modules/posix_spawn: New file.
12166         * lib/spawn.c: New file, from GNU libc with modifications.
12167         * doc/posix-functions/posix_spawn.texi: Mention the new module.
12168
12169         New module 'posix_spawnattr_destroy'.
12170         * modules/posix_spawnattr_destroy: New file.
12171         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
12172         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
12173         module.
12174
12175         New module 'posix_spawnattr_setsigmask'.
12176         * modules/posix_spawnattr_setsigmask: New file.
12177         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
12178         modifications.
12179         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
12180         new module.
12181
12182         New module 'posix_spawnattr_getsigmask'.
12183         * modules/posix_spawnattr_getsigmask: New file.
12184         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
12185         modifications.
12186         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
12187         new module.
12188
12189         New module 'posix_spawnattr_setsigdefault'.
12190         * modules/posix_spawnattr_setsigdefault: New file.
12191         * lib/spawnattr_setdefault.c: New file, from GNU libc with
12192         modifications.
12193         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
12194         new module.
12195
12196         New module 'posix_spawnattr_getsigdefault'.
12197         * modules/posix_spawnattr_getsigdefault: New file.
12198         * lib/spawnattr_getdefault.c: New file, from GNU libc with
12199         modifications.
12200         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
12201         new module.
12202
12203         New module 'posix_spawnattr_setschedpolicy'.
12204         * modules/posix_spawnattr_setschedpolicy: New file.
12205         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
12206         modifications.
12207         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
12208         new module.
12209
12210         New module 'posix_spawnattr_getschedpolicy'.
12211         * modules/posix_spawnattr_getschedpolicy: New file.
12212         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
12213         modifications.
12214         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
12215         new module.
12216
12217         New module 'posix_spawnattr_setschedparam'.
12218         * modules/posix_spawnattr_setschedparam: New file.
12219         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
12220         modifications.
12221         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
12222         new module.
12223
12224         New module 'posix_spawnattr_getschedparam'.
12225         * modules/posix_spawnattr_getschedparam: New file.
12226         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
12227         modifications.
12228         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
12229         new module.
12230
12231         New module 'posix_spawnattr_setpgroup'.
12232         * modules/posix_spawnattr_setpgroup: New file.
12233         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
12234         modifications.
12235         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
12236         module.
12237
12238         New module 'posix_spawnattr_getpgroup'.
12239         * modules/posix_spawnattr_getpgroup: New file.
12240         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
12241         modifications.
12242         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
12243         module.
12244
12245         New module 'posix_spawnattr_setflags'.
12246         * modules/posix_spawnattr_setflags: New file.
12247         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
12248         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
12249         module.
12250
12251         New module 'posix_spawnattr_getflags'.
12252         * modules/posix_spawnattr_getflags: New file.
12253         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
12254         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
12255         module.
12256
12257         New module 'posix_spawnattr_init'.
12258         * modules/posix_spawnattr_init: New file.
12259         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
12260         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
12261         module.
12262
12263         New module 'posix_spawn_file_actions_destroy'.
12264         * modules/posix_spawn_file_actions_destroy: New file.
12265         * lib/spawn_faction_destroy.c: New file, from GNU libc with
12266         modifications.
12267         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
12268         the new module.
12269
12270         New module 'posix_spawn_file_actions_addopen'.
12271         * modules/posix_spawn_file_actions_addopen: New file.
12272         * lib/spawn_faction_addopen.c: New file, from GNU libc with
12273         modifications.
12274         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
12275         the new module.
12276
12277         New module 'posix_spawn_file_actions_adddup2'.
12278         * modules/posix_spawn_file_actions_adddup2: New file.
12279         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
12280         modifications.
12281         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
12282         the new module.
12283
12284         New module 'posix_spawn_file_actions_addclose'.
12285         * modules/posix_spawn_file_actions_addclose: New file.
12286         * lib/spawn_faction_addclose.c: New file, from GNU libc with
12287         modifications.
12288         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
12289         the new module.
12290
12291         New module 'posix_spawn_file_actions_init'.
12292         * modules/posix_spawn_file_actions_init: New file.
12293         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
12294         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
12295         new module.
12296
12297         New module 'posix_spawn-internal'.
12298         * modules/posix_spawn-internal: New file.
12299         * lib/spawn_int.h: New file, from GNU libc with modifications.
12300         * lib/spawni.c: New file, from GNU libc with modifications.
12301         * m4/posix_spawn.m4: New file.
12302
12303         New module 'spawn'.
12304         * modules/spawn: New file.
12305         * lib/spawn.in.h: New file, from GNU libc with modifications.
12306         * m4/spawn_h.m4: New file.
12307         * doc/posix-headers/spawn.texi: Mention the new module.
12308
12309 2008-09-28  Bruno Haible  <bruno@clisp.org>
12310
12311         * modules/sched-tests: New file.
12312         * tests/test-sched.c: New file.
12313
12314         New module 'sched'.
12315         * modules/sched: New file.
12316         * lib/sched.in.h: New file.
12317         * m4/sched_h.m4: New file.
12318         * doc/posix-headers/sched.texi: Mention the new module.
12319
12320 2008-09-27  Eric Blake  <ebb9@byu.net>
12321
12322         Fix previous patch, and tweak references to $0.
12323         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
12324         (func_version, func_gnulib_dir): Don't call this program
12325         gnulib-tool.
12326         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
12327         with using $0 in function.
12328         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
12329         (func_fatal_error): Reuse the name the user invoked us with.
12330
12331 2008-09-27  Bruno Haible  <bruno@clisp.org>
12332
12333         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
12334         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
12335         (gl_ICONV_H): Not here.
12336         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
12337         instead of assigning ICONV_H directly.
12338
12339         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
12340         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
12341         WCHAR_H directly.
12342
12343 2008-09-27  Bruno Haible  <bruno@clisp.org>
12344
12345         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
12346         * modules/arpa_inet (Depends-on): Add link-warning.
12347         (Makefile.am): Insert the definition of GL_LINK-WARNING.
12348         * modules/unistd (Makefile.am): Likewise.
12349
12350 2008-09-26  Bruno Haible  <bruno@clisp.org>
12351
12352         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
12353         variables.
12354         (func_version): Essentially copied from gnulib-tool.
12355         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
12356         func_readlink): Copied from gnulib-tool.
12357
12358 2008-09-26  Bruno Haible  <bruno@clisp.org>
12359
12360         * gnulib-tool (func_version): Change directory to $gnulib_dir before
12361         invoking git-version-gen.
12362
12363 2008-09-26  Bruno Haible  <bruno@clisp.org>
12364
12365         * posix-modules: Update to directory names changed on 2008-01-19.
12366         Remove commas in output before splitting into words. No more need to
12367         avoid 'ftruncate' since 2007-02-19.
12368
12369 2008-09-26  Bruno Haible  <bruno@clisp.org>
12370
12371         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
12372
12373 2008-09-26  Bruno Haible  <bruno@clisp.org>
12374
12375         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
12376         * modules/fwriteerror (Depends-on): Add errno.
12377
12378 2008-09-26  Bruno Haible  <bruno@clisp.org>
12379
12380         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
12381         * tests/test-vc-list-files-cvs.sh: Likewise.
12382
12383 2008-09-26  Bruno Haible  <bruno@clisp.org>
12384
12385         * doc/posix-headers/sys_resource.texi: Reorder items.
12386
12387 2008-09-26  Jim Meyering  <meyering@redhat.com>
12388
12389         fts: tweak inode comparison function
12390         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
12391         inode numbers, as documented.
12392
12393         fts: sort dirent entries on inode number before traversing
12394         This avoids a quadratic, seek-related performance penalty when
12395         operating on a directory containing many entries (measurable at 10k;
12396         3.5 hours at 2 million entries with a cold cache) on certain types
12397         of file systems, including ext3 and ext4, but not tmpfs.
12398         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
12399         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
12400         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
12401         (fs_handles_readdir_ordered_dirents_efficiently): New function.
12402         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
12403         (fts_build): Set the stat.st_ino member from D_INO.
12404         If it is likely to be useful, sort dirent entries on inode number.
12405
12406         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
12407         and the struct statfs.f_type member.
12408         * modules/fts (Depends-on): Add d-ino.
12409
12410 2008-09-26  Bruno Haible  <bruno@clisp.org>
12411
12412         * modules/sigpipe-die (Depends-on): Add sigpipe.
12413
12414         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
12415         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
12416         and GNULIB_STDIO_H_SIGPIPE are set.
12417         * lib/stdio-write.c: New file.
12418         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
12419         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
12420         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
12421         REPLACE_STDIO_WRITE_FUNCS.
12422         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
12423         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
12424         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
12425         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
12426         * modules/stdio (Files): Add lib/stdio-write.c.
12427         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
12428         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
12429         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
12430         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
12431         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
12432         REPLACE_FPRINTF_POSIX.
12433         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
12434         REPLACE_PRINTF_POSIX.
12435         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
12436         REPLACE_VFPRINTF_POSIX.
12437         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
12438         REPLACE_VPRINTF_POSIX.
12439         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
12440         SIGPIPE issue.
12441         * doc/posix-functions/fputc.texi: Likewise.
12442         * doc/posix-functions/fputs.texi: Likewise.
12443         * doc/posix-functions/fwrite.texi: Likewise.
12444         * doc/posix-functions/printf.texi: Likewise.
12445         * doc/posix-functions/putc.texi: Likewise.
12446         * doc/posix-functions/putchar.texi: Likewise.
12447         * doc/posix-functions/puts.texi: Likewise.
12448         * doc/posix-functions/vfprintf.texi: Likewise.
12449         * doc/posix-functions/vprintf.texi: Likewise.
12450
12451         * modules/safe-write (Depends-on): Add write.
12452
12453         * modules/sigpipe-tests: New file.
12454         * tests/test-sigpipe.c: New file.
12455         * tests/test-sigpipe.sh: New file.
12456
12457         * modules/write: New file.
12458         * lib/unistd.in.h: Include <sys/types.h>.
12459         (write): New declaration.
12460         * lib/write.c: New file.
12461         * m4/write.m4: New file.
12462         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12463         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
12464         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
12465         GNULIB_WRITE, REPLACE_WRITE.
12466         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
12467         and the SIGPIPE issue.
12468
12469         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
12470         (raise): New declaration.
12471         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
12472         (ext_signal): New function.
12473         (rpl_raise): New function.
12474         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
12475         GNULIB_SIGNAL_H_SIGPIPE.
12476         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
12477         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
12478
12479         * modules/sigpipe: New file.
12480         * m4/sigpipe.m4: New file.
12481
12482 2008-09-25  Derek Price  <derek@ximbiot.com>
12483             Bruno Haible  <bruno@clisp.org>
12484
12485         * gnulib-tool (func_import): Report all license incompatibilities, not
12486         just the first one.
12487
12488 2008-09-25  Bruno Haible  <bruno@clisp.org>
12489
12490         * gnulib-tool (func_import): When computing the edits, consider not
12491         only the Makefile.ams that exist but also those that will be generated.
12492
12493 2008-09-25  Simon Josefsson  <simon@josefsson.org>
12494
12495         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
12496         fixes gnulib-tool --test warning about duplicate dependency.
12497
12498 2008-09-25  Bruno Haible  <bruno@clisp.org>
12499
12500         * gnulib-tool: Don't ask the user to perform edits in the generated
12501         Makefile.ams.
12502         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
12503         apply to the Makefile.am being generated.
12504         (func_emit_tests_Makefile_am): Execute edits that apply to the
12505         Makefile.am being generated.
12506         (func_import): Setup list of Makefile.am edits before emitting the
12507         Makefile.ams, not at the end.
12508         (func_create_testdir): Update.
12509         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
12510
12511 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12512
12513         * gnulib-tool (func_import): Store the --tests-base option in the
12514         comment in gnulib-cache.m4.
12515
12516 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
12517
12518         * NEWS: Document increased portability that sys_select now provides.
12519
12520         * lib/sys_select.in.h: Install select wrapper.
12521         * lib/sys_socket.in.h: Use more descriptive name when there is no
12522         select wrapper.
12523         * lib/winsock-select.c: New.
12524         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
12525         Require gl_HEADER_SYS_SOCKET.
12526         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
12527         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
12528         * tests/test-sys_select.c: Add functional tests.
12529
12530 2008-09-24  Eric Blake  <ebb9@byu.net>
12531
12532         open, fopen: close fd leak in last patch
12533         * lib/open.c (rpl_open): Close fd before returning error.
12534         * lib/fopen.c (rpl_fopen): Close fd before returning error.
12535         * doc/posix-functions/open.texi (open): Document that Irix also
12536         has the bug.
12537         * doc/posix-functions/fopen.texi (fopen): Likewise.
12538         Reported by Paolo Bonzini.
12539
12540 2008-09-24  Bruno Haible  <bruno@clisp.org>
12541
12542         Ensure that a filename ending in a slash cannot be used to access a
12543         non-directory.
12544         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
12545         to check whether it's really a directory.
12546         * lib/fopen.c: Include fcntl.h, unistd.h.
12547         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
12548         and fdopen().
12549         * modules/fopen (Depends-on): Add unistd.
12550         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
12551         * tests/test-fopen.c (main): Likewise.
12552         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
12553         * doc/posix-functions/fopen.texi: Likewise.
12554         Reported by Eric Blake.
12555
12556 2008-09-23  Eric Blake  <ebb9@byu.net>
12557
12558         c-stack: avoid compiler optimizations when provoking overflow
12559         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
12560         recursion harder to optimize, to ensure a stack overflow occurs.
12561         * tests/test-c-stack.c (recurse): Likewise.
12562         Borrowed from libsigsegv.
12563
12564         c-stack: work around Irix sigaltstack bug
12565         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
12566         whether sigaltstack uses wrong end of stack_t (copied in part from
12567         libsigsegv).
12568         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
12569         Irix bug, without requiring an over-allocation.
12570         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
12571         bug.
12572
12573         fopen: document mingw bug on directories
12574         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
12575         not allowing a stream visiting a directory, even though reading
12576         from such a stream is not portable.
12577
12578 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
12579
12580         * lib/poll.c: Rewrite.
12581         * modules/poll: Depend on alloca.
12582
12583 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
12584
12585         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
12586         instead define prototypes for a full set of wrappers.  Ensure
12587         that Cygwin does not use the compatibility code, which is only
12588         for MinGW.
12589         * lib/winsock.c: New.
12590         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
12591         * modules/sys_socket: Add lib/winsock.c.
12592
12593         * modules/poll-tests: Add errno and perror.
12594         * tests/test-poll.c: Use ioctl, not ioctlsocket.
12595
12596 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
12597
12598         * tests/test-poll.c: Downgrade minimum needed Winsock version.
12599
12600 2008-09-23  Bruno Haible  <bruno@clisp.org>
12601
12602         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
12603         * doc/glibc-functions/*: Likewise.
12604
12605 2008-09-23  Simon Josefsson  <simon@josefsson.org>
12606
12607         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
12608         success.
12609
12610 2008-09-22  Eric Blake  <ebb9@byu.net>
12611             Bruno Haible  <bruno@clisp.org>
12612
12613         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
12614         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
12615         supply %A but mishandle pseudo-NaN.
12616         Reported by Simon Josefsson.
12617
12618 2008-09-21  Bruno Haible  <bruno@clisp.org>
12619
12620         * tests/test-lock.c (main): Tweak skip message.
12621         * tests/test-tls.c (main): Likewise.
12622
12623 2008-09-21  Bruno Haible  <bruno@clisp.org>
12624
12625         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
12626         whether 'struct sigaction' has sa_sigaction here...
12627         (gl_PREREQ_SIG_HANDLER_H): ... not here.
12628         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
12629
12630 2008-09-21  Bruno Haible  <bruno@clisp.org>
12631
12632         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
12633         section.
12634         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
12635         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
12636         the new section.
12637         (Support for obsolete systems lacking POSIX:2001): New section.
12638         (String handling <string.h>): Move strdup to the new section.
12639         Suggested by Simon Josefsson and Paolo Bonzini.
12640
12641 2008-09-21  Bruno Haible  <bruno@clisp.org>
12642
12643         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
12644         exponents in %e and %g results on 'long double'. Needed for mingw's
12645         improved *printf functions.
12646         * tests/test-vasprintf-posix.c (test_function): Likewise.
12647         * tests/test-snprintf-posix.h (test_function): Likewise.
12648         * tests/test-sprintf-posix.h (test_function): Likewise.
12649         Reported by Eric Blake.
12650
12651 2008-09-21  Bruno Haible  <bruno@clisp.org>
12652
12653         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
12654         * tests/test-sprintf-posix.h (test_function): Likewise.
12655
12656 2008-09-21  Bruno Haible  <bruno@clisp.org>
12657
12658         * modules/getpass (Depends-on): Add strdup-posix.
12659
12660         New module 'strdup-posix'.
12661         * modules/strdup-posix: New file.
12662         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
12663         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
12664         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
12665         REPLACE_STRDUP.
12666         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
12667         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
12668         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
12669         strdup-posix.
12670
12671         * modules/strdup (Depends-on): Remove malloc-posix.
12672
12673 2008-09-20  Bruno Haible  <bruno@clisp.org>
12674
12675         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
12676         Wildenhues.
12677
12678 2008-09-20  Bruno Haible  <bruno@clisp.org>
12679
12680         Ensure that wint_t gets defined on IRIX 5.3.
12681         * lib/wchar.in.h (wint_t): Define if not defined by the system.
12682         * lib/wctype.in.h (wint_t): Likewise.
12683         (__wctype_wint_t): Remove type.
12684         (isw*): Use wint_t instead of __wctype_wint_t.
12685         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
12686         * modules/wchar (Files): Add m4/wint_t.m4.
12687         (Makefile.am): Substitute HAVE_WINT_T.
12688         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
12689         * tests/test-wctype.c: Check that wint_t is defined.
12690         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
12691         * doc/posix-headers/wctype.texi: Likewise.
12692         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12693
12694 2008-09-18  Bruno Haible  <bruno@clisp.org>
12695
12696         * gnulib-tool (func_exit): Update comment.
12697
12698 2008-09-18  Simon Josefsson  <simon@josefsson.org>
12699
12700         * modules/getaddrinfo (Depends-on): Remove strdup, this module
12701         assumes strdup exists and does not depend on strdup to return
12702         ENOMEM on out of memory conditions.
12703
12704 2008-09-18  Bruno Haible  <bruno@clisp.org>
12705
12706         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
12707         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
12708         digits for the exponent.
12709
12710 2008-09-18  Jim Meyering  <meyering@redhat.com>
12711             Bruno Haible  <bruno@clisp.org>
12712
12713         * lib/vasnprintf.c (decimal_point_char): Define also if
12714         NEED_PRINTF_INFINITE_LONG_DOUBLE.
12715
12716 2008-09-16  Bruno Haible  <bruno@clisp.org>
12717         and Eric Blake  <ebb9@byu.net>
12718
12719         vasnprintf: support Irix 5.3
12720         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
12721         that mishandle long double infinity.
12722         Reported by Tom G. Christensen.
12723
12724 2008-09-16  Bruno Haible  <bruno@clisp.org>
12725
12726         * doc/glibc-functions/scandir.texi: Mention the function is missing on
12727         Solaris 9.
12728         * doc/glibc-functions/alphasort.texi: Likewise.
12729         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
12730
12731 2008-09-16  Jim Meyering  <meyering@redhat.com>
12732
12733         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
12734         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
12735         a umask modification leak out of a subshell.  Otherwise, the
12736         opensolaris /bin/sh would be accepted and thus cause unwarranted
12737         failures in the coreutils test suite.
12738
12739 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
12740
12741         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
12742         to succeed.
12743
12744 2008-09-16  Jim Meyering  <meyering@redhat.com>
12745
12746         avoid spurious test failure when library is built without ACL support
12747         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
12748         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
12749         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
12750         * tests/test-copy-acl.sh: Likewise.
12751
12752 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12753
12754         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
12755         based on character occurrence counts.
12756
12757 2008-09-15  Eric Blake  <ebb9@byu.net>
12758
12759         tests: avoid some compiler warnings
12760         * tests/test-memchr.c (main): Pass NULL indirectly.
12761         * tests/test-closein.c (main): Avoid unused variable.
12762
12763 2008-09-15  Bruno Haible  <bruno@clisp.org>
12764
12765         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
12766         are missing on OpenBSD 4.0 individually.
12767         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
12768
12769 2008-09-15  Bruno Haible  <bruno@clisp.org>
12770
12771         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
12772         * doc/posix-functions/strerror.texi: Mention also Cygwin.
12773         * doc/posix-functions/perror.texi: Likewise.
12774         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
12775         is missing.
12776         Reported by Eric Blake.
12777
12778         * lib/errno.in.h: Use replacement values >= 2000.
12779         Reported by Eric Blake.
12780
12781 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12782
12783         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
12784         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
12785         limit.
12786         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
12787         compareseq was aborted.
12788
12789 2008-09-14  Bruno Haible  <bruno@clisp.org>
12790
12791         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
12792         yvec_edit_count.
12793         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
12794         (fstrcmp_bounded): Simplify result computation accordingly.
12795
12796 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12797
12798         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
12799         (fstrcmp): Define in terms of fstrcmp_bounded.
12800         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
12801         lower_bound argument.
12802         Return quickly if the result is certainly < lower_bound.
12803         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
12804
12805 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12806
12807         * lib/diffseq.h (EARLY_ABORT): New macro.
12808         (compareseq): Change return type to bool. Return true when EARLY_ABORT
12809         evaluates to true.
12810
12811 2008-09-14  Bruno Haible  <bruno@clisp.org>
12812
12813         * modules/perror-tests: New file.
12814         * tests/test-perror.sh: New file.
12815         * tests/test-perror.c: New file.
12816
12817         New module 'perror'.
12818         * lib/stdio.in.h (perror): New declaration.
12819         * lib/perror.c: New file.
12820         * m4/perror.m4: New file.
12821         * modules/perror: New file.
12822         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
12823         * doc/posix-functions/perror.texi: Mention the perror module.
12824         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
12825         REPLACE_PERROR.
12826         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
12827         REPLACE_PERROR.
12828
12829 2008-09-14  Bruno Haible  <bruno@clisp.org>
12830
12831         * modules/stdio (Makefile.am): Reorder to match the order in
12832         lib/stdio.in.h.
12833         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
12834
12835 2008-09-13  Bruno Haible  <bruno@clisp.org>
12836
12837         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
12838
12839 2008-09-13  Bruno Haible  <bruno@clisp.org>
12840
12841         Extend strerror to cover the added errno values.
12842         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
12843         (rpl_strerror): Provide error messages for the added errno values and
12844         for the WSA* values.
12845         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
12846         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
12847         strerror.
12848         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
12849         * modules/strerror (Depends-on): Add errno.
12850         * doc/posix-functions/strerror.texi: Document the change.
12851         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
12852         and EOVERFLOW.
12853
12854 2008-09-13  Bruno Haible  <bruno@clisp.org>
12855
12856         * modules/EOVERFLOW: Remove file.
12857         * m4/eoverflow.m4: Remove file.
12858         * modules/EOVERFLOW-tests: Remove file.
12859         * tests/test-EOVERFLOW.c: Remove file.
12860         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
12861         * modules/ftell (Depends-on): Likewise.
12862         * modules/getdelim (Depends-on): Likewise.
12863         * modules/getugroups (Depends-on): Likewise.
12864         * modules/poll (Depends-on): Likewise.
12865         * modules/snprintf (Depends-on): Likewise.
12866         * modules/sprintf-posix (Depends-on): Likewise.
12867         * modules/vasnprintf (Depends-on): Likewise.
12868         * modules/vasprintf (Depends-on): Likewise.
12869         * modules/vfprintf-posix (Depends-on): Likewise.
12870         * modules/vsnprintf (Depends-on): Likewise.
12871         * modules/vsprintf-posix (Depends-on): Likewise.
12872         * modules/xvasprintf (Depends-on): Likewise.
12873         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
12874         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
12875         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
12876         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
12877         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
12878         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
12879         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
12880         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
12881         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
12882         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
12883         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
12884         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
12885         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
12886         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
12887         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
12888         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
12889         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
12890         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
12891         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
12892         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
12893         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
12894         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
12895         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
12896         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
12897         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
12898         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
12899         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
12900         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
12901         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
12902         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
12903         * MODULES.html.sh: Remove EOVERFLOW.
12904         * NEWS: Mention the change.
12905
12906 2008-09-13  Bruno Haible  <bruno@clisp.org>
12907
12908         * modules/errno-tests: New file.
12909         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
12910
12911         * lib/errno.in.h: New file.
12912         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
12913         * modules/errno: New file.
12914         * doc/posix-headers/errno.texi: Update documentation.
12915         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
12916
12917 2008-09-13  Bruno Haible  <bruno@clisp.org>
12918
12919         * tests/test-poll.c: Use #if for native Windows, rather than testing
12920         __MSVCRT__.
12921
12922 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12923             Bruno Haible  <bruno@clisp.org>
12924
12925         * lib/glob.c: Don't include <pwd.h> on native Windows.
12926         (WINDOWS32): New macro.
12927         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
12928
12929 2008-09-13  Bruno Haible  <bruno@clisp.org>
12930
12931         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
12932         (ETIMEDOUT): Remove macro.
12933         (glthread_cond_timedwait_multithreaded): New declaration.
12934         (glthread_cond_timedwait): Use it.
12935         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
12936         (glthread_cond_timedwait_multithreaded): New function.
12937
12938 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
12939
12940         * modules/poll-tests: Do not check for io.h.
12941         * tests/test-poll.c: Check for __MSVCRT__ instead.
12942
12943 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
12944
12945         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
12946         * modules/poll-tests: Add inet_pton, stdbool, sockets.
12947         * tests/test-poll.c: Use them.  Use _pipe on Windows.
12948
12949 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
12950
12951         * modules/poll-tests: New.
12952         * tests/test-poll.c: New.
12953
12954 2008-09-12  Eric Blake  <ebb9@byu.net>
12955
12956         frexp: test for NetBSD failure on -0.0
12957         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
12958         not all, bugs from NetBSD 3.0 have been fixed.
12959         * doc/posix-functions/frexp.texi (frexp): Document bug.
12960         Reported by Thomas Klausner.
12961
12962         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
12963         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
12964         literal -0.0.
12965         Reported by Jonathan C. Patschke <jp@centtech.com>.
12966
12967 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12968
12969         * lib/glthread/cond.h: Use dummy implementation also if
12970         USE_WIN32_THREADS.
12971
12972 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12973
12974         * modules/fnmatch-posix (License): Change to LGPLv2+.
12975         * modules/fnmatch-gnu (License): Likewise.
12976
12977 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12978
12979         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
12980
12981 2008-09-11  Jim Meyering  <meyering@redhat.com>
12982
12983         * users.txt: Add gtk-vnc.
12984
12985 2008-09-08  Simon Josefsson  <simon@josefsson.org>
12986
12987         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
12988         rotate amounts.
12989
12990         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
12991         required for 16-bit and 8-bit rotates.
12992         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
12993         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
12994         UINT8_MAX instead of hard-coded constants.
12995         Suggested by Paul Eggert.
12996
12997 2008-09-07  Bruno Haible  <bruno@clisp.org>
12998
12999         * tests/test-striconveh.c (main): Check behaviour when converting from
13000         UTF-7.
13001
13002         Make striconveh work better with stateful encodings.
13003         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
13004         that iconv does not increment the inptr when returning -1/EINVAL.
13005
13006 2008-09-07  Bruno Haible  <bruno@clisp.org>
13007
13008         * build-aux/config.rpath: Update according to libtool-2.2.6.
13009         * build-aux/config.libpath: Likewise.
13010
13011 2008-09-06  Bruno Haible  <bruno@clisp.org>
13012
13013         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
13014         * lib/freadptr.c (freadptr): Likewise.
13015         * lib/freadseek.c (freadptrinc): Likewise.
13016         Reported by Simon Josefsson.
13017
13018 2008-09-06  Bruno Haible  <bruno@clisp.org>
13019
13020         * modules/freadptr (License): Change to LGPLv2+.
13021         * modules/freadseek (License): Likewise.
13022         Suggested by Eric Blake.
13023
13024         * modules/memchr2 (License): Change to LGPLv2+.
13025         Approved by Eric Blake.
13026
13027 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13028             Bruno Haible  <bruno@clisp.org>
13029
13030         Make gnulib-tool work with native 'sed' on AIX.
13031         * gnulib-tool (sed_noop): New variable.
13032         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
13033         func_add_or_update, func_create_testdir): Use it to initialize sed
13034         script variables.
13035         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13036
13037 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
13038             Bruno Haible  <bruno@clisp.org>
13039
13040         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
13041         also works after #include directives.
13042
13043 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
13044
13045         getdate.y: reject an out-of-range timezone value
13046         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
13047         the range [-24...+24].  When specified with only one or two digits,
13048         * tests/test-getdate.c: Tests for the fix.
13049         * doc/getdate.texi: Document this change.
13050
13051 2008-09-03  Bruno Haible  <bruno@clisp.org>
13052
13053         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
13054
13055 2008-09-02  Simon Josefsson  <simon@josefsson.org>
13056
13057         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
13058         <bruce.korb@gmail.com> with ideas from Ben Pfaff
13059         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
13060         Blake <ebb9@byu.net>.
13061
13062         * tests/test-bitrotate.c: Add more test vectors.
13063
13064 2008-09-02  Eric Blake  <ebb9@byu.net>
13065
13066         vasnprintf-posix: handle large precision via %.*d
13067         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
13068         when handling it ourselves.
13069         * tests/test-vasnprintf-posix.c (test_function): Add test.
13070         * tests/test-snprintf-posix.h (test_function): Likewise.
13071         * tests/test-sprintf-posix.h (test_function): Likewise.
13072         * tests/test-vasprintf-posix.c (test_function): Likewise.
13073         Reported by Alain Guibert.
13074
13075 2008-09-01  Eric Blake  <ebb9@byu.net>
13076
13077         c-stack: make configure-time check more robust
13078         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
13079         successful sigaction call.
13080         Reported by Tom G. Christensen.
13081
13082 2008-09-01  Bruno Haible  <bruno@clisp.org>
13083
13084         New module 'findprog-lgpl'.
13085         * modules/findprog-lgpl: New file.
13086         * lib/findprog-lgpl.c: New file.
13087         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
13088         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
13089         to decide whether to use strdup or xstrdup, concatenated_filename or
13090         xconcatenated_filename.
13091
13092 2008-09-01  Bruno Haible  <bruno@clisp.org>
13093
13094         Split module 'concat-filename' into 'concat-filename' (LGPL) and
13095         'xconcat-filename' (GPL).
13096         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
13097         (License): Change to LGPLv2+.
13098         * modules/xconcat-filename: New file.
13099         * lib/concat-filename.h (concatenated_filename): Change specification.
13100         (xconcatenated_filename): New declaration.
13101         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
13102         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
13103         memory situations.
13104         * lib/xconcat-filename.c: New file.
13105         * NEWS: Mention the change.
13106         * lib/findprog.c: Include concat-filename.h, not filename.h.
13107         (find_in_path): Use xconcatenated_filename instead of
13108         concatenated_filename.
13109         * lib/javacomp.c: Include concat-filename.h, not filename.h.
13110         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
13111         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
13112         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
13113         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
13114         instead of concatenated_filename.
13115         * lib/javaexec.c: Include concat-filename.h, not filename.h.
13116         (execute_java_class): Use xconcatenated_filename instead of
13117         concatenated_filename.
13118         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
13119         * modules/javacomp (Depends-on): Likewise.
13120         * modules/javaexec (Depends-on): Likewise.
13121
13122 2008-09-01  Bruno Haible  <bruno@clisp.org>
13123
13124         Split module 'filename' into 'filename' and 'concat-filename'.
13125         * modules/filename: Keep only lib/filename.h.
13126         (License): Change to LGPLv2+.
13127         * modules/concat-filename: New file, extracted from modules/filename.
13128         * lib/filename.h (concatenated_filename): Remove declaration.
13129         * lib/concat-filename.h: New file, extracted from lib/filename.h.
13130         * lib/concat-filename.c: Include concat-filename.h.
13131         * NEWS: Mention the change.
13132
13133 2008-09-01  Simon Josefsson  <simon@josefsson.org>
13134
13135         * lib/bitrotate.h (rotl8, rotr8): Add.
13136
13137         * modules/bitrotate (configure.ac): Need
13138         AC_REQUIRE([AC_C_INLINE]).
13139         (Description): Mention stdint.h.  Reported by Bruno Haible
13140         <bruno@clisp.org>.
13141
13142         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
13143         Paolo Bonzini <bonzini@gnu.org>.
13144
13145 2008-08-31  Bruno Haible  <bruno@clisp.org>
13146
13147         Assume Solaris specific bi-arch conventions on Solaris systems.
13148         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
13149         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
13150         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
13151         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
13152         like acl_libdirstem.
13153         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
13154         acl_libdirstem.
13155         * NEWS: Mention the change.
13156         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
13157
13158 2008-08-31  Jim Meyering  <meyering@redhat.com>
13159
13160         * lib/strftime.h: Add comments describing the two added arguments.
13161
13162         remove duplicate #include directives
13163         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
13164         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
13165
13166 2008-08-31  Bruno Haible  <bruno@clisp.org>
13167
13168         New module 'sigpipe-die'.
13169         * modules/sigpipe-die: New file.
13170         * lib/sigpipe-die.h: New file.
13171         * lib/sigpipe-die.c: New file.
13172         * MODULES.html.sh (Signal handling): Add sigpipe-die.
13173
13174 2008-08-31  Bruno Haible  <bruno@clisp.org>
13175
13176         Don't override previously installed signal handlers.
13177         * lib/fatal-signal.c (saved_sigactions): New variable.
13178         (uninstall_handlers): Reset the signal to the saved handler, not
13179         to SIG_DFL (except when ignored).
13180         (install_handlers): Save the previous handlers.
13181
13182 2008-08-30  Bruno Haible  <bruno@clisp.org>
13183
13184         * gnulib-tool (func_reset_sigpipe): New function.
13185         (func_get_automake_snippet, func_modules_transitive_closure,
13186         func_import): Invoke it before a join command that reads from stdin,
13187         to avoid "echo: write error: Broken pipe" error messages on stderr.
13188         Reported by Sam Steingold <sds@gnu.org>.
13189
13190 2008-08-30  Bruno Haible  <bruno@clisp.org>
13191
13192         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
13193         Code copied from m4/open.m4.
13194         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
13195         access and the filename ends in a slash. Code copied from lib/open.c.
13196         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
13197         * tests/test-fopen.c (main): Check against bug with trailing slash.
13198
13199 2008-08-29  Bruno Haible  <bruno@clisp.org>
13200
13201         Avoid some "gcc -pedantic" warnings.
13202         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
13203         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
13204         * lib/dirent.in.h: Likewise.
13205         * lib/fcntl.in.h: Likewise.
13206         * lib/float.in.h: Likewise.
13207         * lib/iconv.in.h: Likewise.
13208         * lib/inttypes.in.h: Likewise.
13209         * lib/locale.in.h: Likewise.
13210         * lib/math.in.h: Likewise.
13211         * lib/netinet_in.in.h: Likewise.
13212         * lib/search.in.h: Likewise.
13213         * lib/signal.in.h: Likewise.
13214         * lib/stdarg.in.h: Likewise.
13215         * lib/stdint.in.h: Likewise.
13216         * lib/stdio.in.h: Likewise.
13217         * lib/stdlib.in.h: Likewise.
13218         * lib/string.in.h: Likewise.
13219         * lib/strings.in.h: Likewise.
13220         * lib/sys_select.in.h: Likewise.
13221         * lib/sys_socket.in.h: Likewise.
13222         * lib/sys_stat.in.h: Likewise.
13223         * lib/sys_time.in.h: Likewise.
13224         * lib/sysexits.in.h: Likewise.
13225         * lib/time.in.h: Likewise.
13226         * lib/unistd.in.h: Likewise.
13227         * lib/wchar.in.h: Likewise.
13228         * lib/wctype.in.h: Likewise.
13229         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
13230         * modules/fchdir (Makefile.am): Likewise.
13231         * modules/fcntl (Makefile.am): Likewise.
13232         * modules/float (Makefile.am): Likewise.
13233         * modules/iconv_open (Makefile.am): Likewise.
13234         * modules/inttypes (Makefile.am): Likewise.
13235         * modules/locale (Makefile.am): Likewise.
13236         * modules/math (Makefile.am): Likewise.
13237         * modules/netinet_in (Makefile.am): Likewise.
13238         * modules/search (Makefile.am): Likewise.
13239         * modules/signal (Makefile.am): Likewise.
13240         * modules/stdarg (Makefile.am): Likewise.
13241         * modules/stdint (Makefile.am): Likewise.
13242         * modules/stdio (Makefile.am): Likewise.
13243         * modules/stdlib (Makefile.am): Likewise.
13244         * modules/string (Makefile.am): Likewise.
13245         * modules/strings (Makefile.am): Likewise.
13246         * modules/sys_select (Makefile.am): Likewise.
13247         * modules/sys_socket (Makefile.am): Likewise.
13248         * modules/sys_stat (Makefile.am): Likewise.
13249         * modules/sys_time (Makefile.am): Likewise.
13250         * modules/sysexits (Makefile.am): Likewise.
13251         * modules/time (Makefile.am): Likewise.
13252         * modules/unistd (Makefile.am): Likewise.
13253         * modules/wchar (Makefile.am): Likewise.
13254         * modules/wctype (Makefile.am): Likewise.
13255         Reported by Reuben Thomas <rrt@sc3d.org>.
13256
13257 2008-08-29  Bruno Haible  <bruno@clisp.org>
13258
13259         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
13260         any more.
13261
13262 2008-08-29  Simon Josefsson  <simon@josefsson.org>
13263
13264         * MODULES.html.sh (Misc): Add bitrotate.
13265
13266         * modules/bitrotate: New file.
13267
13268         * lib/bitrotate.h: New file.
13269
13270         * modules/bitrotate-tests: New file.
13271
13272         * tests/test-bitrotate.c: New file.
13273
13274         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
13275         on the bitrotate module.
13276
13277         * lib/arctwo.c: Use new bitrotate module.
13278
13279 2008-08-29  Jim Meyering  <meyering@redhat.com>
13280
13281         bootstrap: merge changes from coreutils
13282         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
13283         of copied files.  Remove a kludge, now that this is fixed.
13284         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
13285         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
13286         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
13287
13288 2008-08-29  Bruno Haible  <bruno@clisp.org>
13289
13290         * MODULES.html.sh: Remove --cvs-urls option.
13291
13292 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
13293
13294         maint.mk: adjust to file name change
13295         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
13296
13297 2008-08-28  Jim Meyering  <meyering@redhat.com>
13298
13299         * modules/getndelim2 (License): Relicense to LGPLv2+.
13300         Approved by Richard Stallman for the version of 1995, and by
13301         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
13302
13303 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
13304
13305         * lib/getdelim.c (flockfile, funlockfile): Make all of them
13306         dummy if one is not available.  Do not touch them if
13307         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
13308         (getc_maybe_unlocked): New.
13309         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
13310
13311 2008-08-26  Eric Blake  <ebb9@byu.net>
13312
13313         doc/INSTALL: resync from autoconf
13314         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
13315         (INSTALL_PRELUDE): Delete; this is done more efficiently by
13316         moving...
13317         * install.texi [!autoconf]: ...here.  Resync from autoconf.
13318         * INSTALL: Regenerate.
13319         * INSTALL.ISO: New file.
13320         * INSTALL.UTF-8: Likewise.
13321
13322 2008-08-26  Jim Meyering  <meyering@redhat.com>
13323
13324         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
13325         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
13326         these definitions conditional, so that they may be overridden, too.
13327
13328 2008-08-26  Bruno Haible  <bruno@clisp.org>
13329
13330         Generate INSTALL file variants with prettier quotes.
13331         * doc/Makefile (INSTALL_PRELUDE): New macro.
13332         (INSTALL): Use it.
13333         (INSTALL.ISO, INSTALL.UTF-8): New rules.
13334
13335 2008-08-26  Bruno Haible  <bruno@clisp.org>
13336
13337         Run makeinfo in an English locale.
13338         * doc/Makefile (MAKEINFO): New variable.
13339
13340 2008-08-26  Bruno Haible  <bruno@clisp.org>
13341
13342         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
13343         Suggested by Eric Blake.
13344
13345 2008-08-25  Bruno Haible  <bruno@clisp.org>
13346
13347         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
13348
13349 2008-08-25  Eric Blake  <ebb9@byu.net>
13350
13351         c-stack: test that stack overflow can be caught
13352         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
13353         that platform allows handling stack overflow; at least OS/2 EMX
13354         has sigaltstack, but crashes before transferring control to
13355         handler on stack overflow.
13356         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
13357         check for HAVE_STACK_OVERFLOW_HANDLING.
13358         Reported by Elbert Pol.
13359
13360 2008-08-25  Bruno Haible  <bruno@clisp.org>
13361
13362         * doc/posix-functions/strftime.texi: Fix description of strftime
13363         module.
13364
13365 2008-08-24  Bruno Haible  <bruno@clisp.org>
13366
13367         * tests/uniwidth/test-uc_width2.c: New file.
13368         * tests/uniwidth/test-uc_width2.sh: New file.
13369         * modules/uniwidth/width-tests (Files): Add the new files.
13370         (TESTS): Add uniwidth/test-uc_width2.sh.
13371         (TESTS_ENVIRONMENT): New variable.
13372         (check_PROGRAMS): Add test-uc_width2.
13373         (test_uc_width2_SOURCES): New variable.
13374
13375         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
13376         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
13377         not 0x00AB.
13378         Reported by Alexander V. Lukyanov <lav@netis.ru>.
13379
13380 2008-08-22  Eric Blake  <ebb9@byu.net>
13381
13382         test-lock, test-tls: mention why a test is skipped
13383         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
13384         skipped.
13385         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
13386
13387         count-one-bits: relax license
13388         * modules/count-one-bits (License): Relicense to LGPLv2+.
13389         Suggested by Ludovic Courtès, approved by Ben Pfaff.
13390
13391 2008-08-22  Andreas Schwab  <schwab@suse.de>
13392
13393         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
13394         Remove spurious space in assignment.
13395
13396 2008-08-21  Simon Josefsson  <simon@josefsson.org>
13397
13398         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
13399         Paul Eggert <eggert@CS.UCLA.EDU>.
13400
13401 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
13402
13403         * modules/gettext: Add m4/threadlib.m4.
13404
13405 2008-08-19  Eric Blake  <ebb9@byu.net>
13406
13407         test-c-stack: fix compilation failure on FreeBSD 5.0
13408         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
13409         headers before <sys/resource.h>.
13410         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
13411         the bug.
13412         Reported by Nelson H. F. Beebe.
13413
13414         strverscmp: migrate from "strverscmp.h" to <string.h>
13415         * modules/string (Makefile.am): Add new hooks.
13416         * modules/strverscmp (Files): Remove strverscmp.h.
13417         (Depends-on): Add string.
13418         (configure.ac): Add indicator.
13419         (Include): Mention new header.
13420         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
13421         defaults.
13422         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
13423         results.
13424         * lib/strverscmp.h: Delete.
13425         * lib/string.in.h (strverscmp): Provide declaration, when needed.
13426         * tests/test-strverscmp.c (includes): Adjust client.
13427         * lib/check-version.c (includes): Likewise.
13428         * NEWS: Document the change.
13429
13430         strverscmp: add unit test
13431         * modules/strverscmp-tests: New file.
13432         * tests/test-strverscmp.c: Likewise.
13433
13434 2008-08-19  Simon Josefsson  <simon@josefsson.org>
13435
13436         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
13437         regarding Windows crypto stuff, from Mono.
13438
13439 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
13440
13441         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
13442         if present, for intel RND.  Return error on failures.
13443
13444 2008-08-18  Ben Pfaff  <blp@gnu.org>
13445
13446         gitlog-to-changelog: give better diagnostic for failed pipe-open
13447         * build-aux/gitlog-to-changelog: Improve error message: suggest
13448         that the version of Git may be too old.
13449
13450 2008-08-18  Simon Josefsson  <simon@josefsson.org>
13451
13452         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
13453         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
13454
13455 2008-08-18  Bruno Haible  <bruno@clisp.org>
13456
13457         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
13458         pthread_in_use().
13459
13460 2008-08-18  Bruno Haible  <bruno@clisp.org>
13461
13462         * lib/glthread/threadlib.c: Include <pthread.h>.
13463
13464 2008-08-18  Bruno Haible  <bruno@clisp.org>
13465
13466         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
13467         glthread_recursive_lock_* macros.
13468         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
13469         Fix syntax error.
13470
13471 2008-08-18  Bruno Haible  <bruno@clisp.org>
13472
13473         * lib/glthread/thread.c: Avoid forcing a context switch right after
13474         thread creation.
13475
13476 2008-08-17  Bruno Haible  <bruno@clisp.org>
13477
13478         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
13479         * lib/glthread/thread.h: Provide Win32 specific implementation.
13480         * modules/thread (Files): Add lib/glthread/thread.c.
13481         (Depends-on): Add lock.
13482         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
13483
13484 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13485
13486         New module 'yield'.
13487         * modules/yield: New file.
13488         * lib/glthread/yield.h: New file.
13489         * m4/yield.m4: New file.
13490         * MODULES.html.sh (Multithreading): Add yield.
13491
13492 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13493
13494         New module 'thread'.
13495         * modules/thread: New file.
13496         * lib/glthread/thread.h: New file.
13497         * m4/thread.m4: New file.
13498         * MODULES.html.sh (Multithreading): Add thread.
13499
13500 2008-08-17  Bruno Haible  <bruno@clisp.org>
13501
13502         * lib/glthread/lock.h: Include <stdlib.h> always.
13503         * lib/glthread/tls.h: Likewise.
13504         * lib/glthread/cond.h: Likewise.
13505
13506 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13507
13508         New module 'cond'.
13509         * modules/cond: New file.
13510         * lib/glthread/cond.h: New file.
13511         * lib/glthread/cond.c: New file.
13512         * m4/cond.m4: New file.
13513         * MODULES.html.sh (Multithreading): Add cond.
13514
13515 2008-08-16  Eric Blake  <ebb9@byu.net>
13516
13517         c-stack: fix regression on Irix 5.3 from 2008-06-21
13518         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
13519         sa_sigaction...
13520         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
13521         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
13522         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
13523         * modules/signal (Makefile.am): Use the value.
13524         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
13525         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
13526         * doc/posix-headers/signal.texi (signal.h): Document this
13527         portability issue.
13528         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
13529         Reported by Tom G. Christensen.
13530
13531 2008-08-17  Bruno Haible  <bruno@clisp.org>
13532
13533         New module 'threadlib'.
13534         * modules/threadlib: New file.
13535         * lib/glthread/threadlib.c: New file, extracted from
13536         lib/glthread/lock.c.
13537         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
13538         functions.
13539         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
13540         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
13541         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
13542         macros.
13543         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
13544         (gl_DISABLE_THREADS): Remove macro.
13545         * modules/lock (Files): Remove build-aux/config.rpath.
13546         (Depends-on): Remove havelib. Add threadlib.
13547         (configure.ac-early): Remove section.
13548         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
13549         * modules/tls (Depends-on): Remove lock. Add threadlib.
13550         (Link): New section, copied from threadlib.
13551         * MODULES.html.sh (Multithreading): Add threadlib.
13552
13553 2008-08-14  Bruno Haible  <bruno@clisp.org>
13554
13555         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
13556         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
13557         glthread_rwlock_unlock, glthread_rwlock_destroy,
13558         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
13559         glthread_recursive_lock_destroy): Define as macros always.
13560         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
13561         glthread_lock_lock.
13562         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
13563         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
13564         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
13565         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
13566         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
13567         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
13568         (glthread_recursive_lock_lock_func): Renamed from
13569         glthread_recursive_lock_lock.
13570         (glthread_recursive_lock_unlock_func): Renamed from
13571         glthread_recursive_lock_unlock.
13572         (glthread_recursive_lock_destroy_func): Renamed from
13573         glthread_recursive_lock_destroy.
13574
13575 2008-08-14  Bruno Haible  <bruno@clisp.org>
13576
13577         * lib/glthread/lock.h: Renamed from lib/lock.h.
13578         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
13579         * lib/glthread/tls.h: Renamed from lib/tls.h.
13580         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
13581         * lib/fstrcmp.c: Update includes.
13582         * lib/strsignal.c: Update includes.
13583         * modules/lock (Files, Makefile.am): Update.
13584         (Include): Change to "glthread/lock.h".
13585         * modules/tls (Files, Makefile.am): Update.
13586         (Include): Change to "glthread/tls.h".
13587         * tests/test-lock.c: Update includes.
13588         * tests/test-tls.c: Update includes.
13589         * NEWS: Mention the renamed header files.
13590
13591 2008-08-11  Jim Meyering  <meyering@redhat.com>
13592
13593         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
13594
13595 2008-08-11  Eric Blake  <ebb9@byu.net>
13596
13597         test-c-stack: avoid C99-ism
13598         * tests/test-c-stack.c (main): Fix whitespace, move declaration
13599         before statement.
13600         Reported by Alain Guibert.
13601
13602 2008-08-10  Jim Meyering  <meyering@redhat.com>
13603
13604         ensure that return value of uinttostr et al are not ignored
13605         * lib/inttostr.h (__GNUC_PREREQ): Define.
13606         (__attribute_warn_unused_result__): Define.
13607         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
13608
13609 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
13610
13611         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
13612         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
13613
13614 2008-08-07  Jim Meyering  <meyering@redhat.com>
13615
13616         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
13617
13618         * modules/mkstemp (License): Relicense under LGPLv2+.
13619         * modules/tempname (License): Likewise.
13620
13621 2008-08-06  Bruno Haible  <bruno@clisp.org>
13622
13623         * lib/poll.c (poll): Further micro-optimization.
13624
13625 2008-08-06  Jim Meyering  <meyering@redhat.com>
13626
13627         inet_pton.c: use locale-independent tolower
13628         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
13629         (inet_pton6): Use c_tolower rather than tolower.
13630         * modules/inet_pton (Depends-on): Add c-ctype.
13631
13632 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
13633
13634         * lib/poll.c (poll): Avoid division when timeout is 0, cache
13635         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
13636
13637 2008-08-06  Jim Meyering  <meyering@redhat.com>
13638
13639         * modules/inet_pton (License): Relicense under LGPLv2+.
13640
13641 2008-08-03  Bruno Haible  <bruno@clisp.org>
13642
13643         Additional non-aborting API for lock and tls.
13644         * lib/lock.h: Include <errno.h>.
13645         (glthread_lock_init): New macro/function.
13646         (gl_lock_init): Define as wrapper around glthread_lock_init.
13647         (glthread_lock_lock): New macro/function.
13648         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
13649         (glthread_lock_unlock): New macro/function.
13650         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
13651         (glthread_lock_destroy): New macro/function.
13652         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
13653         (glthread_rwlock_init): New macro/function.
13654         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
13655         (glthread_rwlock_rdlock): New macro/function.
13656         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
13657         (glthread_rwlock_wrlock): New macro/function.
13658         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
13659         (glthread_rwlock_unlock): New macro/function.
13660         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
13661         (glthread_rwlock_destroy): New macro/function.
13662         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
13663         (glthread_recursive_lock_init): New macro/function.
13664         (gl_recursive_lock_init): Define as wrapper around
13665         glthread_recursive_lock_init.
13666         (glthread_recursive_lock_lock): New macro/function.
13667         (gl_recursive_lock_lock): Define as wrapper around
13668         glthread_recursive_lock_lock.
13669         (glthread_recursive_lock_unlock): New macro/function.
13670         (gl_recursive_lock_unlock): Define as wrapper around
13671         glthread_recursive_lock_unlock.
13672         (glthread_recursive_lock_destroy): New macro/function.
13673         (gl_recursive_lock_destroy): Define as wrapper around
13674         glthread_recursive_lock_destroy.
13675         (glthread_once): New macro/function.
13676         (gl_once): Define as wrapper around glthread_once.
13677         Update function declarations.
13678         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
13679         glthread_rwlock_init. Return error code.
13680         (glthread_rwlock_rdlock_multithreaded): Renamed from
13681         glthread_rwlock_rdlock. Return error code.
13682         (glthread_rwlock_wrlock_multithreaded): Renamed from
13683         glthread_rwlock_wrlock. Return error code.
13684         (glthread_rwlock_unlock_multithreaded): Renamed from
13685         glthread_rwlock_unlock. Return error code.
13686         (glthread_rwlock_destroy_multithreaded): Renamed from
13687         glthread_rwlock_destroy. Return error code.
13688         (glthread_recursive_lock_init_multithreaded): Renamed from
13689         glthread_recursive_lock_init. Return error code.
13690         (glthread_recursive_lock_lock_multithreaded): Renamed from
13691         glthread_recursive_lock_lock. Return error code.
13692         (glthread_recursive_lock_unlock_multithreaded): Renamed from
13693         glthread_recursive_lock_unlock. Return error code.
13694         (glthread_recursive_lock_destroy_multithreaded): Renamed from
13695         glthread_recursive_lock_destroy. Return error code.
13696         (glthread_once_call): Make static.
13697         (glthread_once_multithreaded): Renamed from glthread_once.
13698         * lib/tls.h: Include <errno.h>.
13699         (glthread_tls_key_init): New macro/function.
13700         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
13701         (glthread_tls_set): New macro/function.
13702         (gl_tls_set): Define as wrapper around glthread_tls_set.
13703         (glthread_tls_key_destroy): New macro/function.
13704         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
13705         Update function declarations.
13706         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
13707         glthread_tls_get.
13708         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
13709
13710 2008-08-04  Eric Blake  <ebb9@byu.net>
13711
13712         gnumakefile: use space, not TAB, outside of targets
13713         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
13714
13715 2008-08-02  Jim Meyering  <meyering@redhat.com>
13716
13717         getdate.y: avoid locale-dependent date parsing failure
13718         In Turkish locales, getdate would fail to recognize keywords
13719         containing a lowercase "i".  The solution is not to rely on
13720         locale-sensitive case-conversion.
13721         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
13722         (lookup_word): Use c_toupper in place of toupper.
13723         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
13724         Reported by Vefa Bicakci <bicave@superonline.com> in
13725         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
13726         * modules/getdate (Depends-on): Add c-ctype.
13727
13728 2008-08-02  Bruno Haible  <bruno@clisp.org>
13729
13730         * gnulib-tool (func_import): When updating or creating a .gitignore
13731         file, prepend each added line with a slash, and ignore leading slashes
13732         from the existing lines.
13733         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
13734
13735 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13736
13737         Portability fix for GNU make 3.79.1.
13738         * top/GNUmakefile: Avoid 'else COND', which older GNU make
13739         versions do not understand.
13740
13741 2008-08-01  Bruno Haible  <bruno@clisp.org>
13742
13743         Work around bug of HP-UX 10.20 cc with -0.0 literal.
13744         * tests/test-isnanf.h (zero): New variable.
13745         (main): Avoid literal -0.0f.
13746         * tests/test-isnand.h (zero): New variable.
13747         (main): Avoid literal -0.0.
13748         * tests/test-isnanl.h (zero): New variable.
13749         (main): Avoid literal -0.0L.
13750         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
13751         (test_float, test_double, test_long_double): Avoid literals -0.0f,
13752         -0.0, -0.0L.
13753         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
13754         (test_signbitd): Avoid literal -0.0.
13755         (test_signbitl): Avoid literal -0.0L.
13756         * tests/test-ceilf1.c (zero): New variable.
13757         (main): Avoid literal -0.0f.
13758         * tests/test-ceill.c (zero): New variable.
13759         (main): Avoid literal -0.0L.
13760         * tests/test-floorf1.c (zero): New variable.
13761         (main): Avoid literal -0.0f.
13762         * tests/test-floorl.c (zero): New variable.
13763         (main): Avoid literal -0.0L.
13764         * tests/test-roundf1.c (zero): New variable.
13765         (main): Avoid literal -0.0f.
13766         * tests/test-round1.c (zero): New variable.
13767         (main): Avoid literal -0.0.
13768         * tests/test-roundl.c (zero): New variable.
13769         (main): Avoid literal -0.0L.
13770         * tests/test-truncf1.c (zero): New variable.
13771         (main): Avoid literal -0.0f.
13772         * tests/test-trunc1.c (zero): New variable.
13773         (main): Avoid literal -0.0.
13774         * tests/test-truncl.c (zero): New variable.
13775         (main): Avoid literal -0.0L.
13776         * tests/test-frexp.c (zero): New variable.
13777         (main): Avoid literal -0.0.
13778         * tests/test-frexpl.c (zero): New variable.
13779         (main): Avoid literal -0.0L.
13780         * tests/test-ldexpl.c (zero): New variable.
13781         (main): Avoid literal -0.0L.
13782         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
13783         (zerod, zerol): New variables.
13784         (test_function): Avoid literals -0.0, -0.0L.
13785         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
13786         (zerod, zerol): New variables.
13787         (test_function): Avoid literals -0.0, -0.0L.
13788         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
13789         (zerod, zerol): New variables.
13790         (test_function): Avoid literals -0.0, -0.0L.
13791         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
13792         (zerod, zerol): New variables.
13793         (test_function): Avoid literals -0.0, -0.0L.
13794         * tests/test-strtod.c (zero): New variable.
13795         (main): Avoid literal -0.0.
13796         Reported by Jonathan C. Patschke <jp@centtech.com>.
13797
13798 2008-07-31  Jim Meyering  <meyering@redhat.com>
13799
13800         sha256.h: correct definition of SHA224_DIGEST_SIZE
13801         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
13802         Reported by Paulie Pena IV <paulie4@gmail.com>.
13803         Define as 224 / 8, rather than as a literal.
13804         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
13805         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
13806         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
13807
13808 2008-07-31  Bruno Haible  <bruno@clisp.org>
13809
13810         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
13811         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
13812         Reported by Jonathan Patschke <jp@centtech.com>.
13813
13814 2008-07-31  Bruno Haible  <bruno@clisp.org>
13815
13816         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
13817         Reported by Paolo Bonzini <bonzini@gnu.org>.
13818
13819 2008-07-30  Eric Blake  <ebb9@byu.net>
13820
13821         test-strtod: allow compilation without -lm
13822         * tests/test-strtod.c (main): Avoid link dependence on fabs.
13823         Reported by Dennis Clarke <blastwave@gmail.com>.
13824
13825 2008-07-28  Jim Meyering  <meyering@redhat.com>
13826
13827         bootstrap: work also when there are no .po files in po/
13828         * build-aux/bootstrap (update_po_files): Complete the change
13829         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
13830
13831 2008-07-27  Jim Meyering  <meyering@redhat.com>
13832
13833         * users.txt: Add zile.
13834
13835 2008-07-26  Ben Pfaff  <blp@gnu.org>
13836
13837         Add missing dependencies on new m4/exponent[fdl].m4 files.
13838         * modules/isnanf-nolibm: Add m4/exponentf.m4.
13839         * modules/isnand-nolibm: Add m4/exponentd.m4.
13840         * modules/isnanl-nolibm: Add m4/exponentl.m4.
13841         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
13842         m4/isnan[fdl].m4, because the macros actually used moved.
13843         Reported by Jim Meyering.
13844
13845 2008-07-14  Ben Pfaff  <blp@gnu.org>
13846
13847         Add isinf module.
13848         * lib/isinf.c: New file.
13849         * lib/math.in.h: Define isinf macro if we have decided to replace
13850         it.
13851         * m4/isinf.m4: New file.
13852         * m4/math_h.m4: Initialize and substitute variables for isinf
13853         module.
13854         * modules/isinf: New file.
13855         * modules/isinf-tests: New file.
13856         * modules/math: Add substitutions for new module.
13857         * tests/test-isinf.c: New file.
13858         * doc/posix-functions/isinf.texi: Mention new module.
13859         * MODULES.html.sh: Mention new module.
13860
13861 2008-07-14  Ben Pfaff  <blp@gnu.org>
13862
13863         Factor out some macros for use by additional modules.
13864         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
13865         exponentf.m4.
13866         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
13867         exponentd.m4.
13868         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
13869         file exponentl.m4.
13870         * m4/exponentf.m4: New file.
13871         * m4/exponentd.m4: New file.
13872         * m4/exponentl.m4: New file.
13873         * modules/isnanf: Use new file m4/exponentf.m4.
13874         * modules/isnand: Use new file m4/exponentd.m4.
13875         * modules/isnanl: Use new file m4/exponentl.m4.
13876
13877 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
13878
13879         mktime.c: normalize tp->tm_isdst value to -1/0/1.
13880         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
13881         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
13882         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
13883
13884         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
13885         readlink on platforms without PATH_MAX.
13886
13887 2008-07-21  Eric Blake  <ebb9@byu.net>
13888
13889         Warn, not fail, on stale version.
13890         * top/GNUmakefile (_curr-ver): Tone down previous patch.
13891
13892         Don't allow installation with stale devel version number.
13893         * top/GNUmakefile (_is-install-target): New macro.
13894         (_curr-ver): Forbid installation with stale version number.
13895
13896 2008-07-20  Bruno Haible  <bruno@clisp.org>
13897
13898         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
13899         TESTS_ENVIRONMENT.
13900         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
13901
13902 2008-07-20  Bruno Haible  <bruno@clisp.org>
13903
13904         * lib/c-stack.h (c_stack_action): Add documentation.
13905         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
13906
13907 2008-07-20  Bruno Haible  <bruno@clisp.org>
13908
13909         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
13910         * modules/readlink (License): Likewise.
13911
13912 2008-07-17  Eric Blake  <ebb9@byu.net>
13913
13914         * modules/c-stack (Link): Fix typo.
13915
13916         Make c-stack use libsigsegv, when available.
13917         * modules/c-stack (Depends-on): Add libsigsegv.
13918         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
13919         needed.
13920         * lib/c-stack.c (SIGSTKSZ): Define fallback.
13921         (segv_handler, overflow_handler, c_stack_action)
13922         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
13923         implementation when libsigsegv is available, but only when using
13924         the library is necessary.
13925         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
13926         comment, explaining why XSI check fails on Linux.
13927         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
13928         * tests/test-c-stack2.sh: Tweak skip message.
13929         * NEWS: Document new link-time requirements.
13930
13931 2008-07-16  Eric Blake  <ebb9@byu.net>
13932
13933         c-stack: Expose false positives when not using libsigsegv.
13934         * modules/c-stack-tests (Files): Expand test.
13935         * tests/test-c-stack.c (main): Add means to conditionally trigger
13936         non-overflow SIGSEGV.
13937         * tests/test-c-stack2.sh: New file.
13938
13939 2008-07-14  Bruno Haible  <bruno@clisp.org>
13940
13941         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
13942         Reported by Eric Blake.
13943
13944 2008-07-14  Sam Steingold  <sds@gnu.org>
13945             Bruno Haible  <bruno@clisp.org>
13946
13947         New module libsigsegv.
13948         * modules/libsigsegv: New file.
13949         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
13950         modifications.
13951         * MODULES.html.sh (Signal handling): New section.
13952
13953 2008-07-14  Bruno Haible  <bruno@clisp.org>
13954
13955         * modules/unictype/ctype-* (Description): Add the word "function".
13956         Improves the resulting doc in MODULES.html.
13957
13958 2008-07-12  Ben Pfaff  <blp@gnu.org>
13959
13960         Add longlong module.
13961         * modules/longlong: New file.
13962
13963 2008-07-12  Bruno Haible  <bruno@clisp.org>
13964
13965         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
13966         to empty.
13967
13968 2008-07-10  Ben Pfaff  <blp@gnu.org>
13969
13970         Add isnan module.
13971         * doc/posix-functions/isnan.texi: Mention new module.
13972         * lib/math.in.h: Define isnan macro if we have decided to replace
13973         it.
13974         * m4/isnan.m4: New file.
13975         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
13976         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
13977         also.
13978         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
13979         redundancy.
13980         * m4/math_h.m4: Initialize and substitute variables for isnan
13981         module.
13982         * modules/isnan: New file.
13983         * modules/isnan-tests: New file.
13984         * modules/math: Add substitutions for new module.
13985         * tests/test-isnan.c: New file.
13986         * MODULES.html.sh: Mention new module.
13987
13988 2008-07-10  Ben Pfaff  <blp@gnu.org>
13989
13990         Add isnanf module.
13991         * lib/isnanf.m4: New file.
13992         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
13993         (gl_HAVE_ISNANF_IN_LIBM): New macro.
13994         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
13995         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
13996         * modules/isnanf: New file.
13997         * modules/isnanf-tests: New file.
13998         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
13999         files.
14000         * tests/test-isnanf-nolibm.c: factored most of its contents into
14001         new file tests/test-isnanf.h.
14002         * tests/test-isnanf.h: New file.
14003         * tests/test-isnanf.c: New file.
14004         * MODULES.html.sh: Mention new module.
14005         * doc/glibc-functions/isnanf.texi: Mention new module.
14006
14007 2008-07-10  Ben Pfaff  <blp@gnu.org>
14008
14009         Add isnand module.
14010         * lib/isnand.h: New file.
14011         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
14012         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
14013         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
14014         functionality also.
14015         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
14016         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
14017         (gl_HAVE_ISNAND_IN_LIBM): New macro.
14018         * modules/isnand: New file.
14019         * modules/isnand-tests: New file.
14020         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
14021         files.
14022         * tests/test-isnand-nolibm.c: factored most of its contents into
14023         new file tests/test-isnand.h.
14024         * tests/test-isnand.h: New file.
14025         * tests/test-isnand.c: New file.
14026         * MODULES.html.sh: Mention new module.
14027
14028 2008-07-10  Ben Pfaff  <blp@gnu.org>
14029
14030         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
14031         * lib/isnand.h: Rename lib/isnand-nolibm.h.
14032         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
14033         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
14034         * modules/isnanf-nolibm: Update references to renamed files.
14035         * modules/isnand-nolibm: Likewise.
14036         * modules/isnanf-nolibm-tests: Likewise.
14037         * modules/isnand-nolibm-tests: Likewise.
14038         * lib/frexp.c: Likewise.
14039         * lib/isfinite.c: Likewise.
14040         * lib/signbitd.c: Likewise.
14041         * lib/signbitf.c: Likewise.
14042         * lib/vasnprintf.c: Likewise.
14043         * tests/test-ceilf1.c: Likewise.
14044         * tests/test-ceilf2.c: Likewise.
14045         * tests/test-floorf1.c: Likewise.
14046         * tests/test-floorf2.c: Likewise.
14047         * tests/test-frexp.c: Likewise.
14048         * tests/test-round1.c: Likewise.
14049         * tests/test-round2.c: Likewise.
14050         * tests/test-roundf1.c: Likewise.
14051         * tests/test-strtod.c: Likewise.
14052         * tests/test-trunc1.c: Likewise.
14053         * tests/test-trunc2.c: Likewise.
14054         * tests/test-truncf1.c: Likewise.
14055         * tests/test-truncf2.c: Likewise.
14056         * NEWS: Mention the renamed header files.
14057
14058 2008-07-11  Jim Meyering  <meyering@redhat.com>
14059
14060         vc-list-files: make the last-resort awk code more portable
14061         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
14062         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
14063         does not support it.
14064
14065 2008-07-10  Eric Blake  <ebb9@byu.net>
14066
14067         Work with tar's bootstrap.
14068         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
14069         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
14070         an m4 comment.
14071
14072 2008-07-09  Jim Meyering  <meyering@redhat.com>
14073
14074         posix-shell.m4: fix typo that made this test malfunction
14075         * m4/posix-shell.m4: Remove capitalization in variable name.
14076
14077 2008-07-08  Bruno Haible  <bruno@clisp.org>
14078
14079         * m4/onceonly.m4: Update comments.
14080         Reported by Ben Pfaff <blp@cs.stanford.edu>.
14081
14082 2008-07-04  Jim Meyering  <meyering@redhat.com>
14083
14084         * users.txt: Add vc-dwim.
14085         (bison, coreutils): Use the gitweb URL.
14086
14087 2008-07-03  Jim Meyering  <meyering@redhat.com>
14088
14089         * users.txt: Add libffcall.  From Sam Steingold.
14090
14091 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
14092
14093         getdate.y: do not ignore TZ with relative day, month or year offset
14094         * lib/getdate.y (get_date): Move the tz-handling block to follow the
14095         relative-date-handling, since otherwise, the latter would clobber the
14096         sole output (an updated Start value) of the tz-handling block.
14097         * tests/test-getdate.c: Tests for the fix
14098
14099 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14100
14101         Recognize 'foo_LIBRARIES += libgnu.a'.
14102         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
14103         makefile snippet has already specified an installation location,
14104         also using '+='.
14105
14106 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
14107
14108         getdate.y: factor out common actions
14109         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
14110         Use them in place of open-coded actions.
14111
14112 2008-07-01  Simon Josefsson  <simon@josefsson.org>
14113
14114         Add self-test for getdate module.
14115         * modules/getdate-tests: New file.
14116         * tests/test-getdate.c: New file.
14117
14118 2008-06-29  Bruno Haible  <bruno@clisp.org>
14119
14120         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
14121         .gitignore.
14122         Reported by Sylvain Beucler <beuc@beuc.net>.
14123
14124 2008-06-29  Bruno Haible  <bruno@clisp.org>
14125
14126         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
14127         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
14128
14129 2008-06-29  Bruno Haible  <bruno@clisp.org>
14130
14131         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
14132         EXTRA_DIST.
14133         Reported by Sylvain Beucler <beuc@beuc.net>.
14134
14135 2008-06-26  Jim Meyering  <meyering@redhat.com>
14136
14137         make several modules depend on the "open" module
14138         This provides slightly increased consistency when opening-for-write
14139         the name of a non-directory spelled with a trailing slash.
14140         * modules/chdir-safer: Likewise.
14141         * modules/chown: Likewise.
14142         * modules/clean-temp: Likewise.
14143         * modules/copy-file: Likewise.
14144         * modules/fchdir: Likewise.
14145         * modules/fcntl-safer: Likewise.
14146         * modules/pipe: Likewise.
14147         * modules/utime: Likewise.
14148         Prompted by Eric Blake and Bruno Haible.
14149
14150 2008-06-24  Andreas Schwab  <schwab@suse.de>
14151
14152         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
14153         literals can be used as initializers for global variables.
14154
14155 2008-06-23  Eric Blake  <ebb9@byu.net>
14156
14157         Make gnulib-cache.m4 easier to diff.
14158         * gnulib-tool (func_import): Allow newlines when reading cached
14159         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
14160
14161 2008-06-23  Bruno Haible  <bruno@clisp.org>
14162
14163         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
14164         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
14165         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
14166         m4/signalblocking.m4.
14167         (gl_PREREQ_SIGACTION): Don't invoke it.
14168         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
14169         gl_PREREQ_SIG_HANDLER_H.
14170         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
14171         Don't check for sigaction here.
14172
14173 2008-06-23  Bruno Haible  <bruno@clisp.org>
14174
14175         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
14176         (install_handlers): Don't set the SA_RESETHAND flag.
14177
14178 2008-06-23  Bruno Haible  <bruno@clisp.org>
14179
14180         * m4/sigaction.m4: Comment fixes.
14181         * lib/signal.in.h: Likewise.
14182
14183 2008-06-23  Eric Blake  <ebb9@byu.net>
14184
14185         Fix typo.
14186         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
14187
14188         Avoid SA_ namespace.
14189         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
14190         Reported by Ralf Wildenhues.
14191
14192         Avoid test failure due to SA_RESTORER.
14193         * tests/test-sigaction.c (SA_MASK): New macro.
14194         (main): Avoid failing due to extension flags being set.
14195         Reported by Jim Meyering.
14196
14197         Revert use of sig-handler.h in sigprocmask.c.
14198         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
14199         it requires the existence of struct sigaction.
14200         * lib/sigprocmask.c (handler_t): Restore typedef.
14201         (rpl_signal, old_handlers): Use local type.
14202
14203 2008-06-22  Bruno Haible  <bruno@clisp.org>
14204
14205         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
14206         conditionally.
14207         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
14208
14209 2008-06-22  Bruno Haible  <bruno@clisp.org>
14210
14211         * doc/posix-functions/siginterrupt.texi: Move note.
14212
14213         * lib/signal.in.h (SA_RESTART): New macro.
14214         * lib/sigaction.c: Update comment.
14215
14216         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
14217
14218         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
14219         (gl_PREREQ_SIGPROCMASK): Invoke it.
14220         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
14221
14222         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
14223
14224         * lib/sigprocmask.c: Update a comment.
14225
14226 2008-06-21  Eric Blake  <ebb9@byu.net>
14227
14228         Use sigaction module rather than signal().
14229         * modules/c-stack (Depends-on): Add sigaction.
14230         * modules/fatal-signal (Depends-on): Likewise.
14231         * modules/nanosleep (Depends-on): Likewise.
14232         * modules/sigprocmask (Files): Add sig-handler.h.
14233         * modules/sigaction (Files): Likewise.
14234         * lib/sig-handler.h (get_handler): New file, suggested by Paul
14235         Eggert.
14236         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
14237         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
14238         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
14239         (init_fatal_signals): Likewise.
14240         * lib/nanosleep.c (rpl_nanosleep): Likewise.
14241         (siginterrupt): Delete fallback.
14242         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
14243         instead.
14244         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
14245         siginterrupt.
14246
14247         New module sigaction, for mingw.
14248         * modules/sigaction: New module...
14249         * modules/sigaction-tests: ...and its test.
14250         * m4/sigaction.m4: New file.
14251         * lib/sigaction.c: Likewise.
14252         * tests/test-sigaction.c: Likewise.
14253         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
14254         * modules/signal (Makefile.am): Likewise.
14255         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
14256         needed.
14257         * doc/posix-headers/signal.texi (signal.h): Mention provided
14258         types.
14259         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
14260         that sigaction is preferable.
14261         * doc/posix-functions/sigaction.texi (sigaction): Mention new
14262         module.
14263         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14264         sigaction.
14265
14266         Improve robustness of sigprocmask by overriding signal.
14267         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
14268         is in use.
14269         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
14270         (SIGKILL, SIGSTOP): Provide fallbacks.
14271         (rpl_signal): Implement.
14272         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
14273         signal can be called inside handlers.
14274
14275         Fix nanosleep module on mingw.
14276         * modules/nanosleep (Depends-on): Add sys_select.
14277         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
14278
14279         Fix licensing of sigprocmask.
14280         * modules/raise (License): Relicense as LGPL.
14281
14282 2008-06-21  Bruno Haible  <bruno@clisp.org>
14283
14284         * lib/propername.c (proper_name_utf8): Don't use the transliterated
14285         result if it contains question marks.
14286         Reported by Michael Geng <linux@michaelgeng.de>.
14287
14288 2008-06-19  Bruno Haible  <bruno@clisp.org>
14289
14290         Fix CVS-ism.
14291         * doc/gnulib.texi: Include updated-stamp.texi.
14292         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
14293         (updated-stamp.texi): New rule.
14294         (gnulib.info): Depend on it.
14295         * doc/.gitignore: Add updated-stamp.texi.
14296         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
14297
14298 2008-06-19  Bruno Haible  <bruno@clisp.org>
14299
14300         * doc/Makefile (gnulib.info): Update and simplify dependencies.
14301         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
14302
14303 2008-06-19  Eric Blake  <ebb9@byu.net>
14304
14305         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
14306         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
14307         Reported by Stepan Kasal.
14308
14309 2008-06-18  Bruno Haible  <bruno@clisp.org>
14310
14311         * lib/fatal-signal.c (init_fatal_signals): Add comment.
14312         Reported by Eric Blake.
14313
14314 2008-06-18  Eric Blake  <ebb9@byu.net>
14315
14316         Work around cygwin 1.5.25 strsignal bug.
14317         * tests/test-strsignal.c: Allow for const char *.
14318         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
14319
14320 2008-06-18  Simon Josefsson  <simon@josefsson.org>
14321
14322         * users.txt: Update URL to article and add author/date
14323         information.
14324
14325 2008-06-17  Bruno Haible  <bruno@clisp.org>
14326
14327         New macro gl_DISABLE_THREADS.
14328         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
14329         if the user did not pass --enable-threads or --disable-threads option.
14330         (gl_DISABLE_THREADS): New macro.
14331         Reported by Eric Blake <ebb9@byu.net>.
14332
14333 2008-06-17  Bruno Haible  <bruno@clisp.org>
14334
14335         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
14336         when the macro ignores it.
14337         Based on a patch by Eric Blake <ebb9@byu.net>.
14338
14339 2008-06-17  Bruno Haible  <bruno@clisp.org>
14340
14341         * modules/tls (License): Change to LGPLv2+.
14342         Reported by Eric Blake.
14343
14344 2008-06-17  Eric Blake  <ebb9@byu.net>
14345
14346         Simplify c-stack prerequisites.
14347         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
14348         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
14349         no longer requires <ucontext.h> to exist.  Optimize setrlimit
14350         check.
14351         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
14352         <sys/resource.h>.
14353
14354         Move c-stack test into testsuite.
14355         * modules/c-stack-tests: New file.
14356         * lib/c-stack.c [DEBUG]: Move test program...
14357         * tests/test-c-stack.c: ...into this new file.  Skip rather than
14358         fail test if sigaltstack is lacking.
14359         * tests/test-c-stack.sh: New driver file.
14360
14361 2008-06-16  Eric Blake  <ebb9@byu.net>
14362
14363         Use raise module consistently.
14364         * modules/fatal-signal (Depends-on): Add raise.
14365         * modules/sigprocmask (Depends-on): Likewise.
14366         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
14367         * lib/sigprocmask.c (sigprocmask): Likewise.
14368         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
14369         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
14370
14371         Fix compliance bug in sigpending.
14372         * lib/sigprocmask.c (sigpending): Return pending array via
14373         parameter, not return value.
14374
14375 2008-06-14  Eric Blake  <ebb9@byu.net>
14376
14377         Improve obstack-printf test code.
14378         * tests/test-obstack-printf.c (test_function): Fix comment, and
14379         simplify usage of obstack_* in macros.  Add a test for coverage.
14380         Reported by Bruno Haible.
14381
14382 2008-06-14  Bruno Haible  <bruno@clisp.org>
14383
14384         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
14385         array size as a constant, not as a const variable.
14386         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
14387         AC_USE_SYSTEM_EXTENSIONS.
14388         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
14389         Test whether the obstack_printf function actually exists.
14390         * modules/obstack-printf (Depends-on): Add extensions.
14391         (Include): Remove obstack.h.
14392         * modules/obstack-printf-posix (Depends-on): Add extensions.
14393         (Include): Remove obstack.h.
14394
14395 2008-06-13  Eric Blake  <ebb9@byu.net>
14396
14397         Add obstack-printf and obstack-printf-posix modules.
14398         * modules/obstack-printf: New file.
14399         * modules/obstack-printf-posix: Likewise.
14400         * MODULES.html.sh (Misc): Mention them.
14401         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
14402         Likewise.
14403         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
14404         Likewise.
14405         * modules/stdio (Makefile.am): Accomodate new modules.
14406         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
14407         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
14408         Declare.
14409         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
14410         functions.
14411         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
14412         (gl_REPLACE_OBSTACK_PRINTF): New macros
14413         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
14414         * tests/test-obstack-printf.c: New file.
14415         * modules/obstack-printf-tests: Likewise.
14416         * modules/obstack-printf-posix-tests: Likewise.
14417
14418 2008-06-11  Bruno Haible  <bruno@clisp.org>
14419
14420         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
14421         * lib/open.c: Include errno.h.
14422         (open): Fail when attempting to write to a file that has a trailing
14423         slash.
14424         * tests/test-open.c (main): Test against trailing slash bug.
14425         * doc/posix-functions/open.texi: Mention the trailing slash bug.
14426
14427 2008-06-10  Bruno Haible  <bruno@clisp.org>
14428
14429         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
14430         for $? to work inside the trap command, with various /bin/sh-s.
14431         * tests/test-vc-list-files-cvs.sh: Likewise.
14432
14433 2008-06-10  Bruno Haible  <bruno@clisp.org>
14434
14435         * lib/acl-internal.h: Don't include gettext.h here.
14436         * lib/set-mode-acl.c: Include gettext.h here.
14437         * lib/copy-acl.c: Likewise.
14438
14439 2008-06-10  Bruno Haible  <bruno@clisp.org>
14440
14441         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
14442         * lib/wait-process.c (wait_subprocess): Likewise.
14443         * lib/execute.h (execute): Add termsigp argument.
14444         * lib/execute.c (execute): Likewise.
14445         * lib/csharpcomp.c (compile_csharp_using_pnet,
14446         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
14447         * lib/csharpexec.c (execute_csharp_using_pnet,
14448         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
14449         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
14450         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
14451         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
14452         is_jikes_present): Update.
14453         * lib/javaexec.c (execute_java_class): Update.
14454         * lib/javaversion.c (execute_and_read_line): Update.
14455         * NEWS: Document the changes.
14456         Reported by Eric Blake.
14457
14458 2008-06-10  Eric Blake  <ebb9@byu.net>
14459
14460         Add missing include.
14461         * tests/test-strstr.c (includes): Add <signal.h>.
14462         * tests/test-strcasestr.c (includes): Likewise.
14463         * tests/test-memmem.c (includes): Likewise.
14464
14465 2008-06-10  Bruno Haible  <bruno@clisp.org>
14466
14467         * lib/wait-process.c (wait_subprocess): Add an assertion.
14468
14469 2008-06-10  Bruno Haible  <bruno@clisp.org>
14470
14471         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
14472
14473 2008-06-10  Bruno Haible  <bruno@clisp.org>
14474
14475         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
14476         using alarm().
14477         * tests/test-strcasestr.c (main): Likewise.
14478         * tests/test-strstr.c (main): Likewise.
14479
14480 2008-06-09  Bruno Haible  <bruno@clisp.org>
14481
14482         Work around the Solaris 10 ACE ACLs ABI change.
14483         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
14484         declare if ACL_NO_TRIVIAL is present.
14485         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
14486         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
14487         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
14488         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
14489         define if ACL_NO_TRIVIAL is present.
14490         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
14491         and use the current ABI.
14492         (file_has_acl): Use same #if condition as elsewhere.
14493         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
14494         in use, and use the current ABI.
14495         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
14496         Reported by Jim Meyering.
14497
14498 2008-06-09  Eric Blake  <ebb9@byu.net>
14499
14500         Work around environments that (stupidly) ignore SIGALRM.
14501         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
14502         before using alarm().
14503         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
14504         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
14505         Reported by Ian Beckwith <ianb@erislabs.net>.
14506
14507         Produce autobuild blurb earlier in log.
14508         * modules/autobuild (configure.ac-early): Move AB_INIT here.
14509
14510 2008-06-09  Jim Meyering  <meyering@redhat.com>
14511         and Ondřej Vašík  <ovasik@redhat.com>
14512
14513         utimens.c: correct kernel bug work-around
14514         Ondřej Vašík found that the invalid return value of 280 indicates
14515         failure, not success, and the kernel bug we're trying to work
14516         around affects not just the utimensat call, but also the fallback
14517         futimens call.
14518         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
14519         not success.
14520         [HAVE_FUTIMENS]: Use the same work-around, here.
14521
14522 2008-06-09  Jim Meyering  <meyering@redhat.com>
14523
14524         add more guards around definition of ACE_-related code
14525         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
14526         ALLOW and ACE_OWNER are also defined.
14527
14528 2008-06-08  Bruno Haible  <bruno@clisp.org>
14529
14530         * lib/acl-internal.h: Add me as co-author.
14531         * lib/file-has-acl.c: Likewise.
14532         * lib/set-mode-acl.c: Likewise.
14533         * lib/copy-acl.c: Likewise.
14534
14535 2008-06-08  Bruno Haible  <bruno@clisp.org>
14536
14537         Add support for AIX ACLs.
14538         * lib/acl-internal.h (acl_nontrivial): New declaration.
14539         * lib/file-has-acl.c (acl_nontrivial): New function.
14540         (file_has_acl): Add implementation using AIX 4 ACL API.
14541         * lib/set-mode-acl.c (qset_acl): Likewise.
14542         * lib/copy-acl.c (qcopy_acl): Likewise.
14543
14544 2008-06-08  Bruno Haible  <bruno@clisp.org>
14545
14546         Add support for HP-UX ACLs.
14547         * lib/acl-internal.h (acl_nontrivial): New declaration.
14548         * lib/file-has-acl.c (acl_nontrivial): New function.
14549         (file_has_acl): Add implementation using HP-UX 11 ACL API.
14550         * lib/set-mode-acl.c (qset_acl): Likewise.
14551         * lib/copy-acl.c (qcopy_acl): Likewise.
14552
14553 2008-06-08  Bruno Haible  <bruno@clisp.org>
14554
14555         Add support for Cygwin ACLs.
14556         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
14557         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
14558         the chmod_or_fchmod call.
14559         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
14560
14561 2008-06-08  Bruno Haible  <bruno@clisp.org>
14562
14563         Fix bug with setuid modes in Solaris 10+ code.
14564         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
14565         succeeded, when the mode contains some special bits.
14566
14567 2008-06-08  Bruno Haible  <bruno@clisp.org>
14568
14569         Add support for Solaris 7..10 ACLs.
14570         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
14571         declarations.
14572         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
14573         functions.
14574         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
14575         * lib/set-mode-acl.c (qset_acl): Likewise.
14576         * lib/copy-acl.c (qcopy_acl): Likewise.
14577
14578 2008-06-08  Bruno Haible  <bruno@clisp.org>
14579
14580         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
14581         declaration.
14582         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
14583         (acl_access_nontrivial): Remove MacOS X case.
14584         (file_has_acl): Use acl_extended_nontrivial.
14585         * lib/copy-acl.c (qcopy_acl): Likewise.
14586
14587 2008-06-08  Bruno Haible  <bruno@clisp.org>
14588
14589         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
14590
14591 2008-06-08  Jim Meyering  <meyering@redhat.com>
14592
14593         * modules/acl (Maintainer): Add Bruno Haible.
14594
14595 2008-06-07  Bruno Haible  <bruno@clisp.org>
14596
14597         Improve support for Tru64 ACLs.
14598         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
14599         ACL on OSF/1.
14600
14601 2008-06-07  Bruno Haible  <bruno@clisp.org>
14602
14603         Add support for MacOS X ACLs.
14604         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
14605         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
14606         * lib/set-mode-acl.c (qset_acl): Likewise.
14607         * lib/copy-acl.c (qcopy_acl): Likewise.
14608
14609 2008-06-07  Bruno Haible  <bruno@clisp.org>
14610
14611         Fix memory leak introduced on 2008-05-22.
14612         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
14613         use.
14614
14615 2008-06-07  Bruno Haible  <bruno@clisp.org>
14616
14617         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
14618         to construct an empty ACL.
14619
14620 2008-06-07  Bruno Haible  <bruno@clisp.org>
14621
14622         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
14623         precisely.
14624         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
14625
14626 2008-06-07  Bruno Haible  <bruno@clisp.org>
14627
14628         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
14629         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
14630
14631 2008-06-07  Bruno Haible  <bruno@clisp.org>
14632
14633         * doc/posix-functions/_setjmp.texi: Explain the use of this function
14634         regardless of POSIX.
14635         * doc/posix-functions/_longjmp.texi: Likewise.
14636         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
14637         SystemV platform in this case.
14638
14639 2008-06-06  Eric Blake  <ebb9@byu.net>
14640
14641         Document abort() bugs.
14642         * doc/posix-functions/abort.texi (abort): Mention anomalies.
14643
14644         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
14645         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
14646         sigsetjmp.
14647         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
14648         siglongjmp, but only as a macro.
14649         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
14650         is obsolete.
14651         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
14652
14653         Tweak documentation to cover cygwin argz bugs.
14654         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
14655         argz bug fix; no code change needed since no cygwin releases
14656         occurred between the last fix and the bug being tested.
14657         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
14658         module and recently fixed cygwin bugs.
14659         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
14660         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
14661         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
14662         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
14663         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
14664         Likewise.
14665         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
14666         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
14667         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
14668         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
14669         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
14670         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
14671         Likewise.
14672
14673         Avoid gcc warning on cygwin.
14674         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
14675         !ACL_NO_TRIVIAL]: Avoid unused variable.
14676
14677 2008-06-05  Eric Blake  <ebb9@byu.net>
14678
14679         Be tolerant of UNKNOWN version in gnulib-tool test dir.
14680         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
14681         git-version-gen fails to come up with a version.
14682         Reported by Simon Josefsson.
14683
14684 2008-06-05  Jim Meyering  <meyering@redhat.com>
14685             Paul Eggert  <eggert@cs.ucla.edu>
14686
14687         utimens.c: work around a probable Linux kernel bug
14688         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
14689         appears to be a kernel bug that causes utimensat to return 280
14690         instead of 0, indicating success.
14691
14692 2008-06-04  Bruno Haible  <bruno@clisp.org>
14693
14694         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
14695         2008-06-01 commit.
14696
14697 2008-06-04  Bruno Haible  <bruno@clisp.org>
14698
14699         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
14700         * lib/file-has-acl.c (acl_access_nontrivial): New function.
14701         (file_has_acl): Use it. Save errno afterwards.
14702         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
14703
14704 2008-06-03  Bruno Haible  <bruno@clisp.org>
14705
14706         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
14707         draft code. Simplify #ifs.
14708         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
14709         Put Solaris code after POSIX-draft code. Fix comments regarding
14710         Solaris 10, HP-UX. Mention Cygwin.
14711         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
14712
14713 2008-06-03  Eric Blake  <ebb9@byu.net>
14714
14715         Provide fallback for older kernels.
14716         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
14717         Provide runtime fallback if kernel lacks support.
14718         Reported by Mike Frysinger.
14719
14720 2008-06-02  Bruno Haible  <bruno@clisp.org>
14721
14722         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
14723         it exists.
14724
14725 2008-06-02  Bruno Haible  <bruno@clisp.org>
14726
14727         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
14728         * lib/copy-acl.c (qcopy_acl): Update comment.
14729
14730 2008-06-02  Bruno Haible  <bruno@clisp.org>
14731
14732         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
14733         like ACL APIs.
14734
14735 2008-06-02  Bruno Haible  <bruno@clisp.org>
14736
14737         * tests/test-file-has-acl.sh: Use different code for Cygwin.
14738         * tests/test-set-mode-acl.sh: Likewise.
14739         * tests/test-copy-acl.sh: Likewise.
14740         * tests/test-copy-file.sh: Likewise.
14741
14742 2008-06-02  Bruno Haible  <bruno@clisp.org>
14743
14744         * tests/test-file-has-acl.sh: Remove unused code.
14745
14746 2008-06-01  Bruno Haible  <bruno@clisp.org>
14747
14748         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
14749         (copy_acl): Just a wrapper around qcopy_acl that emits the error
14750         messages.
14751         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
14752
14753 2008-06-01  Bruno Haible  <bruno@clisp.org>
14754
14755         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
14756         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
14757         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
14758         APIs.
14759         * modules/acl-tests (configure.ac): Remove tests now contained in
14760         m4/acl.m4.
14761
14762 2008-06-02  Jim Meyering  <meyering@redhat.com>
14763
14764         announce-gen: use a better key-server host name
14765         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
14766         it may be more consistently reliable.  Suggested by Werner Koch
14767         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
14768
14769 2008-06-01  Bruno Haible  <bruno@clisp.org>
14770
14771         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
14772         Reported by Voroskoi Andras <voroskoi@gmail.com>.
14773
14774 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
14775
14776         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
14777
14778 2008-06-01  Bruno Haible  <bruno@clisp.org>
14779
14780         New ACL tests.
14781         * tests/test-file-has-acl.sh: New file.
14782         * tests/test-file-has-acl.c: New file.
14783         * tests/test-set-mode-acl.sh: New file.
14784         * tests/test-set-mode-acl.c: New file.
14785         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
14786         * tests/test-copy-acl.c: New file.
14787         * modules/acl-tests: New file, based on modules/copy-file-tests.
14788         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
14789         (Depends-on): Add acl-tests.
14790         (configure.ac): Remove checks.
14791         (Makefile.am): Don't create test-sameacls program here any more.
14792
14793 2008-06-01  Bruno Haible  <bruno@clisp.org>
14794
14795         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
14796         * tests/test-sameacls.c: Include progname.h.
14797         (main): Invoke set_program_name. Portability fixes for MacOS X,
14798         Solaris, HP-UX.
14799
14800 2008-06-01  Bruno Haible  <bruno@clisp.org>
14801
14802         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
14803         function.
14804         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
14805
14806 2008-06-01  Bruno Haible  <bruno@clisp.org>
14807
14808         * modules/rpmatch (Depends-on): Add strdup.
14809
14810 2008-06-01  Bruno Haible  <bruno@clisp.org>
14811
14812         * lib/pipe.c: Include unistd-safer.h.
14813         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
14814         * modules/pipe (Depends-on): Add unistd-safer.
14815
14816 2008-05-30  Simon Josefsson  <simon@josefsson.org>
14817
14818         * modules/autobuild (configure.ac): Call AB_INIT.
14819
14820 2008-05-30  Simon Josefsson  <simon@josefsson.org>
14821
14822         * tests/test-getaddrinfo.c: Don't print debug messages by default.
14823         Suggested by Bruno Haible <bruno@clisp.org>.
14824
14825 2008-05-30  Simon Josefsson  <simon@josefsson.org>
14826
14827         * tests/test-base64.c: Cast size_t to unsigned long when invoking
14828         printf.  Use %lu instead of %d.  Reported by Bruno Haible
14829         <bruno@clisp.org>.
14830
14831 2008-05-29  Eric Blake  <ebb9@byu.net>
14832
14833         Prefer new POSIX 200x interfaces over futimesat.
14834         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
14835         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
14836         when available.
14837         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
14838
14839 2008-05-28  Bruno Haible  <bruno@clisp.org>
14840
14841         * modules/stpcpy (License): Change to LGPLv2+.
14842         Requested by David Lutterkort <dlutter@redhat.com>.
14843
14844 2008-05-27  Bruno Haible  <bruno@clisp.org>
14845
14846         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
14847         current mingw.
14848         Reported by Jose E. Marchesi <jemarch@gnu.org>.
14849
14850 2008-05-27  Bruno Haible  <bruno@clisp.org>
14851
14852         * modules/iconv_open (Link): New section, from module 'iconv'.
14853         * modules/striconv (Link): Likewise.
14854         * modules/striconveh (Link): Likewise.
14855         * modules/xstriconv (Link): Likewise.
14856         * modules/unicodeio (Link): Likewise.
14857         * modules/propername (Link): Likewise.
14858         Reported by Jim Meyering.
14859
14860 2008-05-26  Jim Meyering  <meyering@redhat.com>
14861
14862         sha256: do not artificially restrict buffer length to be < 2^32
14863         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
14864         uint32_t to size_t.
14865         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
14866         to match.
14867
14868         avoid unaligned access errors, e.g., on sparc
14869         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
14870         direct access through a possibly-unaligned uint64* pointer.
14871         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
14872         direct access through a possibly-unaligned uint32* pointer.
14873         Prompted by this patch from Tom "spot" Callaway:
14874         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
14875
14876         sha512.c: fix typo in comment
14877         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
14878
14879 2008-05-25  Bruno Haible  <bruno@clisp.org>
14880
14881         * lib/set-mode-acl.c: Renamed from lib/acl.c.
14882         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
14883         (Makefile.am): Update lib_SOURCES.
14884
14885 2008-05-25  Bruno Haible  <bruno@clisp.org>
14886
14887         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
14888
14889 2008-05-25  Jim Meyering  <meyering@redhat.com>
14890
14891         useless-if-before-free: freed expr may have white-space differences
14892         * build-aux/useless-if-before-free: Recognize cases in which the
14893         freed expression differs from the tested one in embedded white
14894         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
14895         $1 was used, so we can't make any regexp shy.  Improved tests now
14896         detect this.
14897
14898         useless-if-before-free: accept white space in the expression.
14899         * build-aux/useless-if-before-free: For now, any white space
14900         in the expression must be identical in the free argument.
14901
14902         useless-if-before-free: efficiency tweak
14903         * build-aux/useless-if-before-free: Make the expression-matching
14904         regexp "shy".
14905         Make the *outer* regexp shy, not the expr-matching one.
14906
14907         update code-in-comment to accept cast of free arg
14908         * build-aux/useless-if-before-free: Update regexp.
14909
14910 2008-05-25  Bruno Haible  <bruno@clisp.org>
14911
14912         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
14913         * modules/copy-file-tests (Files, Makefile.am): Update.
14914         * tests/test-copy-file.c (func_test_copy): Update.
14915
14916 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
14917
14918         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
14919
14920 2008-05-23  Bruno Haible  <bruno@clisp.org>
14921
14922         Improve support for ACLs on OSF/1.
14923         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
14924         Remove fallback for unknown flavors of ACLs.
14925
14926 2008-05-22  Bruno Haible  <bruno@clisp.org>
14927
14928         Add support for ACLs on OSF/1.
14929         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
14930         replacements.
14931         (acl_free_text): New macro fallback.
14932         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
14933         acl_free.
14934         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
14935         acl_free_text function. Require AC_C_INLINE.
14936
14937 2008-05-22  Bruno Haible  <bruno@clisp.org>
14938
14939         Make copy_acl work on MacOS X 10.5.
14940         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
14941         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
14942         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
14943         If MODE_INSIDE_ACL, don't assume that every system has the same text
14944         representation for ACLs as FreeBSD.
14945         * lib/copy-acl.c (copy_acl): Add support for platforms with
14946         !MODE_INSIDE_ACL.
14947         * lib/file-has-acl.c (file_has_acl): Likewise.
14948         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
14949         FreeBSD, MacOS X, or IRIX, respectively.
14950
14951 2008-05-22  Bruno Haible  <bruno@clisp.org>
14952
14953         * lib/acl.h: Don't include <sys/acl.h>.
14954         (GETACLCNT): Move fallback to lib/acl-internal.h.
14955         * lib/acl-internal.h: Include <sys/acl.h> here.
14956         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
14957
14958 2008-05-22  Bruno Haible  <bruno@clisp.org>
14959
14960         Split off copy_acl function to separate file.
14961         * lib/copy-acl.c: New file, extracted from lib/acl.c.
14962         * lib/acl.c (copy_acl): Moved function to separate file.
14963         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
14964         * modules/acl (Files): Add lib/copy-acl.c.
14965         (Makefiles.am): Augment lib_SOURCES.
14966
14967 2008-05-22  Bruno Haible  <bruno@clisp.org>
14968
14969         * modules/copy-file-tests: New file.
14970         * tests/test-copy-file.sh: New file.
14971         * tests/test-copy-file.c: New file.
14972         * tests/test-copy-file-sameacls.c: New file.
14973
14974 2008-05-22  Eric Blake  <ebb9@byu.net>
14975
14976         Avoid gcc warning.
14977         * tests/test-memcmp.c (main): Pass NULL indirectly.
14978
14979 2008-05-21  Bruno Haible  <bruno@clisp.org>
14980
14981         Add reference doc about ACLs.
14982         * doc/acl-resources.txt: New file.
14983         * doc/acl-cygwin.txt: New file.
14984
14985 2008-05-21  Bruno Haible  <bruno@clisp.org>
14986
14987         Avoid one more warning from gcc.
14988         * lib/vasnprintf.c (IF_LINT): Update comments.
14989         (VASNPRINTF): Use it also for the 'prefix' array initializer.
14990
14991 2008-05-21  Jim Meyering  <meyering@redhat.com>
14992
14993         avoid a warning from gcc
14994         * lib/vasnprintf.c (IF_LINT): Define.
14995         (scale10_round_decimal_long_double):
14996         Use it to avoid a "may be used uninitialized" warning.
14997         (scale10_round_decimal_double): Likewise.
14998
14999 2008-05-21  Simon Josefsson  <simon@josefsson.org>
15000
15001         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
15002         declared.
15003
15004 2008-05-20  Bruno Haible  <bruno@clisp.org>
15005
15006         * tests/test-memcmp.c (main): Test also the sign of the result. Test
15007         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
15008
15009 2008-05-20  Simon Josefsson  <simon@josefsson.org>
15010
15011         * modules/memcmp-tests: New file.
15012         * tests/test-memcmp.c: New file.
15013
15014 2008-05-19  Bruno Haible  <bruno@clisp.org>
15015
15016         * modules/propername (Notice, configure.ac): Put quoted "..." into
15017         --keyword option.
15018         * lib/propername.h: Update comments accordingly.
15019         Reported by Eric Blake.
15020
15021 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
15022
15023         * modules/getpass-gnu (Depends-on): Add fseeko.
15024
15025 2008-05-19  Simon Josefsson  <simon@josefsson.org>
15026
15027         * modules/base64-tests: New file.
15028
15029 2008-05-19  Bo Borgerson <gigabo@gmail.com>
15030
15031         * lib/base64.c (base64_decode_ctx): If a decode context structure
15032         was passed in use it to ignore newlines.  If a context structure
15033         was _not_ passed in, continue to treat newlines as garbage (this
15034         is the historical behavior).  Formerly base64_decode.
15035         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
15036         takes a decode context structure.
15037         * lib/base64.h (base64_decode): Macro for four-argument calls.
15038         (base64_decode_alloc): Likewise.
15039         * lib/base64.c (base64_decode_ctx): If a decode context structure
15040         was passed in use it to ignore newlines.  If a context structure
15041         was _not_ passed in, continue to treat newlines as garbage (this
15042         is the historical behavior).  Formerly base64_decode.
15043         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
15044         takes a decode context structure.
15045         * lib/base64.h (base64_decode): Macro for four-argument calls.
15046         (base64_decode_alloc): Likewise.
15047
15048 2008-05-19  Jim Meyering  <meyering@redhat.com>
15049
15050         avoid a warning from gcc
15051         * lib/trim.c (IF_LINT): Define.
15052         (trim2): Use it to avoid a "may be used uninitialized" warning.
15053
15054         Fix doc typo.
15055         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
15056
15057 2008-05-19  Bruno Haible  <bruno@clisp.org>
15058
15059         * doc/glibc-functions/getpass.texi: Document limits of other
15060         implementations.
15061
15062 2008-05-19  Simon Josefsson  <simon@josefsson.org>
15063             Bruno Haible <bruno@clisp.org>
15064
15065         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
15066
15067 2008-05-18  Bruno Haible  <bruno@clisp.org>
15068
15069         * modules/propername: New file, from GNU gettext.
15070         * lib/propername.h: New file, from GNU gettext.
15071         * lib/propername.c: New file, from GNU gettext.
15072         * MODULES.html.sh (Internationalization functions): Add propername.
15073
15074 2008-05-16  Jim Meyering  <meyering@redhat.com>
15075             Bruno Haible  <bruno@clisp.org>
15076
15077         Avoid some warnings from "gcc -Wshadow".
15078         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
15079
15080 2008-05-15  Eric Blake  <ebb9@byu.net>
15081
15082         Extend previous patch to cygwin 1.7.0.
15083         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
15084         fast implementation in cygwin >= 1.7.0.
15085         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
15086         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
15087
15088 2008-05-15  Bruno Haible  <bruno@clisp.org>
15089
15090         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
15091         implementation in glibc >= 2.9.
15092         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
15093         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
15094
15095 2008-05-15  Bruno Haible  <bruno@clisp.org>
15096
15097         * MODULES.html.sh (Internationalization functions): Remove linebreak.
15098         (Unicode string functions): Add unilbrk/*.
15099         Reported by Karl Berry.
15100
15101 2008-05-15  Eric Blake  <ebb9@byu.net>
15102
15103         Fix violation of <stdbool.h> replacement in regex.
15104         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
15105         * lib/regexec.c (re_search_internal): Likewise.
15106         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
15107
15108 2008-05-15  Jim Meyering  <meyering@redhat.com>
15109
15110         avoid distracting test output when git or cvs is not found
15111         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
15112         * tests/test-vc-list-files-git.sh: Likewise.
15113
15114 2008-05-15  Eric Blake  <ebb9@byu.net>
15115
15116         Glibc finally accepted the memmem speedup code, bugzilla #5514.
15117         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
15118         glibc version.
15119         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
15120         * doc/posix-functions/strstr.texi (strstr): Likewise.
15121         * lib/str-two-way.h (MAX): Sychronize with glibc.
15122
15123 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
15124
15125         * lib/regcomp.c (optimize_utf8): Add a note on why we test
15126         opr.ctx_type.
15127         (calc_first): Initialize constraint field.
15128         (duplicate_node_closure): Use it instead of special casing ANCHORS.
15129         Fix grammar.
15130         (duplicate_node): Merge constraint field for all node types.
15131         (calc_eclosure_iter): Look at constraint field for all node types.
15132         * lib/regex_internal.c (create_cd_newstate): Don't look at
15133         opr.ctx_type.
15134
15135 2008-05-14  Bruno Haible  <bruno@clisp.org>
15136
15137         Help GCC to do better code generation.
15138         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
15139         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
15140         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
15141         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
15142         Declare with attribute 'malloc' if supported.
15143
15144 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
15145
15146         use "echo STR|wc -c" rather than unportable "expr length STR"
15147         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
15148         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
15149
15150 2008-05-14  Jim Meyering  <meyering@redhat.com>
15151
15152         use dd ibs=$n count=1 ... rather than less-portable head -c$n
15153         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
15154         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
15155         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
15156         via Collin Lasse.
15157
15158 2008-05-14  Eric Blake  <ebb9@byu.net>
15159
15160         Avoid quadratic growth in gl_LIBSOURCES.
15161         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
15162         Suggested by Bruno Haible.
15163
15164         Test xmemdup0.
15165         * modules/xmemdup0-tests: New file.
15166         * tests/test-xmemdup0.c: Likewise.
15167
15168 2008-05-13  Eric Blake  <ebb9@byu.net>
15169
15170         Split xmemdup0 into its own module.
15171         * modules/xmemdup0: New file.
15172         * lib/xmemdup0.h: Likewise.
15173         * lib/xmemdup0.c: Likewise.
15174         * MODULES.html.sh (Memory management functions): Add xmemdup0.
15175         * lib/xalloc.h (xmemdup0): Remove.
15176         * lib/xmalloc.c (xmemdup0): Likewise.
15177
15178 2008-05-13  Eric Blake  <ebb9@byu.net>
15179             Bruno Haible  <bruno@clisp.org>
15180
15181         Reduce number of forks required during autoconf.
15182         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
15183         and gl_LIBSOURCES_DIR.
15184         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
15185         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
15186         m4_syscmd per file.
15187         <m4_foreach_w>: Move...
15188         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
15189
15190 2008-05-13  Eric Blake  <ebb9@byu.net>
15191
15192         * gnulib-tool: Fix various comment typos.
15193
15194 2008-05-12  Bruno Haible  <bruno@clisp.org>
15195
15196         Tailor the linebreaking algorithm.
15197         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
15198
15199 2008-05-12  Bruno Haible  <bruno@clisp.org>
15200
15201         Update to Unicode 5.0.0.
15202         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
15203         LBP_JV, LBP_JT. Redistribute values.
15204         (unilbrk_table): Change size.
15205         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
15206         Unicode TR#14 rev. 22.
15207         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
15208         LBP_JV, LBP_JT. Redistribute values.
15209         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
15210         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
15211         Update.
15212         * lib/unilbrk/lbrkprop1.h: Regenerated.
15213         * lib/unilbrk/lbrkprop2.h: Regenerated.
15214         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
15215         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
15216         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
15217         Likewise.
15218         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
15219         Likewise.
15220         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
15221         result.
15222         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15223         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15224         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
15225         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
15226         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
15227         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
15228
15229 2008-05-11  Bruno Haible  <bruno@clisp.org>
15230
15231         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
15232
15233 2008-05-11  Bruno Haible  <bruno@clisp.org>
15234
15235         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
15236         * modules/unilbrk/gen-lbrk: New file.
15237
15238 2008-05-11  Bruno Haible  <bruno@clisp.org>
15239
15240         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
15241         * m4/sha512.m4 (gl_SHA512): Likewise.
15242
15243 2008-05-11  Jim Meyering  <meyering@redhat.com>
15244
15245         New modules: crypto/sha256, crypto/sha512 (from coreutils)
15246         * modules/crypto/sha256: New file.
15247         * modules/crypto/sha512: Likewise.
15248         * lib/sha256.c: Likewise.
15249         * lib/sha256.h: Likewise.
15250         * lib/sha512.c: Likewise.
15251         * lib/sha512.h: Likewise.
15252         * lib/u64.h: Likewise.
15253         * m4/sha256.m4: Likewise.
15254         * m4/sha512.m4: Likewise.
15255         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
15256
15257 2008-05-10  Bruno Haible  <bruno@clisp.org>
15258
15259         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
15260         (Input/Output <stdio.h>): Add xprintf.
15261         (Signal handling <signal.h>): Add strsignal.
15262         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
15263         (Core language properties): Add func.
15264         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
15265         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
15266         strings.
15267         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
15268         (Input/output): New section.
15269         (File system functions): Add openat-die, stat-macros.
15270         (Networking functions): Add sockets.
15271         (Unicode string functions): Add unictype/*.
15272         (Support for building libraries and executables): Add gperf.
15273         (Support for building documentation): Add agpl-3.0.
15274         (Misc): Add nocrash.
15275
15276 2008-05-10  Bruno Haible  <bruno@clisp.org>
15277
15278         * modules/unictype/gen-ctype: New file.
15279
15280 2008-05-10  Jim Meyering  <meyering@redhat.com>
15281
15282         Make chdir-safer.c more efficient on a system with no symlinks.
15283         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
15284         also if ELOOP is zero.  Suggested by Bruno Haible.
15285
15286         Make chdir-safer.c slightly safer.
15287         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
15288         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
15289
15290         Avoid compile failure on systems without ELOOP (like mingw).
15291         * lib/chdir-safer.c (ELOOP): Define if not already defined.
15292         Reported by Bruno Haible.
15293
15294 2008-05-10  Bruno Haible  <bruno@clisp.org>
15295
15296         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
15297         (is_utf8_encoding): Use a case-insensitive comparison.
15298         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
15299         streq.
15300
15301 2008-05-10  Bruno Haible  <bruno@clisp.org>
15302
15303         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
15304         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
15305         * lib/unilbrk/ulc-common.h (iconv_string_length,
15306         iconv_string_keeping_offsets): Remove declarations.
15307         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
15308         Don't include <iconv.h>, streq.h, xsize.h.
15309         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
15310         conversion.
15311         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
15312         <iconv.h>, streq.h, xsize.h.
15313         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
15314         conversion.
15315         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
15316         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
15317         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
15318         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
15319
15320 2008-05-10  Bruno Haible  <bruno@clisp.org>
15321
15322         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
15323         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
15324
15325         * modules/unilbrk/u32-width-linebreaks-tests: New file.
15326         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
15327
15328         * modules/unilbrk/u16-width-linebreaks-tests: New file.
15329         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
15330
15331         * modules/unilbrk/u8-width-linebreaks-tests: New file.
15332         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
15333
15334         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
15335         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
15336
15337         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
15338         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
15339
15340         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
15341         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
15342
15343         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
15344         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
15345
15346 2008-05-10  Bruno Haible  <bruno@clisp.org>
15347
15348         Split up 'linebreak' module.
15349         * lib/unilbrk.h: New file, based on lib/linebreak.h.
15350         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
15351         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
15352         modifications.
15353         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
15354         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
15355         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
15356         lib/linebreak.c.
15357         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
15358         lib/linebreak.c.
15359         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
15360         lib/linebreak.c.
15361         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
15362         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
15363         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
15364         lib/linebreak.c.
15365         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
15366         lib/linebreak.c.
15367         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
15368         lib/linebreak.c.
15369         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
15370         lib/linebreak.c.
15371         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
15372         lib/linebreak.c.
15373         * modules/unilbrk/base: New file.
15374         * modules/unilbrk/tables: New file.
15375         * modules/unilbrk/u8-possible-linebreaks: New file.
15376         * modules/unilbrk/u16-possible-linebreaks: New file.
15377         * modules/unilbrk/u32-possible-linebreaks: New file.
15378         * modules/unilbrk/ulc-common: New file.
15379         * modules/unilbrk/ulc-possible-linebreaks: New file.
15380         * modules/unilbrk/u8-width-linebreaks: New file.
15381         * modules/unilbrk/u16-width-linebreaks: New file.
15382         * modules/unilbrk/u32-width-linebreaks: New file.
15383         * modules/unilbrk/ulc-width-linebreaks: New file.
15384         * lib/linebreak.h: Remove file.
15385         * lib/linebreak.c: Remove file.
15386         * m4/linebreak.m4: Remove file.
15387         * modules/linebreak: Remove file.
15388         * NEWS: Mention the changes.
15389
15390 2008-05-09  Eric Blake  <ebb9@byu.net>
15391
15392         Add xmemdup0.
15393         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
15394         implementation.
15395         * lib/xmalloc.c (xmemdup0): New C implementation.
15396
15397 2008-05-08  Bruno Haible  <bruno@clisp.org>
15398
15399         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
15400
15401 2008-05-07  Eric Blake  <ebb9@byu.net>
15402
15403         Support cross-compilation of <wctype.h>.
15404         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
15405         AC_CACHE_CHECK.
15406
15407 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
15408
15409         * build-aux/vc-list-files: Add support for bzr.
15410
15411 2008-05-03  Jim Meyering  <meyering@redhat.com>
15412
15413         avoid failed assertion with tight malloc
15414         * tests/test-getndelim2.c: Correct an off-by-one assertion.
15415
15416 2008-05-03  Simon Josefsson  <simon@josefsson.org>
15417
15418         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
15419         are needed from arpa/inet.h.
15420         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
15421         Reported by Bruno Haible.
15422
15423 2008-05-02  Jim Meyering  <meyering@redhat.com>
15424
15425         avoid compilation error on FreeBSD 6
15426         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
15427
15428 2008-05-01  Jim Meyering  <meyering@redhat.com>
15429
15430         useless-if-before-free: correct --help's exit status description
15431         * build-aux/useless-if-before-free (usage): Like grep, exit 0
15432         for one or more matches, etc.  Reported by Bruno Haible.
15433
15434         vc-list-files: make the stand-alone gnulib test work
15435         * modules/vc-list-files-tests (configure.ac):
15436         Define and AC_SUBST abs_aux_dir.
15437         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
15438         $(abs_top_srcdir) to each script and having each of them
15439         duplicate the work of setting PATH, set PATH here, using
15440         the new variable, abs_aux_dir instead.
15441         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
15442         * tests/test-vc-list-files-git.sh: Likewise.
15443         Reported by Bruno Haible.
15444
15445 2008-05-01  Bruno Haible  <bruno@clisp.org>
15446
15447         * lib/getndelim2.c (getndelim2): Fix newsize computation during
15448         reallocation. Rename 'done' to 'found_delimiter'.
15449
15450 2008-05-01  Jim Meyering  <meyering@redhat.com>
15451
15452         vc-list-files: accommodate /bin/sh like the one from Solaris 10
15453         * build-aux/vc-list-files: Use `...`, not $(...).
15454
15455 2008-04-30  Jim Meyering  <meyering@redhat.com>
15456
15457         add tests for vc-list-files
15458         * modules/vc-list-files-tests: New module.
15459         * tests/test-vc-list-files-cvs.sh: New file.
15460         * tests/test-vc-list-files-git.sh: New file.
15461
15462         avoid a warning from gcc
15463         * lib/getndelim2.c (IF_LINT): Define.
15464         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
15465
15466         vc-list-files: work properly with build-aux/cvsu, too
15467         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
15468         to all cvs-based clauses.
15469
15470         vc-list-files: work properly in the CVS+awk case, too
15471         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
15472
15473         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
15474         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
15475         take more than one file argument, so .  Add quotes, just in case $dir
15476         ever contains a shell meta-character.  Prompted by Soren Hansen in
15477         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
15478
15479 2008-04-29  Eric Blake  <ebb9@byu.net>
15480
15481         Optimize getndelim2 to use block operations when possible.
15482         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
15483         freadseek, and memchr2.
15484         * lib/getndelim2.c (getndelim2): Use them for block reads.
15485
15486 2008-04-29  Bruno Haible  <bruno@clisp.org>
15487
15488         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
15489         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
15490         * modules/inet_ntop (Depends-on): Add extensions.
15491         * modules/inet_pton (Depends-on): Likewise.
15492         Reported by Simon Josefsson.
15493
15494 2008-04-29  Jim Meyering  <meyering@redhat.com>
15495
15496         When the is more than one match in a block, match all of them.
15497         * build-aux/useless-if-before-free: Iterate through each block
15498         until there are no more matches.
15499
15500         Fix broken useless-if-before-free script.
15501         * build-aux/useless-if-before-free: Fix typo: missing "?" after
15502         the expression to match cast of argument to free-like function.
15503
15504 2008-04-29  Eric Blake  <ebb9@byu.net>
15505
15506         Use new header.
15507         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
15508
15509 2008-04-29  Jim Meyering  <meyering@redhat.com>
15510
15511         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
15512         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
15513         by gnulib to exist and to declare e.g., inet_ntop.
15514         Don't include "inet_ntop.h", now removed.
15515
15516         * m4/arpa_inet_h.m4: Remove trailing blanks.
15517
15518 2008-04-29  Eric Blake  <ebb9@byu.net>
15519
15520         Silence valgrind on safe reads beyond potential array bounds.
15521         * lib/rawmemchr.valgrind: New file.
15522         * lib/strchrnul.valgrind: Likewise.
15523         * modules/rawmemchr (Files): Distribute new file.
15524         * modules/strchrnul (Files): Likewise.
15525         Suggested by Bruno Haible.
15526
15527 2008-04-29  Bruno Haible  <bruno@clisp.org>
15528
15529         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
15530         (inet_ntop, inet_pton): Change portability warning's wording.
15531         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
15532         Invoke gl_CHECK_NEXT_HEADERS.
15533         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
15534         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
15535         set ARPA_INET_H.
15536         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
15537         * modules/arpa_inet (Description): No longer only for systems that
15538         lack it.
15539         (Depends-on): Add include_next.
15540         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
15541         HAVE_ARPA_INET_H.
15542
15543 2008-04-29  Jim Meyering  <meyering@redhat.com>
15544
15545         * modules/mkdir (License): Re-license as LGPLv2+.
15546
15547 2008-04-29  Bruno Haible  <bruno@clisp.org>
15548
15549         * modules/rawmemchr (Maintainer): Set to Eric.
15550         * modules/strchrnul (Maintainer): Likewise.
15551
15552 2008-04-29  Simon Josefsson  <simon@josefsson.org>
15553
15554         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
15555         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
15556
15557         * modules/arpa_inet (arpa/inet.h): Use them.
15558
15559 2008-04-28  Eric Blake  <ebb9@byu.net>
15560
15561         Test getndelim2.
15562         * modules/getndelim2-tests: New file.
15563         * tests/test-getndelim2.c: Likewise.
15564         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
15565         stream.
15566         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
15567
15568         * MODULES.html.sh: Document new module.
15569
15570 2008-04-20  Bruno Haible  <bruno@clisp.org>
15571
15572         * lib/c-stack.c (die): Use raise.
15573         * modules/c-stack (Depends-on): Add raise.
15574
15575 2008-04-28  Bruno Haible  <bruno@clisp.org>
15576
15577         Expect rpmatch to be declared.
15578         * lib/yesno.c (rpmatch): Remove declaration.
15579
15580         Declare rpmatch.
15581         * lib/stdlib.in.h (rpmatch): New declaration.
15582         * lib/rpmatch.c: Include <stdlib.h> first.
15583         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
15584         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
15585         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
15586         HAVE_RPMATCH.
15587         * modules/rpmatch (Depends-on): Add stdlib, extensions.
15588         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
15589         (Include): Set to <stdlib.h>.
15590         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
15591         HAVE_RPMATCH.
15592         * NEWS: Document the change.
15593
15594 2008-04-28  Bruno Haible  <bruno@clisp.org>
15595
15596         Change rpmatch to use nl_langinfo when appropriate.
15597         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
15598         (N_): New macro.
15599         (localized_pattern): New function/macro.
15600         (try): Remove match, nomatch arguments. Copy the pattern into safe
15601         memory before caching it.
15602         (rpmatch): Use localized_pattern. Add translator comments.
15603         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
15604         Suggested by Eric Blake.
15605         * modules/rpmatch (Depends-on): Add stdbool.
15606
15607 2008-04-28  Eric Blake  <ebb9@byu.net>
15608
15609         Add rawmemchr module, matching glibc.
15610         * modules/string (Makefile.am): New indicator.
15611         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
15612         * lib/string.in.h (rawmemchr): Declare when appropriate.
15613         * modules/rawmemchr: New file.
15614         * m4/rawmemchr.m4: Likewise.
15615         * lib/rawmemchr.c: Likewise.
15616         * modules/rawmemchr-tests: Likewise.
15617         * tests/test-rawmemchr.c: Likewise.
15618         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
15619         module.
15620         * modules/strchrnul (Depends-on): Add rawmemchr.
15621         * lib/strchrnul.c (strchrnul): Optimize a corner case.
15622
15623         Whitespace cleanup.
15624         * tests/test-strchrnul.c: Reindent.
15625         * lib/strchrnul.c: Likewise.
15626
15627         Optimize and test strchrnul.
15628         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
15629         * modules/strchrnul-tests: New file.
15630         * tests/test-strchrnul.c: Likewise.
15631
15632         Remove intprops dependency.
15633         * modules/memchr (Depends-on): Remove intprops.
15634         * modules/memrchr (Depends-on): Likewise.
15635         * modules/memchr2 (Depends-on): Likewise.
15636         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
15637         * lib/memrchr.c (__memrchr): Likewise.
15638         * lib/memrchr2.c (memchr2): Likewise.
15639         Reported by Simon Josefsson.
15640
15641 2008-04-28  Simon Josefsson  <simon@josefsson.org>
15642
15643         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
15644         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15645
15646 2008-04-28  Simon Josefsson  <simon@josefsson.org>
15647
15648         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
15649
15650         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
15651
15652         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
15653
15654         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
15655         declarations.
15656         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
15657
15658         * m4/inet_pton.m4: Don't check for header files.
15659
15660         * m4/inet_ntop.m4: Don't check for header files.
15661
15662 2008-04-28  Simon Josefsson  <simon@josefsson.org>
15663
15664         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
15665         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
15666         trigger for cygwin).
15667         Reported by Bruno Haible  <bruno@clisp.org>.
15668
15669 2008-04-28  Bruno Haible  <bruno@clisp.org>
15670
15671         * doc/posix-functions/strdup.texi: Mention mingw problem.
15672
15673 2008-04-27  Bruno Haible  <bruno@clisp.org>
15674
15675         * modules/stat-time-tests (Depends-on): Add sleep.
15676         * tests/test-stat-time.c (force_unlink): New function.
15677         (cleanup): Use it.
15678         (test_mtime): Remove the ctime related tests.
15679         (test_ctime): New function, containing the ctime related tests.
15680         (main): Call test_ctime, except on native Windows platforms.
15681
15682 2008-04-27  Bruno Haible  <bruno@clisp.org>
15683
15684         * lib/rpmatch.c (rpmatch): Add some comments.
15685         Reported by James Youngman <jay@gnu.org>.
15686
15687 2008-04-27  Bruno Haible  <bruno@clisp.org>
15688
15689         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
15690         quiet NaNs.
15691
15692 2008-04-27  Bruno Haible  <bruno@clisp.org>
15693
15694         Make test-yesno.sh work on mingw.
15695         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
15696         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
15697         (main): Set stdin to binary mode.
15698         * modules/yesno-tests (Depends-on): Add binary-io.
15699
15700 2008-04-27  Bruno Haible  <bruno@clisp.org>
15701
15702         Fix 'isfinite' on x86, x86_64, ia64 platforms.
15703         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
15704         argument that lie outside the IEEE 854 domain.
15705         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
15706         (gl_ISFINITE): Use it.
15707         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
15708
15709 2008-04-27  Bruno Haible  <bruno@clisp.org>
15710
15711         Allow local renaming in config.h.
15712         * lib/memrchr.c (memrchr): Don't undefine outside libc.
15713
15714 2008-04-27  Bruno Haible  <bruno@clisp.org>
15715
15716         * lib/memchr.c (__memchr): Change type of 'i'.
15717         * lib/memchr2.c (memchr2): Likewise.
15718
15719 2008-04-26  Eric Blake  <ebb9@byu.net>
15720         and Bruno Haible  <bruno@clisp.org>
15721
15722         Optimize and test memrchr.
15723         * modules/memrchr (Depends-on): Add intprops.
15724         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
15725         * modules/memrchr-tests: New file.
15726         * tests/test-memrchr.c: New file.
15727
15728 2008-04-26  Bruno Haible  <bruno@clisp.org>
15729
15730         Add tentative support for DragonFly BSD.
15731         * lib/stdio-impl.h: Add macros for DragonFly BSD.
15732         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
15733         fp.
15734         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
15735         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
15736         * lib/fpurge.c (fpurge): Likewise.
15737         * lib/freadable.c (freaadable): Likewise.
15738         * lib/freadahead.c (freadahead): Likewise.
15739         * lib/freading.c (freading): Likewise.
15740         * lib/freadptr.c (freadptr): Likewise.
15741         * lib/freadseek.c (freadptrinc): Likewise.
15742         * lib/fseeko.c (fseeko): Likewise.
15743         * lib/fseterr.c (fseterr): Likewise.
15744         * lib/fwritable.c (fwritable): Likewise.
15745         * lib/fwriting.c (fwriting): Likewise.
15746
15747 2008-04-26  Bruno Haible  <bruno@clisp.org>
15748
15749         * lib/stdio-impl.h: New file.
15750         * lib/fbufmode.c: Include stdio-impl.h.
15751         (fbufmode): Use fp_, remove redundant #defines.
15752         * lib/fflush.c: Include stdio-impl.h.
15753         (clear_ungetc_buffer): Remove redundant #defines.
15754         * lib/fpurge.c: Include stdio-impl.h.
15755         (fpurge): Remove redundant #defines.
15756         * lib/freadable.c: Include stdio-impl.h.
15757         (freadable): Remove redundant #defines.
15758         * lib/freadahead.c: Include stdio-impl.h.
15759         (freadahead): Remove redundant #defines.
15760         * lib/freading.c: Include stdio-impl.h.
15761         (freading): Remove redundant #defines.
15762         * lib/freadptr.c: Include stdio-impl.h.
15763         (freadptr): Remove redundant #defines.
15764         * lib/freadseek.c: Include stdio-impl.h.
15765         (freadptrinc): Remove redundant #defines.
15766         * lib/fseeko.c: Include stdio-impl.h.
15767         (rpl_fseeko): Remove redundant #defines.
15768         * lib/fseterr.c: Include stdio-impl.h.
15769         (fseterr): Remove redundant #defines.
15770         * lib/fwritable.c: Include stdio-impl.h.
15771         (fwritable: Remove redundant #defines.
15772         * lib/fwriting.c: Include stdio-impl.h.
15773         (fwriting): Remove redundant #defines.
15774         * modules/fbufmode (Files): Add lib/stdio-impl.h.
15775         * modules/fflush (Files): Likewise.
15776         * modules/fpurge (Files): Likewise.
15777         * modules/freadable (Files): Likewise.
15778         * modules/freadahead (Files): Likewise.
15779         * modules/freading (Files): Likewise.
15780         * modules/freadptr (Files): Likewise.
15781         * modules/freadseek (Files): Likewise.
15782         * modules/fseeko (Files): Likewise.
15783         * modules/fseterr (Files): Likewise.
15784         * modules/fwritable (Files): Likewise.
15785         * modules/fwriting (Files): Likewise.
15786
15787 2008-04-26  Bruno Haible  <bruno@clisp.org>
15788
15789         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
15790         restore_seek_optimization, update_fpos_cache): New functions, extracted
15791         from rpl_fflush.
15792         (rpl_fflush): Use them.
15793         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
15794         (gl_REPLACE_FFLUSH): Use it.
15795
15796 2008-04-26  Bruno Haible  <bruno@clisp.org>
15797
15798         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
15799         on Solaris.
15800         * tests/test-xstrtoimax.sh: Likewise.
15801         * tests/test-xstrtoumax.sh: Likewise.
15802         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15803
15804 2008-04-26  Bruno Haible  <bruno@clisp.org>
15805
15806         * modules/memchr-tests: New file.
15807         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
15808
15809 2008-04-26  Eric Blake  <ebb9@byu.net>
15810             Bruno Haible  <bruno@clisp.org>
15811
15812         * lib/memchr.c: Include intprops.h.
15813         (__memchr): Optimize parallel detection of matching bytes. Rename local
15814         variables. Add explanatory comments.
15815
15816 2008-04-26  Bruno Haible  <bruno@clisp.org>
15817
15818         Fix module 'memchr', broken since 2000-10-28.
15819         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
15820
15821 2008-04-26  Bruno Haible  <bruno@clisp.org>
15822
15823         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
15824         comments.
15825
15826 2008-04-25  Eric Blake  <ebb9@byu.net>
15827
15828         Use native fstatat on cygwin 1.7.0.
15829         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
15830         first.
15831
15832 2008-04-23  Eric Blake  <ebb9@byu.net>
15833
15834         Improve memchr2 performance.
15835         * lib/memchr2.c (memchr2): Further optimize parallel detection of
15836         NUL bytes.
15837         * modules/memchr2 (Depends-on): Use intprops.h.
15838
15839 2008-04-23  Simon Josefsson  <simon@josefsson.org>
15840
15841         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
15842         an inline function instead of a CPP macro.  Patch by Ben Pfaff
15843         <blp@cs.stanford.edu>.
15844
15845 2008-04-23  Simon Josefsson  <simon@josefsson.org>
15846
15847         * lib/arpa_inet.in.h: New file.
15848
15849         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
15850         (Makefile.am): Sed in substitute header file.
15851
15852         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
15853         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
15854
15855         * modules/inet_ntop (configure.ac): Use
15856         gl_ARPA_INET_MODULE_INDICATOR.
15857
15858         * modules/inet_pton (configure.ac): Use
15859         gl_ARPA_INET_MODULE_INDICATOR.
15860
15861 2008-04-22  Jim Meyering  <meyering@redhat.com>
15862
15863         * modules/verify (License): Re-license as LGPLv2+.
15864
15865 2008-04-22  Simon Josefsson  <simon@josefsson.org>
15866
15867         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
15868         parameter to void* as per POSIX standard (MinGW uses char*).
15869
15870 2008-04-21  Bruno Haible  <bruno@clisp.org>
15871
15872         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
15873         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
15874         Define to replacements if REPLACE_ISWCNTRL is 1.
15875         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
15876         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
15877         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
15878         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
15879         what it fixes.
15880         * doc/posix-functions/iswalpha.texi: Likewise.
15881         * doc/posix-functions/iswblank.texi: Likewise.
15882         * doc/posix-functions/iswcntrl.texi: Likewise.
15883         * doc/posix-functions/iswdigit.texi: Likewise.
15884         * doc/posix-functions/iswgraph.texi: Likewise.
15885         * doc/posix-functions/iswlower.texi: Likewise.
15886         * doc/posix-functions/iswprint.texi: Likewise.
15887         * doc/posix-functions/iswpunct.texi: Likewise.
15888         * doc/posix-functions/iswspace.texi: Likewise.
15889         * doc/posix-functions/iswupper.texi: Likewise.
15890         * doc/posix-functions/iswxdigit.texi: Likewise.
15891         Reported by Alain Guibert.
15892
15893 2008-04-21  Bruno Haible  <bruno@clisp.org>
15894
15895         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
15896         Patch by Alain Guibert.
15897
15898 2008-04-21  Bruno Haible  <bruno@clisp.org>
15899
15900         Fix test failures on mingw.
15901         * tests/test-xstrtol.c (print_no_progname): New function.
15902         (main): Install it in error_print_progname hook.
15903         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
15904         * tests/test-xstrtoimax.sh: Likewise.
15905         * tests/test-xstrtoumax.sh: Likewise.
15906
15907 2008-04-21  Bruno Haible  <bruno@clisp.org>
15908
15909         Fix test failure on mingw.
15910         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
15911
15912 2008-04-21  Bruno Haible  <bruno@clisp.org>
15913
15914         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
15915         Actually assign a value.
15916
15917 2008-04-20  Bruno Haible  <bruno@clisp.org>
15918
15919         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
15920         take 2.
15921         * lib/canonicalize.c (canonicalize_file_name): Elide if the
15922         'canonicalize-lgpl' module is also used.
15923         * lib/canonicalize-lgpl.c: Undo last change.
15924         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
15925
15926 2008-04-20  Bruno Haible  <bruno@clisp.org>
15927
15928         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
15929         config.h. Provide _mkdir based fallback for mingw.
15930         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
15931         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
15932         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
15933         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
15934         rather than defining mkdir in config.h.
15935         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
15936         (gl_SYS_STAT_H_DEFAULTS): New macro.
15937         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
15938         HAVE_IO_H any more.
15939         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
15940         HAVE_DECL_MKDIR and HAVE_IO_H.
15941
15942 2008-04-20  Bruno Haible  <bruno@clisp.org>
15943
15944         * lib/isapipe.c: Port to native Windows platforms.
15945
15946 2008-04-20  Bruno Haible  <bruno@clisp.org>
15947
15948         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
15949
15950 2008-04-21  Eric Blake  <ebb9@byu.net>
15951
15952         Work around preprocessors that don't handle UINTMAX_MAX.
15953         * lib/memchr2.c (memchr2): Avoid embedded #if.
15954         Reported by Alain Guibert, fix suggested by Bruno Haible.
15955
15956 2008-04-21  Simon Josefsson  <simon@josefsson.org>
15957
15958         * doc/posix-functions/strftime.texi (strftime): Explain better
15959         Windows incompatibility.  Suggested by Micah Cowan
15960         <micah@cowan.name>.
15961
15962 2008-04-20  Bruno Haible  <bruno@clisp.org>
15963
15964         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
15965         unistr/u8-mblen.
15966
15967 2008-04-20  Bruno Haible  <bruno@clisp.org>
15968
15969         Fix test failure on platforms with non-GNU iconv.
15970         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
15971         (U_TO_U8): Use it, rather than u16_to_u8.
15972         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
15973         units at the end of the input string.
15974         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
15975
15976 2008-04-20  Bruno Haible  <bruno@clisp.org>
15977
15978         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
15979         when the resulting length is 0.
15980         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
15981
15982 2008-04-20  Bruno Haible  <bruno@clisp.org>
15983
15984         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
15985         works.
15986         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
15987
15988 2008-04-20  Bruno Haible  <bruno@clisp.org>
15989
15990         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
15991         * modules/tsearch-tests (configure.ac): Test for initstate function.
15992
15993 2008-04-20  Bruno Haible  <bruno@clisp.org>
15994
15995         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
15996         for nlink_t if missing.
15997         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
15998
15999 2008-04-19  Bruno Haible  <bruno@clisp.org>
16000
16001         Work around snprintf bug on Linux libc5.
16002         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
16003         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
16004         gl_SNPRINTF_SIZE1.
16005         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
16006         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
16007         that test failed.
16008         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
16009         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
16010         * modules/snprintf (Files): Add m4/printf.m4.
16011         * modules/vsnprintf (Files): Likewise.
16012         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
16013         * doc/posix-functions/vsnprintf.texi: Likewise.
16014
16015 2008-04-19  Bruno Haible  <bruno@clisp.org>
16016
16017         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
16018         from 0.0058 to less than 10^-7.
16019
16020 2008-04-19  Bruno Haible  <bruno@clisp.org>
16021
16022         Fix rounding when a precision is given.
16023         * lib/vasnprintf.c (is_borderline): New function.
16024         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
16025         9...9x.
16026         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
16027         %e, %g.
16028         * tests/test-vasprintf-posix.c (test_function): Likewise.
16029         * tests/test-snprintf-posix.h (test_function): Likewise.
16030         * tests/test-sprintf-posix.h (test_function): Likewise.
16031         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
16032         * tests/test-printf-posix.h (test_function): Likewise.
16033         * tests/test-printf-posix.output: Update.
16034         Reported by John Darrington <john@darrington.wattle.id.au> via
16035         Ben Pfaff <blp@cs.stanford.edu>.
16036
16037 2008-04-18  Simon Josefsson  <simon@josefsson.org>
16038
16039         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
16040         Suggested by Bruno Haible <bruno@clisp.org>.
16041
16042 2008-04-17  Bruno Haible  <bruno@clisp.org>
16043
16044         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
16045         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
16046         implementation.
16047         Patch by Bruce Merry <bmerry@gmail.com>.
16048
16049 2008-04-17  Simon Josefsson  <simon@josefsson.org>
16050
16051         * doc/posix-functions/strftime.texi (strftime): Mention that %e
16052         doesn't work under Windows.
16053
16054 2008-04-16  Bruno Haible  <bruno@clisp.org>
16055
16056         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
16057         New macros.
16058         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
16059         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
16060         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
16061         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
16062         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
16063         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
16064         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
16065         macros.
16066         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
16067         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
16068         Northern Sotho, Uighur.
16069
16070 2008-04-16  Bruno Haible  <bruno@clisp.org>
16071
16072         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
16073         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
16074         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
16075         Reported by Daniel Bergström <daniel@octocode.com>.
16076
16077 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
16078             Bruno Haible  <bruno@clisp.org>
16079
16080         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
16081         function.
16082         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
16083         New functions, mostly extracted from gl_locale_name_default.
16084         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
16085
16086 2008-04-16  Eric Blake  <ebb9@byu.net>
16087
16088         Adjust strtod detection to catch glibc 2.7 bug.
16089         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
16090         Reported by John Gatewood Ham.
16091
16092 2008-04-16  Bruno Haible  <bruno@clisp.org>
16093
16094         Add tentative support for Linux libc5.
16095         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
16096         * lib/fpurge.c (fpurge): Likewise.
16097         * lib/freadable.c (freadable): Likewise.
16098         * lib/freadahead.c (freadahead): Likewise.
16099         * lib/freading.c (freading): Likewise.
16100         * lib/freadptr.c (freadptr): Likewise.
16101         * lib/freadseek.c (freadptrinc): Likewise.
16102         * lib/fseeko.c (rpl_fseeko): Likewise.
16103         * lib/fseterr.c (fseterr): Likewise.
16104         * lib/fwritable.c (fwritable): Likewise.
16105         * lib/fwriting.c (fwriting): Likewise.
16106         Reported by Alain Guibert <alguibert+bts@free.fr>.
16107
16108 2008-04-15  Bruno Haible  <bruno@clisp.org>
16109
16110         * modules/mathl (configure.ac): Define module indicator.
16111
16112 2008-04-15  Bruno Haible  <bruno@clisp.org>
16113
16114         * lib/logl.c (logl): Remove unused variables.
16115
16116 2008-04-15  Bruno Haible  <bruno@clisp.org>
16117
16118         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
16119         fails.
16120
16121 2008-04-15  Bruno Haible  <bruno@clisp.org>
16122
16123         * lib/trim.c (trim2): Fix argument of isspace() macro.
16124
16125 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
16126
16127         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
16128         to 0.
16129         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
16130
16131 2008-04-14  Bruno Haible  <bruno@clisp.org>
16132
16133         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
16134         AC_LANG_PROGRAM argument.
16135         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
16136         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
16137         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
16138         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
16139         * m4/math_h.m4 (gl_MATH_H): Likewise.
16140         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
16141         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
16142         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
16143         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
16144         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
16145         * m4/regex.m4 (gl_REGEX): Likewise.
16146         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
16147         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
16148         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
16149         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
16150         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
16151         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
16152         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
16153         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
16154
16155 2008-04-14  Jim Meyering  <meyering@redhat.com>
16156
16157         test-strtod: fix typos: s/abs/fabs/
16158         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
16159
16160 2008-04-13  Bruno Haible  <bruno@clisp.org>
16161
16162         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
16163         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
16164         module is also used and while not building the reloc-wrapper.
16165
16166 2008-04-13  Bruno Haible  <bruno@clisp.org>
16167
16168         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
16169
16170 2008-04-13  Bruno Haible  <bruno@clisp.org>
16171
16172         Fix AIX compilation failure introduced on 2008-04-02.
16173         * tests/test-frexp.c (exp): Undefine before redefining.
16174         * tests/test-frexpl.c (exp): Likewise.
16175
16176 2008-04-13  Bruno Haible  <bruno@clisp.org>
16177
16178         Work around a HP-UX stdio bug.
16179         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
16180         * tests/test-ftello.c (main): Likewise.
16181         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
16182         * doc/posix-functions/ftello.texi: Likewise.
16183
16184 2008-04-13  Bruno Haible  <bruno@clisp.org>
16185
16186         Make test-signbit pass on HP-UX/hppa.
16187         * tests/test-signbit.c (minus_zerol): New variable.
16188         (test_signbitl): Use it.
16189
16190 2008-04-13  Bruno Haible  <bruno@clisp.org>
16191
16192         Make truncl work on OSF/1 4.0.
16193         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
16194         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
16195         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
16196         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
16197         HAVE_DECL_TRUNCL.
16198         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
16199         HAVE_DECL_TRUNCL.
16200         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
16201
16202 2008-04-13  Bruno Haible  <bruno@clisp.org>
16203
16204         * lib/unictype.h: Remove trailing comma from enumeration definitions.
16205
16206 2008-04-13  Bruno Haible  <bruno@clisp.org>
16207
16208         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
16209         expression, so as to avoid HP-UX 11 cc compiler bug.
16210
16211 2008-04-13  Bruno Haible  <bruno@clisp.org>
16212
16213         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
16214
16215 2008-04-13  Bruno Haible  <bruno@clisp.org>
16216
16217         * lib/git-merge-changelog.c: Remove empty declaration outside of
16218         functions.
16219
16220 2008-04-13  Bruno Haible  <bruno@clisp.org>
16221
16222         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
16223
16224 2008-04-13  Bruno Haible  <bruno@clisp.org>
16225
16226         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
16227         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
16228         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
16229         also if it exists but lacks definitions of the SHUT_* macros.
16230         * modules/sys_socket (Description): Update.
16231         Reported by Elbert Pol <e.pol@chello.nl>.
16232
16233 2008-04-13  Bruno Haible  <bruno@clisp.org>
16234
16235         * lib/localcharset.c (OS2): Don't redefine if already defined.
16236         Reported by Elbert Pol <e.pol@chello.nl>.
16237
16238 2008-04-13  Bruno Haible  <bruno@clisp.org>
16239
16240         * lib/binary-io.h [__EMX__]: Include <io.h>.
16241         Reported by Elbert Pol <e.pol@chello.nl>.
16242
16243 2008-04-12  Bruno Haible  <bruno@clisp.org>
16244
16245         * lib/fpucw.h: Enable the definitions also for x86_64.
16246         Needed for NetBSD/x86_64.
16247         Reported by Thomas Klausner <tk@giga.or.at>.
16248
16249 2008-04-12  Bruno Haible  <bruno@clisp.org>
16250
16251         * tests/test-strtod.c: Include isnand.h.
16252         (main): Use isnand instead of isnan.
16253         Reported by Jim Meyering.
16254
16255 2008-04-12  Bruno Haible  <bruno@clisp.org>
16256
16257         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
16258         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
16259
16260 2008-04-12  Jim Meyering  <meyering@redhat.com>
16261
16262         * m4/math_h.m4 (gl_MATH_H): Fix typos.
16263
16264 2008-04-12  Bruno Haible  <bruno@clisp.org>
16265
16266         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
16267         Reported by Elbert Pol <e.pol@chello.nl>.
16268
16269 2008-04-12  Eric Blake  <ebb9@byu.net>
16270
16271         Work around Solaris 10 math.h bug.
16272         * m4/math_h.m4 (gl_MATH_H): Check for bug.
16273         (gl_MATH_H_DEFAULTS): Set up default.
16274         * modules/math (Makefile.am): Replace new indicators.
16275         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
16276         * tests/test-math.c (main): Test this.
16277         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
16278         * doc/posix-headers/math.texi (math.h): Mention bug.
16279         Reported by Nelson H. F. Beebe and Jim Meyering.
16280
16281 2008-04-11  Bruno Haible  <bruno@clisp.org>
16282
16283         Adapt to future versions of Apple GCC.
16284         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
16285         Reported by Peter O'Gorman <peter@pogma.com>.
16286
16287 2008-04-11  Bruno Haible  <bruno@clisp.org>
16288
16289         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
16290
16291 2008-04-11  Bruno Haible  <bruno@clisp.org>
16292
16293         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
16294
16295         * modules/getaddrinfo-tests (Makefile.am): Define
16296         test_getaddrinfo_LDADD.
16297
16298 2008-04-11  Bruno Haible  <bruno@clisp.org>
16299
16300         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
16301         (init): Fix syntax error.
16302         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
16303         is declared.
16304
16305 2008-04-11  Bruno Haible  <bruno@clisp.org>
16306
16307         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
16308         * modules/glob (Depends-on): Add stdbool.
16309
16310 2008-04-11  Bruno Haible  <bruno@clisp.org>
16311
16312         * lib/trim.c: Include <string.h>.
16313
16314 2008-04-11  Eric Blake  <ebb9@byu.net>
16315
16316         Avoid compile failure on OS/2.
16317         * lib/regex_internal.h (internal_function): Disable optimization
16318         on OS/2 (__EMX__), where it caused compiler error.
16319         Reported by Elbert Pol.
16320
16321 2008-04-11  Bruno Haible  <bruno@clisp.org>
16322
16323         Flush the standard error stream before aborting. Needed on mingw.
16324         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
16325         * tests/test-array_list.c (ASSERT): Likewise.
16326         * tests/test-array_oset.c (ASSERT): Likewise.
16327         * tests/test-avltree_list.c (ASSERT): Likewise.
16328         * tests/test-avltree_oset.c (ASSERT): Likewise.
16329         * tests/test-avltreehash_list.c (ASSERT): Likewise.
16330         * tests/test-binary-io.c (ASSERT): Likewise.
16331         * tests/test-byteswap.c (ASSERT): Likewise.
16332         * tests/test-c-ctype.c (ASSERT): Likewise.
16333         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
16334         * tests/test-c-strcasestr.c (ASSERT): Likewise.
16335         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
16336         * tests/test-c-strstr.c (ASSERT): Likewise.
16337         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
16338         * tests/test-canonicalize.c (ASSERT): Likewise.
16339         * tests/test-carray_list.c (ASSERT): Likewise.
16340         * tests/test-ceilf1.c (ASSERT): Likewise.
16341         * tests/test-ceilf2.c (ASSERT): Likewise.
16342         * tests/test-ceill.c (ASSERT): Likewise.
16343         * tests/test-count-one-bits.c (ASSERT): Likewise.
16344         * tests/test-fbufmode.c (ASSERT): Likewise.
16345         * tests/test-fflush2.c (ASSERT): Likewise.
16346         * tests/test-floorf1.c (ASSERT): Likewise.
16347         * tests/test-floorf2.c (ASSERT): Likewise.
16348         * tests/test-floorl.c (ASSERT): Likewise.
16349         * tests/test-fopen.c (ASSERT): Likewise.
16350         * tests/test-fpending.c (ASSERT): Likewise.
16351         * tests/test-fprintf-posix.c (ASSERT): Likewise.
16352         * tests/test-fpurge.c (ASSERT): Likewise.
16353         * tests/test-freadable.c (ASSERT): Likewise.
16354         * tests/test-freadahead.c (ASSERT): Likewise.
16355         * tests/test-freading.c (ASSERT): Likewise.
16356         * tests/test-freadptr.c (ASSERT): Likewise.
16357         * tests/test-freadptr2.c (ASSERT): Likewise.
16358         * tests/test-freadseek.c (ASSERT): Likewise.
16359         * tests/test-freopen.c (ASSERT): Likewise.
16360         * tests/test-frexp.c (ASSERT): Likewise.
16361         * tests/test-frexpl.c (ASSERT): Likewise.
16362         * tests/test-fseek.c (ASSERT): Likewise.
16363         * tests/test-fseeko.c (ASSERT): Likewise.
16364         * tests/test-fstrcmp.c (ASSERT): Likewise.
16365         * tests/test-ftell.c (ASSERT): Likewise.
16366         * tests/test-ftello.c (ASSERT): Likewise.
16367         * tests/test-func.c (ASSERT): Likewise.
16368         * tests/test-fwritable.c (ASSERT): Likewise.
16369         * tests/test-fwriting.c (ASSERT): Likewise.
16370         * tests/test-getdelim.c (ASSERT): Likewise.
16371         * tests/test-getline.c (ASSERT): Likewise.
16372         * tests/test-i-ring.c (ASSERT): Likewise.
16373         * tests/test-iconv-utf.c (ASSERT): Likewise.
16374         * tests/test-iconv.c (ASSERT): Likewise.
16375         * tests/test-isfinite.c (ASSERT): Likewise.
16376         * tests/test-isnand.c (ASSERT): Likewise.
16377         * tests/test-isnanf.c (ASSERT): Likewise.
16378         * tests/test-isnanl.h (ASSERT): Likewise.
16379         * tests/test-ldexpl.c (ASSERT): Likewise.
16380         * tests/test-linked_list.c (ASSERT): Likewise.
16381         * tests/test-linkedhash_list.c (ASSERT): Likewise.
16382         * tests/test-localename.c (ASSERT): Likewise.
16383         * tests/test-lseek.c (ASSERT): Likewise.
16384         * tests/test-mbscasecmp.c (ASSERT): Likewise.
16385         * tests/test-mbscasestr1.c (ASSERT): Likewise.
16386         * tests/test-mbscasestr2.c (ASSERT): Likewise.
16387         * tests/test-mbscasestr3.c (ASSERT): Likewise.
16388         * tests/test-mbscasestr4.c (ASSERT): Likewise.
16389         * tests/test-mbschr.c (ASSERT): Likewise.
16390         * tests/test-mbscspn.c (ASSERT): Likewise.
16391         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
16392         * tests/test-mbspbrk.c (ASSERT): Likewise.
16393         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
16394         * tests/test-mbsrchr.c (ASSERT): Likewise.
16395         * tests/test-mbsspn.c (ASSERT): Likewise.
16396         * tests/test-mbsstr1.c (ASSERT): Likewise.
16397         * tests/test-mbsstr2.c (ASSERT): Likewise.
16398         * tests/test-mbsstr3.c (ASSERT): Likewise.
16399         * tests/test-memchr2.c (ASSERT): Likewise.
16400         * tests/test-memmem.c (ASSERT): Likewise.
16401         * tests/test-open.c (ASSERT): Likewise.
16402         * tests/test-printf-frexp.c (ASSERT): Likewise.
16403         * tests/test-printf-frexpl.c (ASSERT): Likewise.
16404         * tests/test-printf-posix.c (ASSERT): Likewise.
16405         * tests/test-quotearg.c (ASSERT): Likewise.
16406         * tests/test-rbtree_list.c (ASSERT): Likewise.
16407         * tests/test-rbtree_oset.c (ASSERT): Likewise.
16408         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
16409         * tests/test-round1.c (ASSERT): Likewise.
16410         * tests/test-roundf1.c (ASSERT): Likewise.
16411         * tests/test-roundl.c (ASSERT): Likewise.
16412         * tests/test-signbit.c (ASSERT): Likewise.
16413         * tests/test-sleep.c (ASSERT): Likewise.
16414         * tests/test-snprintf-posix.c (ASSERT): Likewise.
16415         * tests/test-snprintf.c (ASSERT): Likewise.
16416         * tests/test-sprintf-posix.c (ASSERT): Likewise.
16417         * tests/test-stat-time.c (ASSERT): Likewise.
16418         * tests/test-strcasestr.c (ASSERT): Likewise.
16419         * tests/test-strerror.c (ASSERT): Likewise.
16420         * tests/test-striconv.c (ASSERT): Likewise.
16421         * tests/test-striconveh.c (ASSERT): Likewise.
16422         * tests/test-striconveha.c (ASSERT): Likewise.
16423         * tests/test-strsignal.c (ASSERT): Likewise.
16424         * tests/test-strstr.c (ASSERT): Likewise.
16425         * tests/test-strtod.c (ASSERT): Likewise.
16426         * tests/test-trunc1.c (ASSERT): Likewise.
16427         * tests/test-trunc2.c (ASSERT): Likewise.
16428         * tests/test-truncf1.c (ASSERT): Likewise.
16429         * tests/test-truncf2.c (ASSERT): Likewise.
16430         * tests/test-truncl.c (ASSERT): Likewise.
16431         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
16432         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
16433         * tests/test-vasnprintf.c (ASSERT): Likewise.
16434         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
16435         * tests/test-vasprintf.c (ASSERT): Likewise.
16436         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
16437         * tests/test-vprintf-posix.c (ASSERT): Likewise.
16438         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
16439         * tests/test-vsnprintf.c (ASSERT): Likewise.
16440         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
16441         * tests/test-wcwidth.c (ASSERT): Likewise.
16442         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
16443         * tests/test-xprintf-posix.c (ASSERT): Likewise.
16444         * tests/test-xvasprintf.c (ASSERT): Likewise.
16445         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
16446         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
16447         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
16448         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
16449         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
16450         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
16451         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
16452         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
16453         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
16454         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
16455         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
16456         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
16457         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
16458         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
16459         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
16460         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
16461         * tests/unictype/test-block_list.c (ASSERT): Likewise.
16462         * tests/unictype/test-block_of.c (ASSERT): Likewise.
16463         * tests/unictype/test-block_test.c (ASSERT): Likewise.
16464         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
16465         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
16466         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
16467         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
16468         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
16469         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
16470         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
16471         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
16472         * tests/unictype/test-combining.c (ASSERT): Likewise.
16473         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
16474         * tests/unictype/test-digit.c (ASSERT): Likewise.
16475         * tests/unictype/test-mirror.c (ASSERT): Likewise.
16476         * tests/unictype/test-numeric.c (ASSERT): Likewise.
16477         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
16478         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
16479         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
16480         * tests/unictype/test-scripts.c (ASSERT): Likewise.
16481         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
16482         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
16483         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
16484         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
16485         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
16486         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
16487         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
16488         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
16489         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
16490         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
16491         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
16492         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
16493         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
16494         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
16495         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
16496         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
16497         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
16498         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
16499         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
16500         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
16501         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
16502         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
16503         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
16504         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
16505         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
16506         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
16507         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
16508         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
16509         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
16510         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
16511         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
16512         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
16513         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
16514         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
16515         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
16516         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
16517         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
16518         Reported by Eric Blake.
16519
16520 2008-04-11  Bruno Haible  <bruno@clisp.org>
16521
16522         * lib/wchar.in.h: Tweak comment.
16523
16524 2008-04-11  Bruno Haible  <bruno@clisp.org>
16525
16526         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
16527         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
16528         gl_COMMON.
16529         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
16530
16531 2008-04-11  Bruno Haible  <bruno@clisp.org>
16532
16533         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
16534
16535 2008-04-11  Simon Josefsson  <simon@josefsson.org>
16536
16537         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
16538         of attempting to use non-existing /dev/*random.  Based on patch
16539         from Adam Strzelecki <ono@java.pl> in
16540         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
16541
16542 2008-04-08  Bruno Haible  <bruno@clisp.org>
16543
16544         Add tentative support for emx+gcc.
16545         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
16546         * lib/fpurge.c (fpurge): Likewise.
16547         * lib/freadable.c (freadable): Likewise.
16548         * lib/freadahead.c (freadahead): Likewise.
16549         * lib/freading.c (freading): Likewise.
16550         * lib/freadptr.c (freadptr): Likewise.
16551         * lib/freadseek.c (freadptrinc): Likewise.
16552         * lib/fseeko.c (rpl_fseeko): Likewise.
16553         * lib/fseterr.c (fseterr): Likewise.
16554         * lib/fwritable.c (fwritable): Likewise.
16555         * lib/fwriting.c (fwriting): Likewise.
16556         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
16557
16558 2008-04-09  Eric Blake  <ebb9@byu.net>
16559
16560         Avoid some autoconf warnings.
16561         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
16562         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
16563         * m4/afs.m4 (gl_AFS): Likewise.
16564         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
16565         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
16566         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
16567         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
16568         (gl_INTEGER_TYPE_SUFFIX): Likewise.
16569         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
16570         (AC_CHECK_DECLS_ONCE): Likewise.
16571         Rename file...
16572         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
16573         gnulib-tool requires autoconf 2.59 or better.
16574         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
16575
16576 2008-04-08  Eric Blake  <ebb9@byu.net>
16577
16578         Use 'git describe --match' if present (added in git 1.5.5).
16579         * build-aux/git-version-gen: Limit result to tags that match 'v*'
16580         if possible.
16581
16582 2008-04-08  Bruno Haible  <bruno@clisp.org>
16583
16584         Add tentative support for OpenServer.
16585         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
16586         _ptr, _cnt.
16587         * lib/fpurge.c (fpurge): Likewise.
16588         * lib/freadable.c (freadable): Likewise.
16589         * lib/freadahead.c (freadahead): Likewise.
16590         * lib/freading.c (freading): Likewise.
16591         * lib/freadptr.c (freadptr): Likewise.
16592         * lib/freadseek.c (freadptrinc): Likewise.
16593         * lib/fseeko.c (rpl_fseeko): Likewise.
16594         * lib/fseterr.c (fseterr): Likewise.
16595         * lib/fwritable.c (fwritable): Likewise.
16596         * lib/fwriting.c (fwriting): Likewise.
16597         Reported by Roger Cornelius <rac@tenzing.org> and
16598         Brian K. White <brian@aljex.com>.
16599
16600 2008-04-06  Jim Meyering  <meyering@redhat.com>
16601
16602         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
16603
16604 2008-04-06  Bruno Haible  <bruno@clisp.org>
16605
16606         Avoid possible error with non-ASCII bytes in UTF-8 locales.
16607         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
16608         * tests/test-printf-posix.sh: Likewise.
16609         * tests/test-vfprintf-posix.sh: Likewise.
16610         * tests/test-vprintf-posix.sh: Likewise.
16611         * tests/test-xprintf-posix.sh: Likewise.
16612
16613 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16614
16615         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
16616         hide error from 'ls', needed on OS/2.
16617         Report by Elbert Pol <elbert.pol@gmail.com>.
16618
16619 2008-04-04  Eric Blake  <ebb9@byu.net>
16620
16621         Make test-fseeko.c failures meaningful.
16622         * tests/test-fseeko.c: Print line number on failure.
16623         * tests/test-fseek.c: Likewise.
16624         Reported by Nelson H. F. Beebe.
16625
16626         Improve strtod bug detection check.
16627         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
16628         required for Solaris 10.
16629         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
16630
16631 2008-04-04  Bruno Haible  <bruno@clisp.org>
16632
16633         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
16634         by m4/setenv.m4.
16635
16636 2008-04-03  Eric Blake  <ebb9@byu.net>
16637
16638         Ensure sane .version contents.
16639         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
16640         version string.
16641         * build-aux/git-version-gen: Improve documentation.
16642
16643         Make GNU make output nicer.
16644         * top/GNUmakefile [!_have-Makefile]: Add dependency on
16645         MAKECMDGOALS to enforce message for all command line targets.  Set
16646         srcdir for use in maint.mk.
16647
16648         Another maintainer tweak.
16649         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
16650         a target that regenerates version.
16651
16652 2008-04-03  Jim Meyering  <meyering@redhat.com>
16653
16654         vc-list-files: don't cause coreutils "make po-check" failure
16655         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
16656
16657 2008-04-03  Eric Blake  <ebb9@byu.net>
16658
16659         Allow VPATH usage of vc-list-files.
16660         * build-aux/vc-list-files (scriptversion): Add timestamp.
16661         (options): Add --help, --version, -C.
16662         (CVS): Support installed cvsu.
16663
16664 2008-04-02  Bruno Haible  <bruno@clisp.org>
16665
16666         Avoid some "statement with no effect" warnings from gcc.
16667         * tests/test-wctype.c (main): Explicitly ignore unused values.
16668         Reported by Jim Meyering.
16669
16670 2008-04-02  Jim Meyering  <meyering@redhat.com>
16671
16672         Avoid some warnings from "gcc -Wshadow".
16673         * tests/test-frexp.c (exp): Define to a different identifier.
16674         * tests/test-frexpl.c (exp): Likewise.
16675
16676 2008-04-03  Jim Meyering  <meyering@redhat.com>
16677
16678         bootstrap: remove dangling *.[ch] symlinks from lib
16679         * build-aux/bootstrap [dangling symlink removal]: Move find's
16680         -depth option to precede all others, to avoid a warning.
16681         Remove *.[ch] files too, and from "$source_base" (usually lib/).
16682
16683 2008-04-02  Bruno Haible  <bruno@clisp.org>
16684
16685         Avoid some warnings from "gcc -Wshadow".
16686         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
16687         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
16688         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
16689         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
16690         Reported by Jim Meyering.
16691
16692 2008-04-01  Bruno Haible  <bruno@clisp.org>
16693
16694         Fix test to work on IRIX 6.5 with cc.
16695         * tests/test-math.c (numeric_equal): New function.
16696         (main): Use it.
16697
16698 2008-04-01  Bruno Haible  <bruno@clisp.org>
16699
16700         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
16701
16702 2008-04-01  Bruno Haible  <bruno@clisp.org>
16703
16704         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
16705         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
16706         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
16707         (Depends-on): Remove math.
16708
16709         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
16710         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
16711         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
16712         (Depends-on): Remove math.
16713
16714         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
16715         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
16716         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
16717         (Depends-on): Remove math.
16718         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
16719         (Depends-on): Remove math.
16720
16721         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
16722         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
16723         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
16724         (Depends-on): Remove math.
16725         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
16726         (Depends-on): Remove math.
16727
16728         * tests/test-round1.c: Include nan.h.
16729         (main): Use NaNd instead of NAN.
16730         * modules/round-tests (Files): Add tests/nan.h.
16731
16732         * tests/test-trunc1.c: Include nan.h.
16733         (main): Use NaNd instead of NAN.
16734         * modules/trunc-tests (Files): Add tests/nan.h.
16735
16736         * tests/test-roundf1.c: Include nan.h.
16737         (main): Use NaNf instead of NAN.
16738         * modules/roundf-tests (Files): Add tests/nan.h.
16739
16740         * tests/test-truncf1.c: Include nan.h.
16741         (main): Use NaNf instead of NAN.
16742         * modules/truncf-tests (Files): Add tests/nan.h.
16743
16744         * tests/test-ceilf1.c: Include nan.h.
16745         (main): Use NaNf instead of NAN.
16746         * modules/ceilf-tests (Files): Add tests/nan.h.
16747
16748         * tests/test-floorf1.c: Include nan.h.
16749         (main): Use NaNf instead of NAN.
16750         * modules/floorf-tests (Files): Add tests/nan.h.
16751
16752         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
16753         (main): Use NaNf instead of NAN.
16754         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
16755
16756         * tests/test-isnand.c: Include nan.h instead of <math.h>.
16757         (main): Use NaNd instead of NAN.
16758         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
16759
16760         * tests/test-frexp.c: Include nan.h.
16761         (main): Use NaNd instead of NAN.
16762         * modules/frexp-tests (Files): Add tests/nan.h.
16763
16764         * lib/isnan.c: Don't include <math.h>.
16765         (FUNC): Don't use NAN macro.
16766         * modules/isnand-nolibm (Depends-on): Remove math.
16767         * modules/isnanf-nolibm (Depends-on): Remove math.
16768         * modules/isnanl (Depends-on): Remove math.
16769         * modules/isnanl-nolibm (Depends-on): Remove math.
16770
16771         * tests/nan.h: New file.
16772
16773 2008-04-01  Eric Blake  <ebb9@byu.net>
16774
16775         Fix typos.
16776         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
16777         values to be the right type.
16778
16779         For now, cater to gnulib strtod inaccuracies.
16780         * tests/test-strtod.c (main): Allow 1-ulp error on expected
16781         fractional results.  While not as nice from a QoI perspective, it
16782         is a quicker patch than correctly implementing decimal to binary
16783         rounding.
16784
16785 2008-03-31  Eric Blake  <ebb9@byu.net>
16786
16787         Guarantee a definition of NAN.
16788         * lib/math.in.h (NAN): Define if missing.
16789         * tests/test-math.c (main): Test it.
16790         * doc/posix-headers/math.texi (math.h): Document this.
16791         * lib/isnan.c (rpl_isnand): Use it.
16792         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
16793         * tests/test-floorf1.c (NaN): Likewise.
16794         * tests/test-frexp.c (NaN): Likewise.
16795         * tests/test-isnand.c (NaN): Likewise.
16796         * tests/test-isnanf.c (NaN): Likewise.
16797         * tests/test-round1.c (NaN): Likewise.
16798         * tests/test-roundf1.c (NaN): Likewise.
16799         * tests/test-snprintf-posix.h (NaN): Likewise.
16800         * tests/test-sprintf-posix.h (NaN): Likewise.
16801         * tests/test-trunc1.c (NaN): Likewise.
16802         * tests/test-truncf1.c (NaN): Likewise.
16803         * tests/test-vasnprintf-posix.c (NaN): Likewise.
16804         * tests/test-vasprintf-posix.c (NaN): Likewise.
16805         * modules/isnand-nolibm (Depends-on): Add math.
16806         * modules/isnanf-nolibm (Depends-on): Likewise.
16807         * modules/isnanl (Depends-on): Likewise.
16808         * modules/isnanl-nolibm (Depends-on): Likewise.
16809         * modules/snprintf-posix-tests (Depends-on): Likewise.
16810         * modules/sprintf-posix-tests (Depends-on): Likewise.
16811         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
16812         * modules/vsprintf-posix-tests (Depends-on): Likewise.
16813         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
16814         * modules/vasprintf-posix-tests (Depends-on): Likewise.
16815
16816 2008-03-31  Bruno Haible  <bruno@clisp.org>
16817
16818         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
16819         * doc/posix-functions/strtod.texi: Likewise.
16820
16821 2008-03-31  Bruno Haible  <bruno@clisp.org>
16822
16823         * tests/test-strtod.c (main): Don't use C99 syntax.
16824
16825 2008-03-31  Bruno Haible  <bruno@clisp.org>
16826
16827         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
16828         Reported by Eric Blake.
16829
16830 2008-03-31  Jim Meyering  <meyering@redhat.com>
16831
16832         Don't compare actual signbit return values.
16833         * tests/test-strtod.c (main): Rather, compare only their
16834         zero/non-zero nature.
16835
16836 2008-03-31  Eric Blake  <ebb9@byu.net>
16837
16838         More strtod documentation.
16839         * doc/posix-functions/strtod.texi (strtod): Interpret more test
16840         failures as distinct bugs.
16841
16842 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
16843
16844         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
16845         Problem reported by Erik Benada in
16846         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
16847
16848 2008-03-30  Bruno Haible  <bruno@clisp.org>
16849
16850         * tests/test-strtod.c: Add comments about which assertion fails on which
16851         platform.
16852         * doc/posix-functions/strtod.texi: Add info about many more platforms.
16853
16854 2008-03-30  Eric Blake  <ebb9@byu.net>
16855
16856         Test signbit behavior on zeros.
16857         * tests/test-signbit.c (test_signbitf): Add tests for zero.
16858         (test_signbitd, test_signbitl): Likewise.
16859
16860         More strtod touchups.
16861         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
16862         sign of negative underflow, for now.  Use .5, not .1.
16863         * doc/posix-functions/strtod.texi (strtod): Mention these
16864         limitations.
16865         Reported by Jim Meyering.
16866
16867 2008-03-30  Bruno Haible  <bruno@clisp.org>
16868
16869         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
16870         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
16871
16872 2008-03-30  Bruno Haible  <bruno@clisp.org>
16873
16874         Avoid failure when attempting to return empty iconv results on some
16875         platforms.
16876         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
16877         allocation, don't report ENOMEM when the resulting string is empty.
16878
16879 2008-03-30  Bruno Haible  <bruno@clisp.org>
16880
16881         Fix buffer overrun.
16882         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
16883         Don't consider the width for tmp_length. Check count against tmp_length
16884         before doing the padding. Ensure enough allocation during padding.
16885
16886 2008-03-30  Eric Blake  <ebb9@byu.net>
16887
16888         strtod touchups.
16889         * lib/strtod.c (strtod): Avoid compiler warnings.
16890         Reported by Jim Meyering.
16891
16892 2008-03-30  Bruno Haible  <bruno@clisp.org>
16893
16894         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
16895         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
16896         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
16897         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
16898         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
16899         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
16900         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
16901         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
16902
16903         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
16904         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
16905         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
16906         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
16907         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
16908         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
16909         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
16910         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
16911
16912         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
16913         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
16914         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
16915         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
16916         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
16917         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
16918         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
16919         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
16920
16921         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
16922         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
16923
16924         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
16925         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
16926
16927         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
16928         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
16929
16930         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
16931         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
16932         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
16933
16934         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
16935         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
16936         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
16937
16938         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
16939         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
16940         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
16941
16942         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
16943         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
16944         * modules/vasprintf (Depends-on): Add EOVERFLOW.
16945
16946         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
16947         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
16948         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
16949         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
16950         (Depends-on): Add EOVERFLOW.
16951         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
16952         (Depends-on): Add EOVERFLOW.
16953         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
16954         (Depends-on): Add EOVERFLOW.
16955         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
16956         (Depends-on): Add EOVERFLOW.
16957         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
16958         (Depends-on): Add EOVERFLOW.
16959         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
16960         (Depends-on): Add EOVERFLOW.
16961         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
16962         (Depends-on): Add EOVERFLOW.
16963         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
16964         (Depends-on): Add EOVERFLOW.
16965
16966         * lib/sprintf.c (EOVERFLOW): Remove fallback.
16967         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
16968         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
16969
16970         * lib/snprintf.c (EOVERFLOW): Remove fallback.
16971         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
16972         * modules/snprintf (Depends-on): Add EOVERFLOW.
16973
16974         * lib/poll.c (EOVERFLOW): Remove fallback.
16975         * modules/poll (Depends-on): Add EOVERFLOW.
16976
16977         * lib/getugroups.c (EOVERFLOW): Remove fallback.
16978         * modules/getugroups (Depends-on): Add EOVERFLOW.
16979
16980         * lib/getdelim.c (EOVERFLOW): Remove fallback.
16981         * modules/getdelim (Depends-on): Add EOVERFLOW.
16982
16983         * lib/ftell.c (EOVERFLOW): Remove fallback.
16984         * modules/ftell (Depends-on): Add EOVERFLOW.
16985
16986         * lib/fprintf.c (EOVERFLOW): Remove fallback.
16987         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
16988         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
16989
16990         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
16991
16992         * modules/EOVERFLOW-tests: New file.
16993         * tests/test-EOVERFLOW.c: New file.
16994
16995         * modules/EOVERFLOW: New file.
16996         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
16997
16998 2008-03-30  Bruno Haible  <bruno@clisp.org>
16999
17000         Fix bug introduced on 2007-06-10.
17001         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
17002         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
17003
17004 2008-03-30  Bruno Haible  <bruno@clisp.org>
17005
17006         Improve freadseek's efficiency after ungetc.
17007         * lib/freadseek.c: Include freadahead.h.
17008         (freadptrinc): New function, extracted from freadseek.
17009         (freadseek): Use it in a loop. Use freadahead to determine the number
17010         of loop iterations.
17011         * modules/freadseek (Depends-on): Add freadahead.
17012         (configure.ac): Require AC_C_INLINE.
17013
17014 2008-03-30  Bruno Haible  <bruno@clisp.org>
17015
17016         * lib/freadseek.c (freadseek): Don't ignore the return value of
17017         freadptr.
17018
17019 2008-03-29  Eric Blake  <ebb9@byu.net>
17020
17021         Add hex float support.
17022         * modules/strtod (Depends-on): Add c-ctype.
17023         (Link): Mention POW_LIB.
17024         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
17025         whitespace between 'e' and exponent.
17026         * tests/test-strtod.c (main): Enable hex float tests.
17027         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
17028         now provides.
17029
17030         Document various strtod bugs, with some fixes.
17031         * doc/posix-functions/strtod.texi (strtod): Document bugs with
17032         "-0x", "inf", "nan", and hex constants.
17033         * doc/posix-functions/atof.texi (atof): Likewise.
17034         * modules/stdlib (Makefile.am): Support strtod.
17035         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
17036         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
17037         detect additional strtod bugs.
17038         * lib/stdlib.in.h (rpl_strtod): Add declarations.
17039         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
17040         bool where appropriate.  Parse 'inf' and 'nan'.
17041         * tests/test-strtod.c: New file.
17042         * modules/strtod (Depends-on): Add stdbool, stdlib.
17043         (configure.ac): Turn on module indicator.
17044         * modules/strtod-tests: New module.
17045
17046 2008-03-29  Eric Blake  <ebb9@byu.net>
17047
17048         Fix ftell on mingw.
17049         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
17050         * modules/ftell-tests (Depends-on): Add binary-io.
17051         * modules/ftello-tests (Depends-on): Likewise.
17052         * tests/test-ftell.c (main): Enhance test to cover behavior after
17053         ungetc.  Enforce binary mode.
17054         * tests/test-ftello.c (main): Likewise.
17055
17056         Pass test-freadseek on cygwin.
17057         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
17058         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
17059         ungetc buffer.
17060
17061         * tests/test-fflush2.c (main): Fix typo.
17062
17063 2008-03-29  Bruno Haible  <bruno@clisp.org>
17064
17065         * tests/test-fflush2.c (main): Temporarily disable the contents of
17066         this test.
17067         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
17068         Reported by Eric Blake.
17069
17070 2008-03-28  Simon Josefsson  <simon@josefsson.org>
17071
17072         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
17073         (GC_SHA224_DIGEST_SIZE): Add.
17074
17075         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
17076         (gc_hash_digest_length): Likewise.
17077         (gc_hash_buffer): Likewise.
17078
17079 2008-03-25  Bruno Haible  <bruno@clisp.org>
17080
17081         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
17082         detail which gettext release to use.
17083         Reported by Simon Josefsson.
17084
17085 2008-03-26  Jim Meyering  <meyering@redhat.com>
17086
17087         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
17088         * modules/gnumakefile (clean-GNUmakefile): Also, use
17089         test ... && ... || : syntax rather than if-then ... fi.
17090
17091         gnumakefile: Don't double-quote-expand $(VPATH) value.
17092         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
17093
17094 2008-03-24  Eric Blake  <ebb9@byu.net>
17095
17096         Alter GNUmakefile to install into top directory.
17097         * modules/maintainer-makefile: Split, and add dependency...
17098         * modules/gnumakefile: to this new module.
17099         * build-aux/GNUmakefile: Move...
17100         * top/GNUmakefile: ...here.
17101         * build-aux/maint.mk: Move...
17102         * top/maint.mk: ...here.
17103         * MODULES.html.sh (Support for maintaining...): Document new
17104         module.
17105
17106 2008-03-23  Bruno Haible  <bruno@clisp.org>
17107
17108         * gnulib-tool: New options --vc-files, --no-vc-files.
17109         (func_usage): Document them.
17110         (vc_files): New variable.
17111         (func_import): Consider vc_files.
17112         (func_create_testdir): Set vc_files to empty.
17113         Suggested by Jim Meyering and Karl Berry.
17114
17115 2008-03-23  Bruno Haible  <bruno@clisp.org>
17116
17117         Fix regex compilation error on HP-UX 11.
17118         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
17119         * modules/regex (Files): Add m4/mbstate_t.m4.
17120         Reported by Ton Voon <ton.voon@altinity.com>.
17121
17122 2008-03-23  Bruno Haible  <bruno@clisp.org>
17123
17124         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
17125
17126 2008-03-23  Eric Blake  <ebb9@byu.net>
17127             Bruno Haible  <bruno@clisp.org>
17128
17129         Install files from top/ in the destination directory.
17130         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
17131         augmentation also for the files from top/.
17132         (func_import, func_create_testdir): Rewrite file names:
17133         top/filename -> filename.
17134
17135 2008-03-23  Bruno Haible  <bruno@clisp.org>
17136
17137         Tweak "gnulib --version" output.
17138         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
17139
17140 2008-03-23  Bruno Haible  <bruno@clisp.org>
17141
17142         Tweak "gnulib --version" output.
17143         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
17144         rather than contents of ChangeLog, when possible.
17145
17146 2008-03-21  Eric Blake  <ebb9@byu.net>
17147
17148         More --version tweaks.
17149         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
17150         date of last ChangeLog entry.
17151
17152 2008-03-21  Jim Meyering  <meyering@redhat.com>
17153
17154         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
17155
17156 2008-03-20  Eric Blake  <ebb9@byu.net>
17157
17158         VPATH fix.
17159         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
17160
17161 2008-03-20  Simon Josefsson  <simon@josefsson.org>
17162
17163         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
17164         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
17165
17166 2008-03-20  Eric Blake  <ebb9@byu.net>
17167
17168         Sync GNUmakefile with coreutils.
17169         * build-aux/GNUmakefile (have-Makefile): Rename...
17170         (_have-Makefile): ...to this, for namespace consideration.
17171         (GNUmakefile.cfg): Include, if present.
17172         (_autoreconf): Define a default.
17173         (_is-dist-target): New rule for rebuilds to pick up intra-release
17174         version.
17175         (maint-cfg.mk): Rename...
17176         (cfg.mk): ...to this.
17177
17178 2008-03-18  Jim Meyering  <meyering@redhat.com>
17179
17180         New script and module: mktempd
17181         * MODULES.html.sh (maint+release support): Add mktempd.
17182         * build-aux/mktempd: New file.
17183         * modules/mktempd: New file.
17184
17185 2008-03-15  Jim Meyering  <meyering@redhat.com>
17186
17187         Undo last change.
17188         * lib/sha1.c, lib/md5.c: 63 != ~63.
17189         Reported by Andreas Schwab.
17190
17191         sha1.c, md5.c: Hoist a redundant expression.
17192         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
17193         "ctx->buflen" only once, before calling *_process_block.
17194         * lib/md5.c (md5_process_bytes): Likewise.
17195
17196 2008-03-14  Eric Blake  <ebb9@byu.net>
17197
17198         Bump copyright year in files generated by gnulib-tool.
17199         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
17200         gnulib-tool, rather than hard-coding it.
17201
17202         Fix 'gnulib-tool --version' output to work with git.
17203         * gnulib-tool (func_gnulib_dir): New function, extracted from...
17204         (startup): ...here.
17205         (func_version): Use it to invoke git-version-gen, rather than
17206         relying on CVS keyword expansion.  Modernize wording.
17207         (cvsdatestamp, last_checkin_date, version): Kill unused
17208         variables.
17209
17210 2008-03-12  Jim Meyering  <meyering@redhat.com>
17211
17212         Recognize optional cast of the argument to free.
17213         * build-aux/useless-if-before-free: Update regexps.
17214
17215         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
17216
17217 2008-03-11  Bruno Haible  <bruno@clisp.org>
17218
17219         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
17220         by a single package.
17221         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
17222         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
17223         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
17224         Reported by Sam Steingold <sds@gnu.org>.
17225
17226 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
17227
17228         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
17229         repositories.
17230
17231 2008-03-11  Bruno Haible  <bruno@clisp.org>
17232
17233         Avoid conflicts between local macro definitions.
17234         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
17235         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
17236
17237 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
17238             Bruno Haible  <bruno@clisp.org>
17239
17240         Make va_copy work with some version of xlc on AIX 5.1.
17241         * lib/stdarg.in.h: New file.
17242         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
17243         On AIX, use a <stdarg.h> file substitute.
17244         * modules/stdarg (Files): Add lib/stdarg.in.h.
17245         (Depends-on): Add include_next.
17246         (Makefile.am): Build a stdarg.h substitute if requested.
17247         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
17248
17249 2008-03-10  Bruno Haible  <bruno@clisp.org>
17250
17251         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
17252         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
17253         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
17254
17255 2008-03-10  Bruno Haible  <bruno@clisp.org>
17256
17257         * modules/stdlib (Depends-on): Add include_next, remove
17258         absolute-header.
17259
17260 2008-03-09  Bruno Haible  <bruno@clisp.org>
17261
17262         * lib/freadahead.h (freadahead): Document more precisely.
17263         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
17264         the sum of both buffer sizes.
17265         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
17266         * NEWS: Document the change.
17267
17268 2008-03-09  Bruno Haible  <bruno@clisp.org>
17269
17270         Extend freadptr to return also the buffer size.
17271         * lib/freadptr.h (freadptr): Add sizep argument.
17272         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
17273         (freadptr): Add sizep argument. Determine buffer size like freadahead
17274         does.
17275         * tests/test-freadptr.c: Don't include freadahead.h.
17276         (main): Adapt for new calling convention of freadptr.
17277         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
17278         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
17279         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
17280         tests/test-freadptr2.sh.
17281         (Depends): Remove freadahead.
17282         (TESTS): Add test-freadptr2.sh.
17283         (check_PROGRAMS): Add test-freadptr2.
17284
17285 2008-03-09  Bruno Haible  <bruno@clisp.org>
17286
17287         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
17288         Report and solution by Simon Josefsson.
17289
17290 2008-03-06  Bruno Haible  <bruno@clisp.org>
17291
17292         Make fflush after ungetc work on BSD platforms.
17293         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
17294         * tests/test-fflush2.c: New file.
17295         * tests/test-fflush2.sh: New file.
17296         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
17297         tests/test-fflush2.c.
17298         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
17299         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
17300
17301 2008-03-06  Eric Blake  <ebb9@byu.net>
17302
17303         Likewise for ftello.
17304         * modules/ftello (Dependencies): Add extensions.
17305         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
17306
17307 2008-03-06  Bruno Haible  <bruno@clisp.org>
17308
17309         * modules/fseeko (Dependencies): Add extensions.
17310         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
17311         Needed on glibc systems.
17312
17313 2008-03-06  Bruno Haible  <bruno@clisp.org>
17314
17315         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
17316         email address.
17317         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
17318
17319 2008-03-06  Bruno Haible  <bruno@clisp.org>
17320
17321         * users.txt: Add libgnupdf.
17322
17323 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
17324
17325         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
17326         (Header File Substitutes, Function Substitutes,
17327         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
17328         (Build robot for gnulib): Fix typo.
17329
17330 2008-03-06  Bruno Haible  <bruno@clisp.org>
17331
17332         * doc/gnulib-tool.texi (VCS Issues): Small updates.
17333         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
17334
17335 2008-03-06  Bruno Haible  <bruno@clisp.org>
17336
17337         * doc/func.texi: New file, extracted from doc/gnulib.texi.
17338         * doc/gnulib.texi: Include it.
17339
17340 2008-03-06  Simon Josefsson  <simon@josefsson.org>
17341
17342         * modules/func (License): Change license to unlimited; there was
17343         no LGPL parts in the module anyway.
17344
17345 2008-03-06  Simon Josefsson  <simon@josefsson.org>
17346
17347         * modules/__func__: Renamed to modules/func.
17348         * modules/__func__-tests: Renamed to modules/func-tests.
17349         * tests/test-__func__.c: Renamed to tests/test-func.c.
17350         * m4/__func__.m4: Renamed to m4/func.m4.
17351         * doc/gnulib.texi (__func__): Section renamed to func.
17352         Suggested by Eric Blake <ebb9@byu.net>.
17353
17354 2008-03-06  Simon Josefsson  <simon@josefsson.org>
17355
17356         * doc/gnulib.texi (__func__): Use C99 terminology when talking
17357         about __func__.  Make example self-contained.  Suggested by Eric
17358         Blake <ebb9@byu.net>.
17359
17360         * tests/test-__func__.c (main): Avoid extraneous () around __func.
17361         Suggested by Eric Blake <ebb9@byu.net>.
17362
17363 2008-03-06  Simon Josefsson  <simon@josefsson.org>
17364
17365         * modules/__func__: New file.
17366         * modules/__func__-tests: New file.
17367         * tests/test-__func__.c: New file.
17368         * m4/__func__.m4: New file.
17369         * doc/gnulib.texi (__func__): Document __func__ module.
17370
17371 2008-03-05  Simon Josefsson  <simon@josefsson.org>
17372
17373         * modules/byteswap (License): Re-license as LGPLv2+.
17374
17375 2008-03-05  Simon Josefsson  <simon@josefsson.org>
17376
17377         * doc/Makefile: Add pdf target.
17378
17379 2008-03-05  Simon Josefsson  <simon@josefsson.org>
17380
17381         * modules/inline (License): Use 'unlimited', since there are only
17382         *.m4 files in this module.
17383
17384 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
17385             Bruno Haible  <bruno@clisp.org>
17386
17387         Add support for HP C 7.1 on OpenVMS 8.3.
17388         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
17389
17390 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
17391
17392         Update VMS specifics.
17393         * lib/getopt.c [VMS]: Remove include of unixlib.h.
17394
17395 2008-03-02  Jim Meyering  <meyering@redhat.com>
17396
17397         Remove the last dependency on the "free" module.
17398         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
17399         Reported by Bob Proulx.
17400
17401         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
17402
17403         Remove useless "if" tests before free.  Deprecate "free" module.
17404         * doc/posix-functions/free.texi: Mention that this
17405         module is no longer useful.
17406         * modules/free (Notice): Say this module is obsolete.
17407         * modules/readutmp (Depends-on): Remove free.
17408         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
17409         * lib/putenv.c (putenv): Likewise.
17410         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
17411         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
17412         * tests/test-c-strcasestr.c (main): Likewise.
17413         * tests/test-c-strstr.c (main): Likewise.
17414         * tests/test-mbscasestr1.c (main): Likewise.
17415         * tests/test-mbscasestr2.c (main): Likewise.
17416         * tests/test-mbsstr1.c (main): Likewise.
17417         * tests/test-mbsstr2.c (main): Likewise.
17418         * tests/test-memmem.c (main): Likewise.
17419         * tests/test-strcasestr.c (main): Likewise.
17420         * tests/test-striconv.c (main): Likewise.
17421         * tests/test-striconveh.c (main): Likewise.
17422         * tests/test-striconveha.c (main): Likewise.
17423         * tests/test-strstr.c (main): Likewise.
17424
17425         * build-aux/git-version-gen: Adjust a comment and the Usage string.
17426
17427         bootstrap: sync from coreutils again
17428         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
17429
17430 2008-03-01  Jim Meyering  <meyering@redhat.com>
17431
17432         bootstrap: sync from coreutils
17433         * build-aux/bootstrap (update_po_files): Copy a .po file into place
17434         also when the target doesn't exist.
17435
17436 2008-03-01  Eric Blake  <ebb9@byu.net>
17437
17438         Fix bugs in last patch.
17439         * lib/memchr2.c (memchr2): Fix typo.
17440         * tests/test-memchr2.c: Test previous bug, and don't use GNU
17441         extension.
17442         Reported by Bruce Korb.
17443
17444         New module 'memchr2'.
17445         * modules/memchr2: New file.
17446         * modules/memchr2-tests: Likewise.
17447         * lib/memchr2.h: Likewise.
17448         * lib/memchr2.c: Likewise, based on memchr.c.
17449         * tests/test-memchr2.c: New test.
17450         * MODULES.html.sh (String handling): Add memchr2.
17451
17452 2008-02-29  Bruno Haible  <bruno@clisp.org>
17453
17454         * modules/freadseek-tests: New file.
17455         * tests/test-freadseek.sh: New file.
17456         * tests/test-freadseek.c: New file.
17457
17458         New module 'freadseek'.
17459         * modules/freadseek: New file.
17460         * lib/freadseek.h: New file.
17461         * lib/freadseek.c: New file.
17462         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
17463
17464 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
17465
17466         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
17467         wydawca.
17468
17469         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
17470         program_invocation_name and program_invocation_short_name are
17471         present.
17472
17473 2008-02-28  Bruno Haible  <bruno@clisp.org>
17474
17475         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
17476         * tests/test-freadptr.sh: Also test non-seekable stdin.
17477
17478 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
17479
17480         * build-aux/bootstrap (source_base, m4_base)
17481         (doc_base, tests_base): New variables.
17482         (gnulib_tool_options): Do not hardcode base directories, use
17483         the above variables instead.
17484
17485 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
17486
17487         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
17488
17489 2008-02-28  Bruno Haible  <bruno@clisp.org>
17490
17491         * modules/freadptr-tests: New file.
17492         * tests/test-freadptr.sh: New file.
17493         * tests/test-freadptr.c: New file.
17494
17495         New module 'freadptr'.
17496         * modules/freadptr: New file.
17497         * lib/freadptr.h: New file.
17498         * lib/freadptr.c: New file.
17499         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
17500
17501 2008-02-26  Karl Berry  <karl@freefriends.org>
17502
17503         Sync from Libtool:
17504         * libltdl/argz.c (argz_add, argz_count): New functions.
17505         * libltdl/argz.in.h: Declare them.
17506         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
17507
17508 2008-02-22  Bruno Haible  <bruno@clisp.org>
17509
17510         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
17511         is a pointer type.  Needed for HP-UX 10.
17512         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
17513         * doc/posix-functions/gmtime_r.texi: Likewise.
17514         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
17515
17516 2008-02-24  Bruno Haible  <bruno@clisp.org>
17517
17518         * modules/environ-tests: New file.
17519         * tests/test-environ.c: New file.
17520
17521         New module 'environ'.
17522         * modules/environ: New file.
17523         * lib/unistd.in.h (environ): New declaration.
17524         * m4/environ.m4: New file.
17525         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
17526         after use.
17527         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
17528         HAVE_DECL_ENVIRON.
17529         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
17530         HAVE_DECL_ENVIRON.
17531         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
17532         wrong claim that 'environ' is missing on some systems.
17533         * modules/execute (Depends-on): Add environ.
17534         * lib/execute.c (environ): Remove fallback declaration.
17535         * modules/pipe (Depends-on): Add environ.
17536         * lib/pipe.c (environ): Remove fallback declaration.
17537         * modules/setenv (Depends-on): Add environ.
17538         * lib/setenv.c (environ): Remove fallback declaration.
17539         * modules/unsetenv (Depends-on): Add environ.
17540         * lib/unsetenv.c (environ): Remove fallback declaration.
17541         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
17542         m4/environ.m4.
17543         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
17544         (gl_PREREQ_UNSETENV): Likewise.
17545
17546 2008-02-24  Bruno Haible  <bruno@clisp.org>
17547
17548         * doc/posix-functions/environ.texi: Document the MacOS X problem.
17549
17550 2008-02-20  Bob Proulx  <bob@proulx.com>
17551
17552         Enable use of older two part flavor 'git describe'.
17553         * build-aux/git-version-gen: If using the older two part flavor of
17554         git version then recreate the third part now present in the
17555         newer three part flavor of git describe.
17556
17557 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
17558
17559         * lib/fts.c (fts_build): Typo correction to comment.
17560
17561 2008-02-17  Bruno Haible  <bruno@clisp.org>
17562
17563         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
17564         generating no-op conflicts.
17565
17566 2008-02-17  Bruno Haible  <bruno@clisp.org>
17567
17568         Speed up by 10%.
17569         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
17570         result_entries, rather than an index-based loop.
17571
17572 2008-02-17  Bruno Haible  <bruno@clisp.org>
17573
17574         Speed up by 25%.
17575         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
17576         'hashcode_cached'.
17577         (entry_create): New function.
17578         (entry_hashcode): Use the cached hashcode if possible.
17579         (read_changelog_file, try_split_merged_entry): Use entry_create.
17580
17581 2008-02-17  Bruno Haible  <bruno@clisp.org>
17582
17583         Speed up from O(n^2) to O(n) for long ChangeLog files.
17584         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
17585         (read_changelog_file): Change implementation of entries_reversed list
17586         to rbtreehash.
17587         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
17588
17589 2008-02-17  Bruno Haible  <bruno@clisp.org>
17590
17591         New option --split-merged-entry.
17592         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
17593         (find_paragraph_end, try_split_merged_entry): New functions.
17594         (long_options): Add option --split-merged-entry.
17595         (usage): Document option --split-merged-entry.
17596         (main): Implement option --split-merged-entry.
17597         Reported by Eric Blake.
17598
17599 2008-02-17  Bruno Haible  <bruno@clisp.org>
17600
17601         * lib/git-merge-changelog.c: Include c-strstr.h.
17602         (main): Support the "git pull --rebase" situation.
17603         * modules/git-merge-changelog (Depends-on): Add c-strstr.
17604         Reported by Eric Blake.
17605
17606 2008-02-16  Eric Blake  <ebb9@byu.net>
17607
17608         Avoid doubling \ in common case of "c-maybe" quoting style.
17609         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
17610         eliding outer quotes.
17611         * lib/quotearg.h: Document this.
17612         * tests/test-quotearg.c (result_strings, inputs, results_g)
17613         (flag_results, locale_results): Test it by adding a new string to
17614         each test group.
17615         (compare_strings): Test new string.
17616
17617 2008-02-13  Eric Blake  <ebb9@byu.net>
17618
17619         Avoid trigraph quoting in default output.
17620         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
17621         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
17622         unless explicitly requested.
17623         * tests/test-quotearg.c (flag_results, main): Add additional tests.
17624
17625 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
17626
17627         Don't rely on signed integer overflowing to negative value.
17628         * lib/getugroups.c (getugroups): Include <limits.h>.
17629         Instead, compare against INT_MAX, and increment only if the test passes.
17630
17631 2008-02-13  Jim Meyering  <meyering@redhat.com>
17632         and Eric Blake  <ebb9@byu.net>
17633
17634         Avoid shadowing warning and compile errors on Linux.
17635         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
17636         forwarding macros on Linux.
17637         (dcgettext): Define a stub, for Linux.
17638         (results_g, main): Avoid warnings.
17639
17640 2008-02-12  Eric Blake  <ebb9@byu.net>
17641
17642         Silence warning in last patch.
17643         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
17644
17645         Quotearg part 4: add tests, fix c-maybe colon quoting.
17646         * lib/quotearg.h: Improve documentation.
17647         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
17648         escapes when adding outer quotes.  When quoting trigraphs, use
17649         valid C notation.  When quoting NUL, omit extra characters if next
17650         character is not digit.  Alter prototype.
17651         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
17652         callers.
17653         * modules/quotearg-tests: New module.
17654         * tests/test-quotearg.c: New test.
17655
17656 2008-02-07  Eric Blake  <ebb9@byu.net>
17657
17658         Quotearg part 3: add flag to control outer quote elision.
17659         * lib/quotearg.h (c_maybe_quoting_style): New style.
17660         (enum quoting_flags): Better documentation of flags.
17661         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
17662         c-maybe style.
17663         (quotearg_buffer_restyled): Handle new flag to elide outer
17664         quotes.
17665
17666         Quotearg part 2: add flag that can control NUL elision.
17667         * lib/quotearg.h (set_quoting_flags): New prototype.
17668         * lib/quotearg.c (struct quoting_options): Add flag field.
17669         (set_quoting_flags): New function.
17670         (quotearg_buffer_restyled): Add flags parameter.
17671         (quotearg_alloc_mem): Set the flag if length cannot be returned.
17672         (quotearg_n_options): Set the flag, since length cannot be
17673         returned.
17674         (quoting_options_from_style): Default flags correctly.
17675
17676         Quotearg part 1: more wrappers, restore quotearg_char state.
17677         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
17678         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
17679         (quotearg_colon_mem): New wrappers.
17680         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
17681         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
17682         functions.
17683         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
17684         (quotearg_colon_mem): New functions.
17685
17686 2008-02-11  Bruno Haible  <bruno@clisp.org>
17687
17688         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
17689         library in the current directory: it does not work with parallel make.
17690         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17691
17692 2008-02-11  Bruno Haible  <bruno@clisp.org>
17693
17694         * .gitattributes: New file.
17695
17696 2008-02-11  Jim Meyering  <meyering@redhat.com>
17697
17698         useless-if-before-free: Fix reversed exit values.
17699         * build-aux/useless-if-before-free: Use correct values
17700         for EXIT_MATCH and EXIT_NO_MATCH.
17701
17702         * build-aux/useless-if-before-free: Close stdout carefully.
17703
17704 2008-02-10  Bruno Haible  <bruno@clisp.org>
17705
17706         New module 'git-merge-changelog'.
17707         * modules/git-merge-changelog: New file.
17708         * lib/git-merge-changelog.c: New file.
17709
17710 2008-02-10  Jim Meyering  <meyering@redhat.com>
17711
17712         useless-if-before-free: New option: --list (-l).
17713
17714         useless-if-before-free: Don't exit immediately upon open failure.
17715         * build-aux/useless-if-before-free: Exit 2 for errors.
17716         Upon failure to open a file, don't exit immediately.
17717         Rather, just warn and continue with any remaining files.
17718
17719 2008-02-10  Bruno Haible  <bruno@clisp.org>
17720
17721         New abstract list operation 'node_set_value'.
17722         * lib/gl_list.h (gl_list_node_set_value): New function.
17723         (struct gl_list_implementation): New field node_set_value.
17724         * lib/gl_list.c (gl_list_node_set_value): New function.
17725         * lib/gl_array_list.c (gl_array_node_set_value): New function.
17726         (gl_array_list_implementation): Update.
17727         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
17728         (gl_carray_list_implementation): Update.
17729         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
17730         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
17731         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
17732         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
17733         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
17734         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
17735         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
17736         Update.
17737         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
17738         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
17739         (gl_sublist_list_implementation): Update.
17740
17741 2008-02-10  Bruno Haible  <bruno@clisp.org>
17742
17743         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
17744         Needed when ELEMENT is #defined to 'some_type *'.
17745
17746 2008-02-10  Jim Meyering  <meyering@redhat.com>
17747
17748         New script and module: useless-if-before-free
17749         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
17750         * build-aux/useless-if-before-free: New file.
17751         * modules/useless-if-before-free: New file.
17752
17753         * build-aux/gitlog-to-changelog: Use committer date, not author date.
17754
17755         xstrtol_error: Fix typo.
17756         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
17757         s/exit_failure/exit_status/.
17758
17759 2008-02-09  Jim Meyering  <meyering@redhat.com>
17760
17761         New script and module: gitlog-to-changelog
17762         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
17763         * modules/gitlog-to-changelog: New file.
17764         * build-aux/gitlog-to-changelog: New file.
17765
17766 2008-02-08  Jim Meyering  <meyering@redhat.com>
17767
17768         Avoid two "parameter unused" warnings.
17769         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
17770         Mark "st" as used.
17771
17772         Use "git COMMAND", not "git-COMMAND".
17773         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
17774         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
17775         * build-aux/git-version-gen: Use "git status", not "git-status".
17776
17777 2008-02-07  Bruno Haible  <bruno@clisp.org>
17778
17779         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
17780         Avoids a crash on Windows Vista.
17781         Reported by Adam Strzelecki <ono@java.pl> via
17782         Simon Josefsson <simon@josefsson.org>.
17783
17784 2008-02-06  Bruno Haible  <bruno@clisp.org>
17785
17786         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
17787         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
17788         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
17789         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
17790         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
17791         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
17792         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
17793         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
17794         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
17795         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
17796         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
17797         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
17798         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
17799         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
17800         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
17801         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
17802         left-adjust flag.
17803         * tests/test-snprintf-posix.h (test_function): Likewise.
17804         * tests/test-sprintf-posix.h (test_function): Likewise.
17805         * tests/test-vasprintf-posix.c (test_function): Likewise.
17806         * doc/posix-functions/fprintf.texi: Update.
17807         * doc/posix-functions/printf.texi: Update.
17808         * doc/posix-functions/snprintf.texi: Update.
17809         * doc/posix-functions/sprintf.texi: Update.
17810         * doc/posix-functions/vfprintf.texi: Update.
17811         * doc/posix-functions/vprintf.texi: Update.
17812         * doc/posix-functions/vsnprintf.texi: Update.
17813         * doc/posix-functions/vsprintf.texi: Update.
17814         Reported by Peter Fales <psfales@alcatel-lucent.com>.
17815
17816 2008-02-06  Bruno Haible  <bruno@clisp.org>
17817
17818         Fix bug introduced on 2008-01-26.
17819         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
17820
17821 2008-02-06  Bruno Haible  <bruno@clisp.org>
17822
17823         Fix bug introduced on 2007-06-10.
17824         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
17825         !NEED_PRINTF_FLAG_ZERO.
17826
17827 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
17828
17829         getloadavg: use libperfstat on AIX5
17830         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
17831
17832 2008-02-03  Bruno Haible  <bruno@clisp.org>
17833
17834         * lib/diffseq.h: Add comments about required #includes.
17835         Reported by Michael Biggs <gnulib@doubleplum.net>.
17836
17837 2008-02-01  Bruno Haible  <bruno@clisp.org>
17838
17839         * users.txt: Add gnuit.
17840
17841 2008-01-31  Bruno Haible  <bruno@clisp.org>
17842
17843         * lib/md4.c (set_uint32): Mark as inline.
17844         * lib/md5.c (set_uint32): Likewise.
17845         * lib/sha1.c (set_uint32): Likewise.
17846         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
17847         * m4/md5.m4 (gl_MD5): Likewise.
17848         * m4/sha1.m4 (gl_SHA1): Likewise.
17849
17850 2008-01-31  Jim Meyering  <meyering@redhat.com>
17851
17852         Use "sizeof VAR", rather than a literal "4".
17853         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
17854         * lib/md4.c (md4_read_ctx): Likewise.
17855         * lib/sha1.c (sha1_read_ctx): Likewise.
17856
17857 2008-01-31  Simon Josefsson  <simon@josefsson.org>
17858
17859         * tests/test-sha1.c: New file, based on test-md5.c.
17860
17861         * modules/crypto/sha1-tests: New file.
17862
17863 2008-01-31  Simon Josefsson  <simon@josefsson.org>
17864
17865         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
17866
17867 2008-01-31  Jim Meyering  <meyering@redhat.com>
17868
17869         Prefer "sizeof v" over the equivalent "4".
17870         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
17871         * lib/md5.c (set_uint32): Likewise.
17872         * lib/sha1.c (set_uint32): Likewise.
17873
17874 2008-01-31  Simon Josefsson  <simon@josefsson.org>
17875
17876         * lib/sha1.c (set_uint32): Mark function as static.
17877
17878 2008-01-31  Simon Josefsson  <simon@josefsson.org>
17879
17880         md2: clarify comments to say that alignment is not required.
17881         * lib/md2.h: Remove warning about alignment in comment.
17882         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
17883         never been required.
17884
17885 2008-01-31  Simon Josefsson  <simon@josefsson.org>
17886
17887         md4: adapt alignment constraint fix from sha1.
17888         * lib/md4.c (set_uint32): New function, from sha1.c
17889         (md4_read_ctx): Use it.
17890         (md4_finish_ctx): Doc fix.
17891         * lib/md4.h: Doc fix.
17892
17893 2008-01-31  Simon Josefsson  <simon@josefsson.org>
17894
17895         md5: adapt alignment constraint fix from sha1.
17896         * lib/md5.c (set_uint32): New function, from sha1.c
17897         (md5_read_ctx): Use it.
17898         (md5_finish_ctx): Doc fix.
17899         * lib/md5.h: Doc fix.
17900
17901 2008-01-30  Peter Palfrader  <weasel@debian.org>
17902
17903         sha1: remove the result buffer alignment constraint
17904         * lib/sha1.c (set_uint32): New function.
17905         (sha1_read_ctx): Rewrite to remove the result buffer alignment
17906         constraint.
17907         (sha1_finish_ctx): Remove comment warning about alignment constraint.
17908         * lib/sha1.h: Likewise.
17909
17910 2008-01-30  Andreas Schwab  <schwab@suse.de>
17911             Bruno Haible  <bruno@clisp.org>
17912
17913         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
17914         correct definition of LDBL_MIN_EXP.
17915
17916 2008-01-30  Karl Berry  <karl@gnu.org>
17917
17918         * config/srclist-update: try to preserve x bit on updates.
17919         * config/srclistvars.sh: update for karl.
17920
17921 2008-01-29  Jim Meyering  <meyering@redhat.com>
17922
17923         vasnprintf.c: Avoid warning about unused label
17924         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
17925         "overflow" label definition and associated code with the
17926         same cpp condition that guards the sole use of that label.
17927
17928 2008-01-26  Bruno Haible  <bruno@clisp.org>
17929
17930         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
17931         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
17932         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
17933         * lib/isnanl-nolibm.h (isnanl): Likewise.
17934         Reported by Paul Eggert <eggert@cs.ucla.edu>.
17935
17936 2008-01-26  Bruno Haible  <bruno@clisp.org>
17937
17938         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
17939         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
17940
17941 2008-01-26  Bruno Haible  <bruno@clisp.org>
17942
17943         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
17944         GCC >= 4.0 built-in.
17945         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
17946
17947 2008-01-26  Bruno Haible  <bruno@clisp.org>
17948
17949         Rename isnan, applicable to 'double' only, to isnand.
17950         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
17951         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
17952         (configure.ac): Update.
17953         (Include): Replace "isnan.h" with "isnand.h".
17954         * m4/isnand.m4: Renamed from m4/isnan.m4.
17955         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
17956         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
17957         instead of isnan.c.
17958         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
17959         instead of HAVE_ISNAN_IN_LIBC.
17960         (isnand): Renamed from isnan.
17961         * lib/isnand.c: New file.
17962         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
17963         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
17964         (Makefile.am): Update.
17965         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
17966         Include isnand.h instead of isnan.h.
17967         (main): Test isnand instead of isnan.
17968         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
17969         isnan-nolibm.
17970         * modules/frexp (Depends-on): Likewise.
17971         * modules/frexp-tests (Depends-on): Likewise.
17972         * modules/frexp-nolibm (Depends-on): Likewise.
17973         * modules/frexp-nolibm-tests (Depends-on): Likewise.
17974         * modules/isfinite (Depends-on): Likewise.
17975         * modules/round-tests (Depends-on): Likewise.
17976         * modules/signbit (Depends-on): Likewise.
17977         * modules/signbit-tests (Depends-on): Likewise.
17978         * modules/snprintf-posix (Depends-on): Likewise.
17979         * modules/sprintf-posix (Depends-on): Likewise.
17980         * modules/trunc-tests (Depends-on): Likewise.
17981         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
17982         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
17983         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
17984         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
17985         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
17986         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
17987         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
17988         * modules/vasnprintf-posix (Depends-on): Likewise.
17989         * modules/vasprintf-posix (Depends-on): Likewise.
17990         * modules/vfprintf-posix (Depends-on): Likewise.
17991         * modules/vsnprintf-posix (Depends-on): Likewise.
17992         * modules/vsprintf-posix (Depends-on): Likewise.
17993         * lib/frexp.c: Include isnand.h instead of isnan.h.
17994         (ISNAN): Set to isnand instead of isnan.
17995         * lib/isfinite.c: Include isnand.h instead of isnan.h.
17996         (gl_isfinited): Use isnand instead of isnan.
17997         * lib/signbitd.c: Include isnand.h instead of isnan.h.
17998         (gl_signbitd): Use isnand instead of isnan.
17999         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
18000         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
18001         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
18002         (main): Use isnand instead of isnan.
18003         * tests/test-round1.c: Include isnand.h.
18004         (main): Use isnand instead of isnan.
18005         * tests/test-round2.c: Include isnand.h instead of isnan.h.
18006         (ISNAN): Set to isnand instead of isnan.
18007         * tests/test-trunc1.c: Include isnand.h.
18008         (main): Use isnand instead of isnan.
18009         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
18010         (equal): Use isnand instead of isnan.
18011         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
18012         isnand-nolibm.
18013         * NEWS: Mention the change.
18014
18015 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
18016             Bruno Haible  <bruno@clisp.org>
18017
18018         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
18019         the GCC builtins for signbits are present and set
18020         REPLACE_SIGNBIT_USING_GCC if so.
18021         * lib/math.in.h (signbit): Define using GCC builtins if
18022         REPLACE_SIGNBIT_USING_GCC is set.
18023         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
18024         REPLACE_SIGNBIT_USING_GCC.
18025         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
18026
18027 2008-01-25  Jim Meyering  <meyering@redhat.com>
18028
18029         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
18030         * lib/poll.c: Include <config.h>, not "config.h".
18031         * tests/test-getaddrinfo.c: Likewise.
18032
18033 2008-01-25  Simon Josefsson  <simon@josefsson.org>
18034
18035         * modules/sockets-tests: New file.
18036
18037 2008-01-24  Simon Josefsson  <simon@josefsson.org>
18038
18039         * modules/sockets: New module, can be used to call WSA_Startup and
18040         WSA_Cleanup when needed.
18041
18042         * lib/sockets.h, lib/sockets.c: New files.
18043
18044         * m4/sockets.m4: New file.
18045
18046         * tests/test-sockets.c: New file.
18047
18048 2008-01-19  Bruno Haible  <bruno@clisp.org>
18049
18050         * doc/posix-headers: Renamed from doc/headers.
18051         * doc/posix-functions: Renamed from doc/functions.
18052         * doc/gnulib.texi: Update.
18053
18054 2008-01-19  Bruno Haible  <bruno@clisp.org>
18055
18056         * doc/glibc-functions/strcasestr.texi: Include contents of
18057         doc/functions/strcasestr.texi, fixing the list of platforms.
18058         * doc/functions/strcasestr.texi: Remove file.
18059
18060 2008-01-19  Bruno Haible  <bruno@clisp.org>
18061
18062         * doc/glibc-functions/memmem.texi: Include contents of
18063         doc/functions/memmem.texi.
18064         * doc/functions/memmem.texi: Remove file.
18065
18066 2008-01-18  Bruno Haible  <bruno@clisp.org>
18067
18068         * doc/glibc-functions/*.texi: New files.
18069         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
18070         to use the new files.
18071
18072 2008-01-17  Bruno Haible  <bruno@clisp.org>
18073
18074         * tests/test-gethostname.c (main): Fix printf statement.
18075
18076 2008-01-17  Simon Josefsson  <simon@josefsson.org>
18077
18078         * modules/gethostname-tests: New file.
18079
18080         * tests/test-gethostname.c: New file.
18081
18082 2008-01-17  Simon Josefsson  <simon@josefsson.org>
18083
18084         * lib/gethostname.c: Include string.h unconditionally, strncpy is
18085         used by the UNAME case.  Reported by Bruno Haible
18086         <bruno@clisp.org>.
18087
18088 2008-01-17  Eric Blake  <ebb9@byu.net>
18089
18090         Convert c-strcasestr to be more efficient.
18091         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
18092         (Depends-on): Add c-strcase, remove malloca, strnlen.
18093         * tests/test-c-strcasestr.c (main): Enhance test.
18094         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
18095
18096 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
18097
18098         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
18099         Use it in creating po/Makevars.
18100
18101 2008-01-15  Simon Josefsson  <simon@josefsson.org>
18102
18103         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
18104         Applications that requires it should initialize libgcrypt
18105         manually.
18106
18107 2008-01-16  Simon Josefsson  <simon@josefsson.org>
18108
18109         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
18110
18111 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
18112
18113         Fix problem with getdate on mingw32 reported by Simon Josefsson
18114         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
18115         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
18116         tzname", when deciding whether to declare tzname.
18117         * lib/strftime.c (tzname): Likewise.
18118
18119 2008-01-15  Bruno Haible  <bruno@clisp.org>
18120
18121         Work around a MacOS X 10.5 bug in frexpl().
18122         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
18123         * doc/functions/frexpl.texi: Document the bug.
18124         Reported by Elias Pipping <pipping@gentoo.org>.
18125
18126 2008-01-14  Eric Blake  <ebb9@byu.net>
18127
18128         Touch up previous patch.
18129         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
18130         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
18131
18132         Convert strcasestr module to use Two-Way algorithm.
18133         * modules/strcasestr-simple: New module, based on the old
18134         strcasestr, but with Two-Way rather than KMP.
18135         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
18136         * lib/string.in.h (rpl_strcasestr): Declare.
18137         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
18138         performance.
18139         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
18140         * modules/string (Makefile.am): Support strcasestr.
18141         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
18142         * modules/strcasestr-tests (Depends-on): Check for alarm.
18143         * tests/test-strcasestr.c: Augment test.
18144         * lib/str-two-way.h: Clean up stray macro.
18145         * NEWS: Document new module.
18146         * MODULES.html.sh (string handling): Likewise.
18147         * doc/functions/strcasestr.texi: New file.
18148         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
18149         here, since it is not a POSIX function.
18150
18151 2008-01-14  Colin Watson  <cjwatson@debian.org>
18152             Bruno Haible  <bruno@clisp.org>
18153
18154         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
18155         works fine; if not, set REPLACE_STRSIGNAL.
18156         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
18157         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
18158         REPLACE_STRSIGNAL.
18159         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
18160         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
18161         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
18162
18163 2008-01-14  Bruno Haible  <bruno@clisp.org>
18164
18165         * modules/strsignal (Include): Change to <string.h>.
18166
18167 2008-01-14  Colin Watson  <cjwatson@debian.org>
18168
18169         * modules/argp (Notice): Add a notice recommending to change
18170         XGETTEXT_OPTIONS.
18171         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
18172
18173 2008-01-13  Colin Watson  <cjwatson@debian.org>
18174
18175         * modules/strsignal-tests: New file.
18176         * tests/test-strsignal.c: New file.
18177
18178         * lib/strsignal.c: New file, from glibc with modifications.
18179         * lib/siglist.h: New file, from glibc with modifications.
18180         * lib/string.in.h (strsignal): New declaration.
18181         * m4/strsignal.m4: New file.
18182         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
18183         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
18184         * modules/strsignal: New file.
18185         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
18186         HAVE_DECL_STRSIGNAL.
18187
18188 2008-01-13  Bruno Haible  <bruno@clisp.org>
18189
18190         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
18191         locale encoding is not ASCII. Needed for OpenBSD 4.0.
18192         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
18193         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18194
18195 2008-01-13  Bruno Haible  <bruno@clisp.org>
18196
18197         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
18198         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
18199         * lib/argp.h (__attribute__): Likewise.
18200         * lib/c-stack.c (__attribute__): Likewise.
18201         * lib/error.h (__attribute__): Likewise.
18202         * lib/fts.c (__attribute__): Likewise.
18203         * lib/openat.h (__attribute__): Likewise.
18204         * lib/stdio.in.h (__attribute__): Likewise.
18205         * lib/string.in.h (__attribute__): Likewise.
18206         * lib/utimens.c (__attribute__): Likewise.
18207         * lib/vasnprintf.h (__attribute__): Likewise.
18208         * lib/xalloc.h (__attribute__): Likewise.
18209         * lib/xprintf.h (__attribute__): Likewise.
18210         * lib/xstrtol.h (__attribute__): Likewise.
18211         * lib/xvasprintf.h (__attribute__): Likewise.
18212
18213 2008-01-12  Bruno Haible  <bruno@clisp.org>
18214
18215         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
18216         * doc/glibc-headers/a.out.texi: New file.
18217         * doc/glibc-headers/aliases.texi: New file.
18218         * doc/glibc-headers/alloca.texi: New file.
18219         * doc/glibc-headers/ar.texi: New file.
18220         * doc/glibc-headers/argp.texi: New file.
18221         * doc/glibc-headers/argz.texi: New file.
18222         * doc/glibc-headers/byteswap.texi: New file.
18223         * doc/glibc-headers/crypt.texi: New file.
18224         * doc/glibc-headers/endian.texi: New file.
18225         * doc/glibc-headers/envz.texi: New file.
18226         * doc/glibc-headers/err.texi: New file.
18227         * doc/glibc-headers/error.texi: New file.
18228         * doc/glibc-headers/execinfo.texi: New file.
18229         * doc/glibc-headers/fpu_control.texi: New file.
18230         * doc/glibc-headers/fstab.texi: New file.
18231         * doc/glibc-headers/fts.texi: New file.
18232         * doc/glibc-headers/getopt.texi: New file.
18233         * doc/glibc-headers/ieee754.texi: New file.
18234         * doc/glibc-headers/ifaddrs.texi: New file.
18235         * doc/glibc-headers/libintl.texi: New file.
18236         * doc/glibc-headers/mcheck.texi: New file.
18237         * doc/glibc-headers/mntent.texi: New file.
18238         * doc/glibc-headers/obstack.texi: New file.
18239         * doc/glibc-headers/paths.texi: New file.
18240         * doc/glibc-headers/printf.texi: New file.
18241         * doc/glibc-headers/pty.texi: New file.
18242         * doc/glibc-headers/resolv.texi: New file.
18243         * doc/glibc-headers/shadow.texi: New file.
18244         * doc/glibc-headers/sysexits.texi: New file.
18245         * doc/glibc-headers/ttyent.texi: New file.
18246
18247 2008-01-12  Jim Meyering  <meyering@redhat.com>
18248
18249         announce-gen: emit Gnulib's git-based version string.
18250         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
18251         New option --gnulib-version=V, where V is expected to be
18252         the output of running git describe in the gnulib directory.
18253         (get_tool_versions): Request feedback on xdelta.  I suspect it's
18254         not useful, and plan to stop publishing an xdelta file with each
18255         coreutils release.
18256
18257         * build-aux/announce-gen: Also check for lzma-compressed files.
18258
18259 2008-01-11  Bruno Haible  <bruno@clisp.org>
18260
18261         * tests/test-memmem.c (main): Increase maximum allowed time.
18262         * tests/test-strstr.c (main): Likewise.
18263
18264 2008-01-11  Bruno Haible  <bruno@clisp.org>
18265
18266         * doc/functions/memmem.texi: Add more precisions about platforms.
18267         * doc/functions/strstr.texi: Likewise.
18268
18269 2008-01-10  Eric Blake  <ebb9@byu.net>
18270
18271         * m4/strstr.m4: Delete cruft from copy-n-paste.
18272         Reported by Bruno Haible.
18273
18274 2008-01-10  Bruno Haible  <bruno@clisp.org>
18275
18276         Make c-strstr rely on strstr.
18277         * lib/c-strstr.c: Don't include str-kmp.h.
18278         (c_strstr): Define in terms of strstr.
18279         * modules/c-strstr (Files): Remove lib/str-kmp.h.
18280         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
18281
18282 2008-01-10  Bruno Haible  <bruno@clisp.org>
18283
18284         * doc/gnulib.texi (String Functions in C Locale): New section.
18285         * doc/c-ctype.texi: New file.
18286         * doc/c-strcase.texi: New file.
18287         * doc/c-strcaseeq.texi: New file.
18288         * doc/c-strcasestr.texi: New file.
18289         * doc/c-strstr.texi: New file.
18290         * doc/c-strtod.texi: New file.
18291         * doc/c-strtold.texi: New file.
18292
18293 2008-01-10  Eric Blake  <ebb9@byu.net>
18294
18295         * lib/relocatable.h: Fix a comment.
18296
18297 2008-01-10  Eric Blake  <ebb9@byu.net>
18298
18299         Share two-way algorithm.
18300         * lib/str-two-way.h: New file, merged from...
18301         * lib/memmem.c: ...here...
18302         * lib/strstr.c: ...and here.
18303         * modules/memmem (Files): Use it.
18304         * modules/strstr (Files): Likewise.
18305
18306         Avoid quadratic strstr implementations.
18307         * lib/strstr.c: New file.
18308         * m4/strstr.m4: Likewise.
18309         * modules/strstr: Likewise.
18310         * modules/strstr-tests: Likewise.
18311         * tests/test-strstr.c: Likewise.
18312         * lib/string.in.h (rpl_strstr): Declare.
18313         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
18314         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
18315         * modules/string (Makefile.am): Likewise.
18316         * MODULES.html.sh (string handling): Mention new module.
18317         * doc/functions/strstr.texi (strstr): Document the bug.
18318
18319 2008-01-10  Bruno Haible  <bruno@clisp.org>
18320
18321         * lib/relocatable.h (relocate): State whether result is freshly
18322         allocated or not.
18323         * lib/relocatable.c (relocate): Return a freshly allocated string
18324         instead of a pointer to a privately held string.
18325         Reported by Sylvain Beucler <beuc@gnu.org>.
18326
18327 2008-01-10  Colin Watson  <cjwatson@debian.org>
18328
18329         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
18330         s/S_ISNLK/S_ISLNK/.
18331
18332 2008-01-09  Bruno Haible  <bruno@clisp.org>
18333
18334         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
18335         and other files.
18336         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
18337         if it's only a guess.
18338         * modules/memmem: Simplify by depending on memmem-simple.
18339
18340 2008-01-09  Bruno Haible  <bruno@clisp.org>
18341
18342         Work around OpenBSD 4.0 tdelete() bug.
18343         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
18344         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
18345         macros and don't redefine the enum values.
18346         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
18347         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
18348         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
18349
18350 2008-01-09  Bruno Haible  <bruno@clisp.org>
18351
18352         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
18353         (main): Don't perform the tests if setlocale did not install a UTF-8
18354         locale. Needed on OpenBSD 4.0.
18355         * modules/wcwidth-tests (Depends-on): Add localcharset.
18356
18357 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
18358
18359         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
18360         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
18361         * NEWS: announce this.
18362         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
18363
18364 2008-01-09  Simon Josefsson  <simon@josefsson.org>
18365         and Eric Blake  <ebb9@byu.net>
18366
18367         Add memmem-simple module.
18368         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
18369         (gl_FUNC_MEMMEM): Separate performance from presence checks.
18370         * modules/memmem-simple: New file.
18371         * modules/memmem (Description): Tweak.
18372         * MODULES.html.sh (string handling): Mention new module.
18373         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
18374         addressed by memmem-simple.
18375         * NEWS: Document the difference.
18376
18377 2008-01-09  Eric Blake  <ebb9@byu.net>
18378
18379         Give gcc some memmem optimization hints.
18380         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
18381         (strcasestr): Declare as pure.
18382         * modules/memmem (Maintainer): Claim my implementation.
18383
18384 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18385
18386         Support AIX 6.1 and higher.
18387         * build-aux/config.libpath: Likewise.
18388         * build-aux/config.rpath: Likewise.
18389
18390 2008-01-08  Jim Meyering  <meyering@redhat.com>
18391             Bruno Haible  <bruno@clisp.org>
18392
18393         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
18394         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
18395         Reported by Peter Fales in
18396         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
18397
18398 2008-01-08  Bruno Haible  <bruno@clisp.org>
18399
18400         * modules/unictype/category-of (Depends-on): Add
18401         unictype/category-none.
18402         * modules/unictype/category-and-tests (Depends-on): Add
18403         unictype/category-{L,N,Lu,Nd}.
18404         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
18405         * modules/unictype/category-or-tests (Depends-on): Add
18406         unictype/category-{L,N}.
18407         * modules/unictype/category-name-tests (Depends-on): Add
18408         unictype/category-{Z,Nl}.
18409         Reported by Simon Josefsson.
18410
18411 2008-01-08  Bruno Haible  <bruno@clisp.org>
18412
18413         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
18414         convention better.
18415         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
18416         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
18417         Reported by Peter Miller <millerp@canb.auug.org.au>.
18418
18419 2008-01-08  Eric Blake  <ebb9@byu.net>
18420
18421         Rewrite memmem to guarantee linear complexity without malloc.
18422         * lib/memmem.c (memmem): Use Two-Way rather than
18423         Knuth-Morris-Pratt, to allow O(1) space usage.
18424         (critical_factorization, two_way_short_needle)
18425         (two_way_long_needle): New functions.
18426         (knuth_morris_pratt): Delete.
18427         * modules/memmem (Depends-on): No longer need malloca or stdbool.
18428         Add stdint.
18429         * tests/test-memmem.c (main): Add tests for periodic needle and
18430         sublinear performance.
18431         * doc/functions/memmem.texi (memmem): Document other deficiencies
18432         in cygwin and older glibc.
18433
18434 2008-01-08  Bruno Haible  <bruno@clisp.org>
18435
18436         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
18437         augmentation.
18438
18439 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
18440
18441         Add a configure time option: --disable-acl.
18442         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
18443         AC_ARG_ENABLE(acl).
18444
18445 2008-01-06  Simon Josefsson  <simon@josefsson.org>
18446
18447         * tests/test-localename.c: Don't include obsolete "setenv.h".
18448
18449         * modules/localename-tests (Depends-on): Need unsetenv.
18450
18451 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18452
18453         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
18454
18455 2008-01-06  Colin Watson  <cjwatson@debian.org>
18456
18457         * users.txt: Add man-db.
18458
18459 2008-01-07  Bruno Haible  <bruno@clisp.org>
18460
18461         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
18462         previous section name.
18463
18464 2008-01-07  Bruno Haible  <bruno@clisp.org>
18465
18466         * lib/progname.c (set_program_name): Don't strip off a leading
18467         "lt-" prefix outside a .libs directory.
18468         Suggested by Paul Eggert.
18469
18470 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
18471             Bruno Haible  <bruno@clisp.org>
18472
18473         Improve memory cleanup in 'relocatable' module.
18474         * lib/relocatable.h (compute_curr_prefix): Change return type to
18475         'char *'.
18476         * lib/relocatable.c (compute_curr_prefix): Change return type to
18477         'char *'. Free curr_installdir after use.
18478         (relocate): Free curr_prefix_better after use.
18479         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
18480
18481 2008-01-01  Bruno Haible  <bruno@clisp.org>
18482
18483         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
18484         failure on older glibc systems.
18485         Reported by Peter Fales <psfales@alcatel-lucent.com>.
18486
18487 2008-01-05  Eric Blake  <ebb9@byu.net>
18488
18489         Avoid quadratic system memmem.
18490         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
18491         Reported by Ralf Wildenhues.
18492
18493         Fix memmem test for mingw.
18494         * modules/memmem-tests (configure.ac): Check for alarm.
18495         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
18496         it.
18497         * doc/functions/memmem.texi: New file.
18498         * doc/gnulib.texi (Function Substitutes): Add memmem.
18499         Reported by Bruno Haible.
18500
18501 2008-01-04  Bruno Haible  <bruno@clisp.org>
18502
18503         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
18504         Require gl_HEADER_STRINGS_H_DEFAULTS, not
18505         gl_HEADER_STRING_H_DEFAULTS.
18506
18507 2008-01-04  Eric Blake  <ebb9@byu.net>
18508
18509         Shorten duration of memmem test.
18510         * tests/test-memmem.c (main): Use alarm to declare failure if test
18511         is taking too long.
18512         Reported by Ralf Wildenhues.
18513
18514 2007-12-21  Simon Josefsson  <simon@josefsson.org>
18515
18516         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
18517         string, needed by strerror.
18518
18519 2008-01-03  Colin Watson  <cjwatson@debian.org>
18520             Bruno Haible  <bruno@clisp.org>
18521
18522         * doc/gnulib-tool.texi (Localization): New section.
18523
18524 2008-01-02  Bruno Haible  <bruno@clisp.org>
18525
18526         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
18527         variables to 'unsigned char *' type.
18528         Reported by Paul Eggert.
18529
18530 2008-01-02  Jim Meyering  <jim@meyering.net>
18531
18532         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
18533
18534 2007-12-31  Jim Meyering  <jim@meyering.net>
18535
18536         Avoid use of private FTS type name.
18537         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
18538
18539 2007-12-30  Karl Berry  <karl@gnu.org>
18540
18541         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
18542         work around defect in Texinfo and/or the standalone Info browser.
18543
18544 2007-12-30  Bruno Haible  <bruno@clisp.org>
18545
18546         Unify 5 copies of the KMP code.
18547         * lib/str-kmp.h: New file.
18548         * lib/c-strcasestr.c: Include str-kmp.h.
18549         (knuth_morris_pratt): Remove function.
18550         (c_strcasestr): Update.
18551         * lib/c-strstr.c: Include str-kmp.h.
18552         (knuth_morris_pratt): Remove function.
18553         (c_strcasestr): Update.
18554         * lib/mbscasestr.c: Include str-kmp.h.
18555         (knuth_morris_pratt_unibyte): Remove function.
18556         * lib/mbsstr.c: Include str-kmp.h.
18557         (knuth_morris_pratt_unibyte): Remove function.
18558         * lib/strcasestr.c: Include str-kmp.h.
18559         (knuth_morris_pratt): Remove function.
18560         (strcasestr): Update.
18561         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
18562         * modules/c-strstr (Files): Likewise.
18563         * modules/mbscasestr (Files): Likewise.
18564         * modules/mbsstr (Files): Likewise.
18565         * modules/strcasestr (Files): Likewise.
18566         Suggested by Paul Eggert.
18567
18568 2007-12-30  Bruno Haible  <bruno@clisp.org>
18569
18570         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
18571         defined.
18572
18573 2007-12-30  Bruno Haible  <bruno@clisp.org>
18574
18575         * lib/xmalloca.h: Include xalloc.h.
18576         (xnmalloca): New macro.
18577
18578 2007-12-30  Bruno Haible  <bruno@clisp.org>
18579
18580         * lib/malloca.h (nmalloca): New macro.
18581         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
18582         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
18583         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
18584         knuth_morris_pratt_multibyte): Likewise.
18585         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
18586         knuth_morris_pratt_multibyte): Likewise.
18587         * lib/memmem.c (knuth_morris_pratt): Likewise.
18588         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
18589
18590 2007-12-25  Bruno Haible  <bruno@clisp.org>
18591
18592         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
18593         * lib/glob.c: Don't include openat.h.
18594         (link_exists2_p): Add back the code that deals with the
18595         !GLOB_ALTDIRFUNC case.
18596         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
18597         let it do the filename concatenation.
18598         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
18599         * modules/glob (Depends-on): Remove openat.
18600
18601 2007-12-31  Bruno Haible  <bruno@clisp.org>
18602
18603         * modules/dirfd (License): Change to LGPLv2+.
18604         Approved by Jim Meyering.
18605
18606 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
18607
18608         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
18609         when multiplying M by sizeof (size_t).
18610
18611 2007-12-10  Martin Lambers  <marlam@marlam.de>
18612
18613         Override getpagesize on mingw.
18614         * lib/getpagesize.c: New file.
18615         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
18616         * modules/getpagesize (Files): Add lib/getpagesize.c.
18617         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
18618         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18619         REPLACE_GETPAGESIZE.
18620         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
18621
18622 2007-12-25  Bruno Haible  <bruno@clisp.org>
18623
18624         * modules/localcharset (Notice): New field.
18625         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
18626         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
18627
18628 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
18629             Bruno Haible  <bruno@clisp.org>
18630
18631         Avoid using the syntax symbol() in formatted documentation.
18632         * MODULES.html.sh (func_module): When replacing symbol() with a
18633         hyperlink, remove the parentheses. Show an error if some remain.
18634         Recognize and render the '...' syntax.
18635         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
18636         Rework. Add paragraph about GCC's inlining.
18637         * doc/alloca.texi: Likewise.
18638         * doc/error.texi: Remove parentheses from symbol reference.
18639         * doc/gnulib-intro.texi: Likewise.
18640         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
18641         * modules/fnmatch (Description): Reword to say "the ... function".
18642         * modules/full-read (Description): Likewise.
18643         * modules/full-write (Description): Likewise.
18644         * modules/safe-read (Description): Likewise.
18645         * modules/safe-write (Description): Likewise.
18646         * modules/strchrnul (Description): Likewise.
18647         * modules/trim (Description): Likewise.
18648         * modules/error (Description): Remove parentheses from symbol
18649         references.
18650         * modules/verror (Description): Likewise.
18651         Reported by Karl Berry.
18652
18653 2007-12-25  Bruno Haible  <bruno@clisp.org>
18654
18655         Fixup after 2007-10-16 commit.
18656         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
18657
18658 2007-12-24  Bruno Haible  <bruno@clisp.org>
18659
18660         Make --enable-relocatable work with DESTDIR.
18661         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
18662         to compute installdir from destprog.
18663         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
18664         also set the RELOC_DESTDIR variable.
18665         Reported by Левашев Иван <octagram@bluebottle.com>.
18666
18667 2007-12-24  Bruno Haible  <bruno@clisp.org>
18668
18669         Fix link error due to xalloc_die().
18670         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
18671         of xreadlink.
18672         * lib/relocwrapper.c: Update comments.
18673         * build-aux/install-reloc: Remove xreadlink.c from file list.
18674         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
18675         xreadlink.c.
18676         Reported by Левашев Иван <octagram@bluebottle.com>.
18677
18678 2007-12-24  Bruno Haible  <bruno@clisp.org>
18679
18680         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
18681         * lib/setenv.h: Remove file.
18682         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
18683         lib/setenv.h.
18684         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
18685         (Depends-on): Add stdlib.
18686         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
18687         gl_FUNC_UNSETENV.
18688         (Include): Replace setenv.h with <stdlib.h>.
18689         * modules/unsetenv: New file.
18690         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
18691         * lib/unsetenv.c: Include <stdlib.h> first.
18692         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
18693         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
18694         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
18695         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
18696         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
18697         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
18698         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
18699         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
18700         * doc/functions/unsetenv.texi: Update.
18701         * modules/xsetenv (Depends-on): Add unsetenv.
18702         * modules/getdate (Depends-on): Likewise.
18703         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
18704         * lib/xsetenv.c: Don't include setenv.h.
18705         * lib/getdate.y: Likewise.
18706         * lib/relocwrapper.c: Likewise.
18707         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
18708         (Depends-on): Add stdlib.
18709         * NEWS: Mention the changes.
18710         Reported by Левашев Иван <octagram@bluebottle.com>.
18711
18712 2007-12-23  Bruno Haible  <bruno@clisp.org>
18713
18714         * lib/memmem.c (memmem): Use lowercase variable names. Tab
18715         indentation.
18716
18717 2007-12-23  Bruno Haible  <bruno@clisp.org>
18718
18719         * lib/c-strcasestr.c: Add more comments.
18720         * lib/c-strstr.c: Likewise.
18721         * lib/mbscasestr.c: Likewise.
18722         * lib/mbsstr.c: Likewise.
18723         * lib/strcasestr.c: Likewise.
18724         * lib/memmem.c: Likewise.
18725
18726 2007-12-23  Bruno Haible  <bruno@clisp.org>
18727
18728         * tests/test-memmem.c: Include <string.h> first.
18729
18730 2007-12-22  Bruno Haible  <bruno@clisp.org>
18731
18732         * gnulib-tool (func_create_testdir): Change $auxdir while generating
18733         the contents of $testsbase.
18734         Reported by Ralf Wildenhues.
18735
18736 2007-12-22  Bruno Haible  <bruno@clisp.org>
18737
18738         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
18739         two variables local_ldadd_before, local_ldadd_last.
18740
18741 2007-12-20  Eric Blake  <ebb9@byu.net>
18742
18743         Work around circular library issue when cross-compiling.
18744         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
18745         that progname.o does not need to pull in rpl_memcmp.
18746
18747 2007-12-19  Eric Blake  <ebb9@byu.net>
18748
18749         Fix memmem to avoid O(n^2) worst-case complexity.
18750         * lib/memmem.c (knuth_morris_pratt): New function.
18751         (memmem): Use it if first few naive iterations fail.
18752         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
18753         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
18754         * modules/memchr (License): Likewise.
18755         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
18756         malloca.
18757         * tests/test-memmem.c: Rewrite, borrowing ideas from
18758         test-mbsstr1.c; the old version wouldn't even compile!
18759         * modules/memmem-tests: New file.
18760         * lib/string.in.h (rpl_memmem): Add declaration.
18761         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
18762         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
18763         REPLACE_MEMMEM.
18764
18765 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
18766
18767         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
18768         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
18769         before any system include files, and undef after them all.  This
18770         should fix a problem on VMS reported by John E. Malmberg in
18771         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
18772
18773 2007-12-17  Eric Blake  <ebb9@byu.net>
18774
18775         Revert addition of verify, for BSD/OS.
18776         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
18777         can't handle large files, for the sake of obsolete platforms.
18778         * modules/fseeko (Depends-on): Remove verify.
18779         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
18780         * doc/functions/ftello.texi (ftello): Likewise.
18781         * doc/functions/fgetpos.texi (fgetpos): Likewise.
18782         Reported by Larry Jones.
18783
18784 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
18785
18786         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
18787         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
18788
18789 2007-12-17  Jim Meyering  <meyering@redhat.com>
18790
18791         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
18792         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
18793         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
18794         * modules/getcwd (Depends-on): Add openat.
18795         Reported by Petr Salinger.
18796
18797 2007-12-17  Bruno Haible  <bruno@clisp.org>
18798
18799         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
18800         avoid a segmentation fault of the configure test on x86_64 systems.
18801
18802 2007-12-15  Jim Meyering  <meyering@redhat.com>
18803
18804         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
18805
18806 2007-12-13  Eric Blake  <ebb9@byu.net>
18807
18808         Another fseek test.
18809         * tests/test-fseek.c (main): Also test ungetc handling.
18810         * tests/test-fseeko.c (main): Likewise.
18811         * modules/fseeko (Depends-on): Add verify.
18812         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
18813         large.
18814         Reported by Larry Jones.
18815
18816         Fix fseeko on mingw.
18817         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
18818         seek.
18819
18820         Beef up fseek tests.
18821         * tests/test-fseek.c (main): Also test eof handling.
18822         * tests/test-fseeko.c (main): Likewise.
18823         Reported by Larry Jones.
18824
18825 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
18826
18827         Fix fseeko on BSD-based platforms.
18828         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
18829         successful seek.
18830
18831 2007-12-12  Eric Blake  <ebb9@byu.net>
18832
18833         Allow circular dependency of separate libtests.a
18834         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
18835         when use_libtests.
18836
18837 2007-12-11  Eric Blake  <ebb9@byu.net>
18838
18839         Fix bug with -0.0L in previous patch.
18840         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
18841         * tests/test-isnan.c (main): Also test on zeroes.
18842         * tests/test-isnanf.c (main): Likewise.
18843         * tests/test-isnanl.h (main): Likewise.
18844
18845         Detect pseudo-denormals on x86 even when cross-compiling.
18846         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
18847         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
18848         invalid bit patterns that happen to satisfy ==.
18849
18850         Avoid link failures with separate libtests.a.
18851         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
18852         last, to satisfy circular dependencies.
18853
18854 2007-12-11  Eric Blake  <ebb9@byu.net>
18855         and Bruno Haible  <bruno@clisp.org>
18856
18857         Fix OpenBSD 4.0 <float.h> handling of long double.
18858         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
18859         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
18860         * doc/headers/float.texi (float.h): Document OpenBSD bug.
18861
18862 2007-12-11  Jim Meyering  <meyering@redhat.com>
18863
18864         * users.txt: Add libvirt.
18865
18866         Support versions of autoconf prior to 2.59c.
18867         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
18868         if it is not already defined.
18869
18870 2007-12-09  Bruno Haible  <bruno@clisp.org>
18871
18872         Let 'gnulib-tool --import' collect sources needed for the tests in
18873         tests/ rather than in lib/.
18874         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
18875         argument. If true, add rules to generate libtests.a, and put libtests.a
18876         into $(LDADD). Consider source files in subdirectories and set
18877         uses_subdirs.
18878         (func_emit_initmacro_start, func_emit_initmacro_end,
18879         func_emit_initmacro_done): Pass all arguments explicitly.
18880         (func_import): Determine two module lists main_modules,
18881         testsrelated_modules. Determine use_libtests. Determine two variables
18882         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
18883         instead of just sed_transform_lib_file. Determine two variables
18884         main_files and testsrelated_files. Compute 'files' as the union of
18885         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
18886         func_add_or_update. In the generated gnulib-comp.m4, collect the
18887         object files for tests/ in different variables than those for lib/.
18888         Substitute LIBTESTS_LIBDEPS.
18889         (func_create_testdir): Combine the uses_subdirs results from
18890         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
18891
18892 2007-12-09  Bruno Haible  <bruno@clisp.org>
18893
18894         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
18895         the build-aux directory.
18896
18897 2007-12-09  Bruno Haible  <bruno@clisp.org>
18898
18899         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
18900         introduced on 2006-09-09.
18901
18902 2007-12-07  Jim Meyering  <meyering@redhat.com>
18903
18904         Let these macros work also with autoconf-2.59.
18905         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
18906         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
18907         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
18908
18909 2007-12-06  Jim Meyering  <meyering@redhat.com>
18910
18911         Avoid a configure-time syntax error in gl_FUNC_ACL.
18912         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
18913         function in each branch, before testing the cache variable.
18914
18915 2007-12-04  Eric Blake  <ebb9@byu.net>
18916
18917         Make scripts executable.
18918         * build-aux/config.guess: Add execute permissions.
18919         * build-aux/config.sub: Likewise.
18920         * build-aux/gendocs.sh: Likewise.
18921
18922         Fix frexp on mingw.
18923         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
18924         cross-compiling.
18925         * doc/functions/frexp.texi (frexp): Document the bug.
18926
18927         Make cygwin fseeko check more reliable.
18928         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
18929         version numbers, rather than unrelated feature check.
18930         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
18931         * doc/functions/ftello.texi (ftello): Likewise.
18932         Reported by Bruno Haible.
18933
18934         * m4/strerror.m4: Bump version number.
18935
18936 2007-12-03  Bruno Haible  <bruno@clisp.org>
18937
18938         * doc/functions/mprotect.texi: Mention the mingw problem.
18939
18940 2007-12-03  Eric Blake  <ebb9@byu.net>
18941
18942         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
18943         REPLACE_STRERROR is initialized before this macro.
18944
18945 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
18946
18947         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
18948         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
18949         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
18950         put -lsec in even for programs other than 'ls'.  This fixes a problem
18951         for gettext reported by Bruno Haible in
18952         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
18953         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
18954         Add support for Solaris 10.  This isn't efficient, but should get the
18955         job done for now.
18956
18957 2007-12-03  James Youngman  <jay@gnu.org>
18958
18959         * doc/regexprops-generic.texi: change "an close-group" to "a
18960         close-group" and "illegal" to "not allowed".
18961
18962 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18963
18964         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
18965         pr_byname.h. Needed for the rare case when the maintainer has done
18966         "make maintainer-clean" in the source directory and then attempts a
18967         build outside the source directory.
18968         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
18969         scripts_byname.h.
18970
18971 2007-12-02  Martin Lambers <marlam@marlam.de>
18972             Bruno Haible  <bruno@clisp.org>
18973
18974         * lib/getpagesize.h: Remove file.
18975         * lib/unistd.in.h: Include declaration of getpagesize here.
18976         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
18977         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
18978         HAVE_SYS_PARAM_H.
18979         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
18980         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
18981         * modules/getpagesize (Files): Remove lib/getpagesize.h.
18982         (Depends-on): Add unistd.
18983         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18984         (Include): Use <unistd.h> instead of getpagesize.h.
18985         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
18986         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
18987         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
18988         gl_GETPAGESIZE invocation, already handled by module dependency.
18989         * lib/pagealign_alloc.c: Don't include getpagesize.h.
18990
18991 2007-12-02  Bruno Haible  <bruno@clisp.org>
18992
18993         * modules/strings-tests: New file.
18994         * tests/test-strings.c: New file.
18995
18996         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
18997         * lib/strings.in.h: New file.
18998         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
18999         * m4/strings_h.m4: New file.
19000         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
19001         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
19002         * modules/strings: New file.
19003         * modules/string (Makefile.am): Update.
19004         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
19005         Reported by Karl Berry.
19006
19007 2007-12-01  Eric Blake  <ebb9@byu.net>
19008
19009         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
19010         accomodate fix in cygwin 1.5.25.
19011
19012 2007-12-01  Jim Meyering  <meyering@redhat.com>
19013
19014         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
19015         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
19016         that would inhibit utf8-optimization of a regexp containing line-
19017         or buffer-anchors, e.g., `^', `$'.
19018
19019 2007-11-30  Bruno Haible  <bruno@clisp.org>
19020
19021         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
19022         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
19023         glthread_recursive_lock_init.
19024         * lib/lock.c (glthread_recursive_lock_init)
19025         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
19026         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
19027
19028 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
19029
19030         New function qset_acl, like set_acl but with syscall semantics.
19031         * lib/acl.h (qset_acl): New decl.
19032         * lib/acl.c (qset_acl): New function.
19033         (set_acl): Use new function.  Use more-consistent diagnostics.
19034
19035 2007-11-28  Jim Meyering  <meyering@redhat.com>
19036
19037         * modules/physmem (License): Change from GPL to LGPLv2+.
19038
19039 2007-11-26  Bruno Haible  <bruno@clisp.org>
19040
19041         * lib/vasnprintf.c (decode_long_double): Don't abort if the
19042         'long double' type has excess precision.
19043         Reported by Jim Meyering in
19044         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
19045
19046 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19047
19048         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
19049         Sync from <http://gnu.org/licenses>.
19050         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
19051         with license text from same location.
19052         * doc/maintain.texi, doc/standards.texi:  Sync from
19053         <http://savannah.gnu.org/projects/gnustandards>.
19054
19055 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
19056         and Jim Meyering  <meyering@redhat.com>
19057
19058         Adjust getdate' grammar to accept a slightly more regular language.
19059         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
19060         Before, the former was rejected.
19061         * lib/getdate.y (digits_to_date_time): New function, factored
19062         out of ...
19063         (number): ...here.  Just call digits_to_date_time.
19064         (hybrid): New non-terminal to handle an <unsigned number,
19065         signed relative offset> sequence consistently.
19066
19067 2007-11-18  Jim Meyering  <meyering@redhat.com>
19068
19069         Pull my changes from coreutils:
19070         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
19071         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
19072         use of $gnulib_tool_option_extras, so that it's separated from the
19073         preceding argument.
19074
19075         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
19076         * build-aux/bootstrap (cp_mark_as_generated): Create any required
19077         parent destination directories before copying a file into place.
19078
19079 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
19080
19081         bootstrap: work also with 4-argument variant of AC_INIT
19082         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
19083
19084 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
19085
19086         Port test-getaddrinfo to Solaris.
19087         Problem reported by Bruno Haible in
19088         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
19089         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
19090         explanation of setting 'hints'.
19091         Don't reject an implementation merely because it returns EAI_SERVICE.
19092         (EAI_SERVICE): Define to 0 if not defined.
19093
19094 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
19095
19096         The license of gnu-make and posix-shell is now "GPLed build tool".
19097         * modules/gnu-make (License): Likewise.
19098         * modules/posix-shell (License): Likewise.
19099
19100         New module posix-shell, for determining a POSIX shell
19101         or perhaps something that is close enough to a POSIX shell.
19102         * m4/posix-shell.m4: New file.
19103         * modules/posix-shell: New file.
19104
19105         * MODULES.html.sh: Mention new module.
19106
19107         New module gnu-make, for determining whether we're using GNU Make.
19108         * m4/gnu-make.m4: New file.
19109         * modules/gnu-make: New file.
19110         * MODULES.html.sh: Mention new module.
19111
19112 2007-11-14  Jim Meyering  <meyering@redhat.com>
19113
19114         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
19115         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
19116         use this macro to create a function _definition_.
19117         Remove useless "#undef ARGMATCH_DIE".
19118
19119 2007-11-14  Bruno Haible  <bruno@clisp.org>
19120
19121         * lib/config.charset: Update for OpenBSD 4.1.
19122         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
19123
19124 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
19125
19126         Document 64-bit #if problems in stdint.texi.
19127         * doc/headers/stdint.texi (stdint.h): Mention problems with
19128         64-bit-#if, and how to work around them.
19129
19130         Don't insist on 'long long int' support in the preprocessor.  It
19131         breaks too many things.  For example, PRIdMAX still uses a 'long
19132         long int' format with the latest Sun compiler, even though
19133         HAVE_LONG_LONG_INT isn't defined due to that compiler's
19134         preprocessor problem.  This causes the latest coreutils to dump
19135         core on Solaris 10 sparc with the Sun C compiler.
19136         Instead, fix the 2007-10-16 problem in a different way, by evaluating
19137         the troublesome expressions at configure-time, not at #if-time.
19138         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
19139         preprocessor.
19140         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
19141         compile-time C checks, done at 'configure'-time.
19142         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
19143         * modules/inttypes (Makefile): Substitute the new symbols that
19144         gl_INTTYPES_H now generates.
19145         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
19146
19147 2007-11-12  Bruno Haible  <bruno@clisp.org>
19148
19149         Tests for Unicode character classification functions.
19150
19151         * modules/unictype/bidicategory-byname-tests: New file.
19152         * modules/unictype/bidicategory-name-tests: New file.
19153         * modules/unictype/bidicategory-of-tests: New file.
19154         * modules/unictype/bidicategory-test-tests: New file.
19155         * modules/unictype/block-list-tests: New file.
19156         * modules/unictype/block-of-tests: New file.
19157         * modules/unictype/block-test-tests: New file.
19158         * modules/unictype/category-C-tests: New file.
19159         * modules/unictype/category-Cc-tests: New file.
19160         * modules/unictype/category-Cf-tests: New file.
19161         * modules/unictype/category-Cn-tests: New file.
19162         * modules/unictype/category-Co-tests: New file.
19163         * modules/unictype/category-Cs-tests: New file.
19164         * modules/unictype/category-L-tests: New file.
19165         * modules/unictype/category-Ll-tests: New file.
19166         * modules/unictype/category-Lm-tests: New file.
19167         * modules/unictype/category-Lo-tests: New file.
19168         * modules/unictype/category-Lt-tests: New file.
19169         * modules/unictype/category-Lu-tests: New file.
19170         * modules/unictype/category-M-tests: New file.
19171         * modules/unictype/category-Mc-tests: New file.
19172         * modules/unictype/category-Me-tests: New file.
19173         * modules/unictype/category-Mn-tests: New file.
19174         * modules/unictype/category-N-tests: New file.
19175         * modules/unictype/category-Nd-tests: New file.
19176         * modules/unictype/category-Nl-tests: New file.
19177         * modules/unictype/category-No-tests: New file.
19178         * modules/unictype/category-P-tests: New file.
19179         * modules/unictype/category-Pc-tests: New file.
19180         * modules/unictype/category-Pd-tests: New file.
19181         * modules/unictype/category-Pe-tests: New file.
19182         * modules/unictype/category-Pf-tests: New file.
19183         * modules/unictype/category-Pi-tests: New file.
19184         * modules/unictype/category-Po-tests: New file.
19185         * modules/unictype/category-Ps-tests: New file.
19186         * modules/unictype/category-S-tests: New file.
19187         * modules/unictype/category-Sc-tests: New file.
19188         * modules/unictype/category-Sk-tests: New file.
19189         * modules/unictype/category-Sm-tests: New file.
19190         * modules/unictype/category-So-tests: New file.
19191         * modules/unictype/category-Z-tests: New file.
19192         * modules/unictype/category-Zl-tests: New file.
19193         * modules/unictype/category-Zp-tests: New file.
19194         * modules/unictype/category-Zs-tests: New file.
19195         * modules/unictype/category-and-not-tests: New file.
19196         * modules/unictype/category-and-tests: New file.
19197         * modules/unictype/category-byname-tests: New file.
19198         * modules/unictype/category-name-tests: New file.
19199         * modules/unictype/category-none-tests: New file.
19200         * modules/unictype/category-of-tests: New file.
19201         * modules/unictype/category-or-tests: New file.
19202         * modules/unictype/category-test-withtable-tests: New file.
19203         * modules/unictype/combining-class-tests: New file.
19204         * modules/unictype/ctype-alnum-tests: New file.
19205         * modules/unictype/ctype-alpha-tests: New file.
19206         * modules/unictype/ctype-blank-tests: New file.
19207         * modules/unictype/ctype-cntrl-tests: New file.
19208         * modules/unictype/ctype-digit-tests: New file.
19209         * modules/unictype/ctype-graph-tests: New file.
19210         * modules/unictype/ctype-lower-tests: New file.
19211         * modules/unictype/ctype-print-tests: New file.
19212         * modules/unictype/ctype-punct-tests: New file.
19213         * modules/unictype/ctype-space-tests: New file.
19214         * modules/unictype/ctype-upper-tests: New file.
19215         * modules/unictype/ctype-xdigit-tests: New file.
19216         * modules/unictype/decimal-digit-tests: New file.
19217         * modules/unictype/digit-tests: New file.
19218         * modules/unictype/mirror-tests: New file.
19219         * modules/unictype/numeric-tests: New file.
19220         * modules/unictype/property-alphabetic-tests: New file.
19221         * modules/unictype/property-ascii-hex-digit-tests: New file.
19222         * modules/unictype/property-bidi-arabic-digit-tests: New file.
19223         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
19224         * modules/unictype/property-bidi-block-separator-tests: New file.
19225         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
19226         * modules/unictype/property-bidi-common-separator-tests: New file.
19227         * modules/unictype/property-bidi-control-tests: New file.
19228         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
19229         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
19230         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
19231         * modules/unictype/property-bidi-european-digit-tests: New file.
19232         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
19233         * modules/unictype/property-bidi-left-to-right-tests: New file.
19234         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
19235         * modules/unictype/property-bidi-other-neutral-tests: New file.
19236         * modules/unictype/property-bidi-pdf-tests: New file.
19237         * modules/unictype/property-bidi-segment-separator-tests: New file.
19238         * modules/unictype/property-bidi-whitespace-tests: New file.
19239         * modules/unictype/property-byname-tests: New file.
19240         * modules/unictype/property-combining-tests: New file.
19241         * modules/unictype/property-composite-tests: New file.
19242         * modules/unictype/property-currency-symbol-tests: New file.
19243         * modules/unictype/property-dash-tests: New file.
19244         * modules/unictype/property-decimal-digit-tests: New file.
19245         * modules/unictype/property-default-ignorable-code-point-tests: New file.
19246         * modules/unictype/property-deprecated-tests: New file.
19247         * modules/unictype/property-diacritic-tests: New file.
19248         * modules/unictype/property-extender-tests: New file.
19249         * modules/unictype/property-format-control-tests: New file.
19250         * modules/unictype/property-grapheme-base-tests: New file.
19251         * modules/unictype/property-grapheme-extend-tests: New file.
19252         * modules/unictype/property-grapheme-link-tests: New file.
19253         * modules/unictype/property-hex-digit-tests: New file.
19254         * modules/unictype/property-hyphen-tests: New file.
19255         * modules/unictype/property-id-continue-tests: New file.
19256         * modules/unictype/property-id-start-tests: New file.
19257         * modules/unictype/property-ideographic-tests: New file.
19258         * modules/unictype/property-ids-binary-operator-tests: New file.
19259         * modules/unictype/property-ids-trinary-operator-tests: New file.
19260         * modules/unictype/property-ignorable-control-tests: New file.
19261         * modules/unictype/property-iso-control-tests: New file.
19262         * modules/unictype/property-join-control-tests: New file.
19263         * modules/unictype/property-left-of-pair-tests: New file.
19264         * modules/unictype/property-line-separator-tests: New file.
19265         * modules/unictype/property-logical-order-exception-tests: New file.
19266         * modules/unictype/property-lowercase-tests: New file.
19267         * modules/unictype/property-math-tests: New file.
19268         * modules/unictype/property-non-break-tests: New file.
19269         * modules/unictype/property-not-a-character-tests: New file.
19270         * modules/unictype/property-numeric-tests: New file.
19271         * modules/unictype/property-other-alphabetic-tests: New file.
19272         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
19273         * modules/unictype/property-other-grapheme-extend-tests: New file.
19274         * modules/unictype/property-other-id-continue-tests: New file.
19275         * modules/unictype/property-other-id-start-tests: New file.
19276         * modules/unictype/property-other-lowercase-tests: New file.
19277         * modules/unictype/property-other-math-tests: New file.
19278         * modules/unictype/property-other-uppercase-tests: New file.
19279         * modules/unictype/property-paired-punctuation-tests: New file.
19280         * modules/unictype/property-paragraph-separator-tests: New file.
19281         * modules/unictype/property-pattern-syntax-tests: New file.
19282         * modules/unictype/property-pattern-white-space-tests: New file.
19283         * modules/unictype/property-private-use-tests: New file.
19284         * modules/unictype/property-punctuation-tests: New file.
19285         * modules/unictype/property-quotation-mark-tests: New file.
19286         * modules/unictype/property-radical-tests: New file.
19287         * modules/unictype/property-sentence-terminal-tests: New file.
19288         * modules/unictype/property-soft-dotted-tests: New file.
19289         * modules/unictype/property-space-tests: New file.
19290         * modules/unictype/property-terminal-punctuation-tests: New file.
19291         * modules/unictype/property-test-tests: New file.
19292         * modules/unictype/property-titlecase-tests: New file.
19293         * modules/unictype/property-unassigned-code-value-tests: New file.
19294         * modules/unictype/property-unified-ideograph-tests: New file.
19295         * modules/unictype/property-uppercase-tests: New file.
19296         * modules/unictype/property-variation-selector-tests: New file.
19297         * modules/unictype/property-white-space-tests: New file.
19298         * modules/unictype/property-xid-continue-tests: New file.
19299         * modules/unictype/property-xid-start-tests: New file.
19300         * modules/unictype/property-zero-width-tests: New file.
19301         * modules/unictype/scripts-tests: New file.
19302         * modules/unictype/syntax-c-ident-tests: New file.
19303         * modules/unictype/syntax-c-whitespace-tests: New file.
19304         * modules/unictype/syntax-java-ident-tests: New file.
19305         * modules/unictype/syntax-java-whitespace-tests: New file.
19306         * tests/unictype/test-bidi_byname.c: New file.
19307         * tests/unictype/test-bidi_name.c: New file.
19308         * tests/unictype/test-bidi_of.c: New file.
19309         * tests/unictype/test-bidi_test.c: New file.
19310         * tests/unictype/test-block_list.c: New file.
19311         * tests/unictype/test-block_of.c: New file.
19312         * tests/unictype/test-block_test.c: New file.
19313         * tests/unictype/test-categ_and.c: New file.
19314         * tests/unictype/test-categ_and_not.c: New file.
19315         * tests/unictype/test-categ_byname.c: New file.
19316         * tests/unictype/test-categ_name.c: New file.
19317         * tests/unictype/test-categ_none.c: New file.
19318         * tests/unictype/test-categ_of.c: New file.
19319         * tests/unictype/test-categ_or.c: New file.
19320         * tests/unictype/test-categ_test_withtable.c: New file.
19321         * tests/unictype/test-combining.c: New file.
19322         * tests/unictype/test-decdigit.c: New file.
19323         * tests/unictype/test-digit.c: New file.
19324         * tests/unictype/test-mirror.c: New file.
19325         * tests/unictype/test-numeric.c: New file.
19326         * tests/unictype/test-pr_byname.c: New file.
19327         * tests/unictype/test-pr_test.c: New file.
19328         * tests/unictype/test-predicate-part1.h: New file.
19329         * tests/unictype/test-predicate-part2.h: New file.
19330         * tests/unictype/test-scripts.c: New file.
19331         * tests/unictype/test-sy_c_ident.c: New file.
19332         * tests/unictype/test-sy_java_ident.c: New file.
19333
19334         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
19335         for Unicode 5.0.0.
19336         * tests/unictype/test-categ_Cc.c: Likewise.
19337         * tests/unictype/test-categ_Cf.c: Likewise.
19338         * tests/unictype/test-categ_Cn.c: Likewise.
19339         * tests/unictype/test-categ_Co.c: Likewise.
19340         * tests/unictype/test-categ_Cs.c: Likewise.
19341         * tests/unictype/test-categ_L.c: Likewise.
19342         * tests/unictype/test-categ_Ll.c: Likewise.
19343         * tests/unictype/test-categ_Lm.c: Likewise.
19344         * tests/unictype/test-categ_Lo.c: Likewise.
19345         * tests/unictype/test-categ_Lt.c: Likewise.
19346         * tests/unictype/test-categ_Lu.c: Likewise.
19347         * tests/unictype/test-categ_M.c: Likewise.
19348         * tests/unictype/test-categ_Mc.c: Likewise.
19349         * tests/unictype/test-categ_Me.c: Likewise.
19350         * tests/unictype/test-categ_Mn.c: Likewise.
19351         * tests/unictype/test-categ_N.c: Likewise.
19352         * tests/unictype/test-categ_Nd.c: Likewise.
19353         * tests/unictype/test-categ_Nl.c: Likewise.
19354         * tests/unictype/test-categ_No.c: Likewise.
19355         * tests/unictype/test-categ_P.c: Likewise.
19356         * tests/unictype/test-categ_Pc.c: Likewise.
19357         * tests/unictype/test-categ_Pd.c: Likewise.
19358         * tests/unictype/test-categ_Pe.c: Likewise.
19359         * tests/unictype/test-categ_Pf.c: Likewise.
19360         * tests/unictype/test-categ_Pi.c: Likewise.
19361         * tests/unictype/test-categ_Po.c: Likewise.
19362         * tests/unictype/test-categ_Ps.c: Likewise.
19363         * tests/unictype/test-categ_S.c: Likewise.
19364         * tests/unictype/test-categ_Sc.c: Likewise.
19365         * tests/unictype/test-categ_Sk.c: Likewise.
19366         * tests/unictype/test-categ_Sm.c: Likewise.
19367         * tests/unictype/test-categ_So.c: Likewise.
19368         * tests/unictype/test-categ_Z.c: Likewise.
19369         * tests/unictype/test-categ_Zl.c: Likewise.
19370         * tests/unictype/test-categ_Zp.c: Likewise.
19371         * tests/unictype/test-categ_Zs.c: Likewise.
19372         * tests/unictype/test-ctype_alnum.c: Likewise.
19373         * tests/unictype/test-ctype_alpha.c: Likewise.
19374         * tests/unictype/test-ctype_blank.c: Likewise.
19375         * tests/unictype/test-ctype_cntrl.c: Likewise.
19376         * tests/unictype/test-ctype_digit.c: Likewise.
19377         * tests/unictype/test-ctype_graph.c: Likewise.
19378         * tests/unictype/test-ctype_lower.c: Likewise.
19379         * tests/unictype/test-ctype_print.c: Likewise.
19380         * tests/unictype/test-ctype_punct.c: Likewise.
19381         * tests/unictype/test-ctype_space.c: Likewise.
19382         * tests/unictype/test-ctype_upper.c: Likewise.
19383         * tests/unictype/test-ctype_xdigit.c: Likewise.
19384         * tests/unictype/test-decdigit.h: Likewise.
19385         * tests/unictype/test-digit.h: Likewise.
19386         * tests/unictype/test-numeric.h: Likewise.
19387         * tests/unictype/test-pr_alphabetic.c: Likewise.
19388         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
19389         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
19390         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
19391         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
19392         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
19393         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
19394         * tests/unictype/test-pr_bidi_control.c: Likewise.
19395         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
19396         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
19397         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
19398         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
19399         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
19400         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
19401         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
19402         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
19403         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
19404         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
19405         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
19406         * tests/unictype/test-pr_combining.c: Likewise.
19407         * tests/unictype/test-pr_composite.c: Likewise.
19408         * tests/unictype/test-pr_currency_symbol.c: Likewise.
19409         * tests/unictype/test-pr_dash.c: Likewise.
19410         * tests/unictype/test-pr_decimal_digit.c: Likewise.
19411         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
19412         * tests/unictype/test-pr_deprecated.c: Likewise.
19413         * tests/unictype/test-pr_diacritic.c: Likewise.
19414         * tests/unictype/test-pr_extender.c: Likewise.
19415         * tests/unictype/test-pr_format_control.c: Likewise.
19416         * tests/unictype/test-pr_grapheme_base.c: Likewise.
19417         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
19418         * tests/unictype/test-pr_grapheme_link.c: Likewise.
19419         * tests/unictype/test-pr_hex_digit.c: Likewise.
19420         * tests/unictype/test-pr_hyphen.c: Likewise.
19421         * tests/unictype/test-pr_id_continue.c: Likewise.
19422         * tests/unictype/test-pr_id_start.c: Likewise.
19423         * tests/unictype/test-pr_ideographic.c: Likewise.
19424         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
19425         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
19426         * tests/unictype/test-pr_ignorable_control.c: Likewise.
19427         * tests/unictype/test-pr_iso_control.c: Likewise.
19428         * tests/unictype/test-pr_join_control.c: Likewise.
19429         * tests/unictype/test-pr_left_of_pair.c: Likewise.
19430         * tests/unictype/test-pr_line_separator.c: Likewise.
19431         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
19432         * tests/unictype/test-pr_lowercase.c: Likewise.
19433         * tests/unictype/test-pr_math.c: Likewise.
19434         * tests/unictype/test-pr_non_break.c: Likewise.
19435         * tests/unictype/test-pr_not_a_character.c: Likewise.
19436         * tests/unictype/test-pr_numeric.c: Likewise.
19437         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
19438         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
19439         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
19440         * tests/unictype/test-pr_other_id_continue.c: Likewise.
19441         * tests/unictype/test-pr_other_id_start.c: Likewise.
19442         * tests/unictype/test-pr_other_lowercase.c: Likewise.
19443         * tests/unictype/test-pr_other_math.c: Likewise.
19444         * tests/unictype/test-pr_other_uppercase.c: Likewise.
19445         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
19446         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
19447         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
19448         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
19449         * tests/unictype/test-pr_private_use.c: Likewise.
19450         * tests/unictype/test-pr_punctuation.c: Likewise.
19451         * tests/unictype/test-pr_quotation_mark.c: Likewise.
19452         * tests/unictype/test-pr_radical.c: Likewise.
19453         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
19454         * tests/unictype/test-pr_soft_dotted.c: Likewise.
19455         * tests/unictype/test-pr_space.c: Likewise.
19456         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
19457         * tests/unictype/test-pr_titlecase.c: Likewise.
19458         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
19459         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
19460         * tests/unictype/test-pr_uppercase.c: Likewise.
19461         * tests/unictype/test-pr_variation_selector.c: Likewise.
19462         * tests/unictype/test-pr_white_space.c: Likewise.
19463         * tests/unictype/test-pr_xid_continue.c: Likewise.
19464         * tests/unictype/test-pr_xid_start.c: Likewise.
19465         * tests/unictype/test-pr_zero_width.c: Likewise.
19466         * tests/unictype/test-sy_c_whitespace.c: Likewise.
19467         * tests/unictype/test-sy_java_whitespace.c: Likewise.
19468
19469 2007-11-12  Bruno Haible  <bruno@clisp.org>
19470
19471         Unicode character classification functions.
19472         * lib/unictype.h: New file.
19473         * modules/unictype/base: New file.
19474         * modules/unictype/category-L: New file.
19475         * modules/unictype/category-Lu: New file.
19476         * modules/unictype/category-Ll: New file.
19477         * modules/unictype/category-Lt: New file.
19478         * modules/unictype/category-Lm: New file.
19479         * modules/unictype/category-Lo: New file.
19480         * modules/unictype/category-M: New file.
19481         * modules/unictype/category-Mn: New file.
19482         * modules/unictype/category-Mc: New file.
19483         * modules/unictype/category-Me: New file.
19484         * modules/unictype/category-N: New file.
19485         * modules/unictype/category-Nd: New file.
19486         * modules/unictype/category-Nl: New file.
19487         * modules/unictype/category-No: New file.
19488         * modules/unictype/category-P: New file.
19489         * modules/unictype/category-Pc: New file.
19490         * modules/unictype/category-Pd: New file.
19491         * modules/unictype/category-Ps: New file.
19492         * modules/unictype/category-Pe: New file.
19493         * modules/unictype/category-Pi: New file.
19494         * modules/unictype/category-Pf: New file.
19495         * modules/unictype/category-Po: New file.
19496         * modules/unictype/category-S: New file.
19497         * modules/unictype/category-Sm: New file.
19498         * modules/unictype/category-Sc: New file.
19499         * modules/unictype/category-Sk: New file.
19500         * modules/unictype/category-So: New file.
19501         * modules/unictype/category-Z: New file.
19502         * modules/unictype/category-Zs: New file.
19503         * modules/unictype/category-Zl: New file.
19504         * modules/unictype/category-Zp: New file.
19505         * modules/unictype/category-C: New file.
19506         * modules/unictype/category-Cc: New file.
19507         * modules/unictype/category-Cf: New file.
19508         * modules/unictype/category-Cs: New file.
19509         * modules/unictype/category-Co: New file.
19510         * modules/unictype/category-Cn: New file.
19511         * modules/unictype/category-or: New file.
19512         * modules/unictype/category-of: New file.
19513         * modules/unictype/category-test: New file.
19514         * modules/unictype/category-test-withtable: New file.
19515         * modules/unictype/category-byname: New file.
19516         * modules/unictype/category-none: New file.
19517         * modules/unictype/category-and: New file.
19518         * modules/unictype/category-and-not: New file.
19519         * modules/unictype/category-name: New file.
19520         * modules/unictype/combining-class: New file.
19521         * modules/unictype/category-all: New file.
19522         * modules/unictype/bidicategory-all: New file.
19523         * modules/unictype/bidicategory-byname: New file.
19524         * modules/unictype/bidicategory-name: New file.
19525         * modules/unictype/bidicategory-of: New file.
19526         * modules/unictype/bidicategory-test: New file.
19527         * modules/unictype/decimal-digit: New file.
19528         * modules/unictype/digit: New file.
19529         * modules/unictype/numeric: New file.
19530         * modules/unictype/mirror: New file.
19531         * modules/unictype/property-white-space: New file.
19532         * modules/unictype/property-alphabetic: New file.
19533         * modules/unictype/property-other-alphabetic: New file.
19534         * modules/unictype/property-not-a-character: New file.
19535         * modules/unictype/property-default-ignorable-code-point: New file.
19536         * modules/unictype/property-other-default-ignorable-code-point: New
19537         file.
19538         * modules/unictype/property-deprecated: New file.
19539         * modules/unictype/property-logical-order-exception: New file.
19540         * modules/unictype/property-variation-selector: New file.
19541         * modules/unictype/property-private-use: New file.
19542         * modules/unictype/property-unassigned-code-value: New file.
19543         * modules/unictype/property-uppercase: New file.
19544         * modules/unictype/property-other-uppercase: New file.
19545         * modules/unictype/property-lowercase: New file.
19546         * modules/unictype/property-other-lowercase: New file.
19547         * modules/unictype/property-titlecase: New file.
19548         * modules/unictype/property-soft-dotted: New file.
19549         * modules/unictype/property-id-start: New file.
19550         * modules/unictype/property-other-id-start: New file.
19551         * modules/unictype/property-id-continue: New file.
19552         * modules/unictype/property-other-id-continue: New file.
19553         * modules/unictype/property-xid-start: New file.
19554         * modules/unictype/property-xid-continue: New file.
19555         * modules/unictype/property-pattern-white-space: New file.
19556         * modules/unictype/property-pattern-syntax: New file.
19557         * modules/unictype/property-join-control: New file.
19558         * modules/unictype/property-grapheme-base: New file.
19559         * modules/unictype/property-grapheme-extend: New file.
19560         * modules/unictype/property-other-grapheme-extend: New file.
19561         * modules/unictype/property-grapheme-link: New file.
19562         * modules/unictype/property-bidi-control: New file.
19563         * modules/unictype/property-bidi-left-to-right: New file.
19564         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
19565         * modules/unictype/property-bidi-arabic-right-to-left: New file.
19566         * modules/unictype/property-bidi-european-digit: New file.
19567         * modules/unictype/property-bidi-eur-num-separator: New file.
19568         * modules/unictype/property-bidi-eur-num-terminator: New file.
19569         * modules/unictype/property-bidi-arabic-digit: New file.
19570         * modules/unictype/property-bidi-common-separator: New file.
19571         * modules/unictype/property-bidi-block-separator: New file.
19572         * modules/unictype/property-bidi-segment-separator: New file.
19573         * modules/unictype/property-bidi-whitespace: New file.
19574         * modules/unictype/property-bidi-non-spacing-mark: New file.
19575         * modules/unictype/property-bidi-boundary-neutral: New file.
19576         * modules/unictype/property-bidi-pdf: New file.
19577         * modules/unictype/property-bidi-embedding-or-override: New file.
19578         * modules/unictype/property-bidi-other-neutral: New file.
19579         * modules/unictype/property-hex-digit: New file.
19580         * modules/unictype/property-ascii-hex-digit: New file.
19581         * modules/unictype/property-ideographic: New file.
19582         * modules/unictype/property-unified-ideograph: New file.
19583         * modules/unictype/property-radical: New file.
19584         * modules/unictype/property-ids-binary-operator: New file.
19585         * modules/unictype/property-ids-trinary-operator: New file.
19586         * modules/unictype/property-zero-width: New file.
19587         * modules/unictype/property-space: New file.
19588         * modules/unictype/property-non-break: New file.
19589         * modules/unictype/property-iso-control: New file.
19590         * modules/unictype/property-format-control: New file.
19591         * modules/unictype/property-dash: New file.
19592         * modules/unictype/property-hyphen: New file.
19593         * modules/unictype/property-punctuation: New file.
19594         * modules/unictype/property-line-separator: New file.
19595         * modules/unictype/property-paragraph-separator: New file.
19596         * modules/unictype/property-quotation-mark: New file.
19597         * modules/unictype/property-sentence-terminal: New file.
19598         * modules/unictype/property-terminal-punctuation: New file.
19599         * modules/unictype/property-currency-symbol: New file.
19600         * modules/unictype/property-math: New file.
19601         * modules/unictype/property-other-math: New file.
19602         * modules/unictype/property-paired-punctuation: New file.
19603         * modules/unictype/property-left-of-pair: New file.
19604         * modules/unictype/property-combining: New file.
19605         * modules/unictype/property-composite: New file.
19606         * modules/unictype/property-decimal-digit: New file.
19607         * modules/unictype/property-numeric: New file.
19608         * modules/unictype/property-diacritic: New file.
19609         * modules/unictype/property-extender: New file.
19610         * modules/unictype/property-ignorable-control: New file.
19611         * modules/unictype/property-test: New file.
19612         * modules/unictype/property-byname: New file.
19613         * modules/unictype/property-all: New file.
19614         * modules/unictype/scripts: New file.
19615         * modules/unictype/scripts-all: New file.
19616         * modules/unictype/block-of: New file.
19617         * modules/unictype/block-test: New file.
19618         * modules/unictype/block-list: New file.
19619         * modules/unictype/block-all: New file.
19620         * modules/unictype/syntax-c-whitespace: New file.
19621         * modules/unictype/syntax-java-whitespace: New file.
19622         * modules/unictype/syntax-c-ident: New file.
19623         * modules/unictype/syntax-java-ident: New file.
19624         * modules/unictype/ctype-alnum: New file.
19625         * modules/unictype/ctype-alpha: New file.
19626         * modules/unictype/ctype-cntrl: New file.
19627         * modules/unictype/ctype-digit: New file.
19628         * modules/unictype/ctype-graph: New file.
19629         * modules/unictype/ctype-lower: New file.
19630         * modules/unictype/ctype-print: New file.
19631         * modules/unictype/ctype-punct: New file.
19632         * modules/unictype/ctype-space: New file.
19633         * modules/unictype/ctype-upper: New file.
19634         * modules/unictype/ctype-xdigit: New file.
19635         * modules/unictype/ctype-blank: New file.
19636         * lib/unictype/bidi_byname.c: New file.
19637         * lib/unictype/bidi_name.c: New file.
19638         * lib/unictype/bidi_of.c: New file.
19639         * lib/unictype/bidi_test.c: New file.
19640         * lib/unictype/bitmap.h: New file.
19641         * lib/unictype/block_test.c: New file.
19642         * lib/unictype/blocks.c: New file.
19643         * lib/unictype/categ_C.c: New file.
19644         * lib/unictype/categ_Cc.c: New file.
19645         * lib/unictype/categ_Cf.c: New file.
19646         * lib/unictype/categ_Cn.c: New file.
19647         * lib/unictype/categ_Co.c: New file.
19648         * lib/unictype/categ_Cs.c: New file.
19649         * lib/unictype/categ_L.c: New file.
19650         * lib/unictype/categ_Ll.c: New file.
19651         * lib/unictype/categ_Lm.c: New file.
19652         * lib/unictype/categ_Lo.c: New file.
19653         * lib/unictype/categ_Lt.c: New file.
19654         * lib/unictype/categ_Lu.c: New file.
19655         * lib/unictype/categ_M.c: New file.
19656         * lib/unictype/categ_Mc.c: New file.
19657         * lib/unictype/categ_Me.c: New file.
19658         * lib/unictype/categ_Mn.c: New file.
19659         * lib/unictype/categ_N.c: New file.
19660         * lib/unictype/categ_Nd.c: New file.
19661         * lib/unictype/categ_Nl.c: New file.
19662         * lib/unictype/categ_No.c: New file.
19663         * lib/unictype/categ_P.c: New file.
19664         * lib/unictype/categ_Pc.c: New file.
19665         * lib/unictype/categ_Pd.c: New file.
19666         * lib/unictype/categ_Pe.c: New file.
19667         * lib/unictype/categ_Pf.c: New file.
19668         * lib/unictype/categ_Pi.c: New file.
19669         * lib/unictype/categ_Po.c: New file.
19670         * lib/unictype/categ_Ps.c: New file.
19671         * lib/unictype/categ_S.c: New file.
19672         * lib/unictype/categ_Sc.c: New file.
19673         * lib/unictype/categ_Sk.c: New file.
19674         * lib/unictype/categ_Sm.c: New file.
19675         * lib/unictype/categ_So.c: New file.
19676         * lib/unictype/categ_Z.c: New file.
19677         * lib/unictype/categ_Zl.c: New file.
19678         * lib/unictype/categ_Zp.c: New file.
19679         * lib/unictype/categ_Zs.c: New file.
19680         * lib/unictype/categ_and.c: New file.
19681         * lib/unictype/categ_and_not.c: New file.
19682         * lib/unictype/categ_byname.c: New file.
19683         * lib/unictype/categ_name.c: New file.
19684         * lib/unictype/categ_none.c: New file.
19685         * lib/unictype/categ_of.c: New file.
19686         * lib/unictype/categ_or.c: New file.
19687         * lib/unictype/categ_test.c: New file.
19688         * lib/unictype/combining.c: New file.
19689         * lib/unictype/ctype_alnum.c: New file.
19690         * lib/unictype/ctype_alpha.c: New file.
19691         * lib/unictype/ctype_blank.c: New file.
19692         * lib/unictype/ctype_cntrl.c: New file.
19693         * lib/unictype/ctype_digit.c: New file.
19694         * lib/unictype/ctype_graph.c: New file.
19695         * lib/unictype/ctype_lower.c: New file.
19696         * lib/unictype/ctype_print.c: New file.
19697         * lib/unictype/ctype_punct.c: New file.
19698         * lib/unictype/ctype_space.c: New file.
19699         * lib/unictype/ctype_upper.c: New file.
19700         * lib/unictype/ctype_xdigit.c: New file.
19701         * lib/unictype/decdigit.c: New file.
19702         * lib/unictype/digit.c: New file.
19703         * lib/unictype/identsyntaxmap.h: New file.
19704         * lib/unictype/mirror.c: New file.
19705         * lib/unictype/numeric.c: New file.
19706         * lib/unictype/pr_alphabetic.c: New file.
19707         * lib/unictype/pr_ascii_hex_digit.c: New file.
19708         * lib/unictype/pr_bidi_arabic_digit.c: New file.
19709         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
19710         * lib/unictype/pr_bidi_block_separator.c: New file.
19711         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
19712         * lib/unictype/pr_bidi_common_separator.c: New file.
19713         * lib/unictype/pr_bidi_control.c: New file.
19714         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
19715         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
19716         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
19717         * lib/unictype/pr_bidi_european_digit.c: New file.
19718         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
19719         * lib/unictype/pr_bidi_left_to_right.c: New file.
19720         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
19721         * lib/unictype/pr_bidi_other_neutral.c: New file.
19722         * lib/unictype/pr_bidi_pdf.c: New file.
19723         * lib/unictype/pr_bidi_segment_separator.c: New file.
19724         * lib/unictype/pr_bidi_whitespace.c: New file.
19725         * lib/unictype/pr_byname.c: New file.
19726         * lib/unictype/pr_byname.gperf: New file.
19727         * lib/unictype/pr_combining.c: New file.
19728         * lib/unictype/pr_composite.c: New file.
19729         * lib/unictype/pr_currency_symbol.c: New file.
19730         * lib/unictype/pr_dash.c: New file.
19731         * lib/unictype/pr_decimal_digit.c: New file.
19732         * lib/unictype/pr_default_ignorable_code_point.c: New file.
19733         * lib/unictype/pr_deprecated.c: New file.
19734         * lib/unictype/pr_diacritic.c: New file.
19735         * lib/unictype/pr_extender.c: New file.
19736         * lib/unictype/pr_format_control.c: New file.
19737         * lib/unictype/pr_grapheme_base.c: New file.
19738         * lib/unictype/pr_grapheme_extend.c: New file.
19739         * lib/unictype/pr_grapheme_link.c: New file.
19740         * lib/unictype/pr_hex_digit.c: New file.
19741         * lib/unictype/pr_hyphen.c: New file.
19742         * lib/unictype/pr_id_continue.c: New file.
19743         * lib/unictype/pr_id_start.c: New file.
19744         * lib/unictype/pr_ideographic.c: New file.
19745         * lib/unictype/pr_ids_binary_operator.c: New file.
19746         * lib/unictype/pr_ids_trinary_operator.c: New file.
19747         * lib/unictype/pr_ignorable_control.c: New file.
19748         * lib/unictype/pr_iso_control.c: New file.
19749         * lib/unictype/pr_join_control.c: New file.
19750         * lib/unictype/pr_left_of_pair.c: New file.
19751         * lib/unictype/pr_line_separator.c: New file.
19752         * lib/unictype/pr_logical_order_exception.c: New file.
19753         * lib/unictype/pr_lowercase.c: New file.
19754         * lib/unictype/pr_math.c: New file.
19755         * lib/unictype/pr_non_break.c: New file.
19756         * lib/unictype/pr_not_a_character.c: New file.
19757         * lib/unictype/pr_numeric.c: New file.
19758         * lib/unictype/pr_other_alphabetic.c: New file.
19759         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
19760         * lib/unictype/pr_other_grapheme_extend.c: New file.
19761         * lib/unictype/pr_other_id_continue.c: New file.
19762         * lib/unictype/pr_other_id_start.c: New file.
19763         * lib/unictype/pr_other_lowercase.c: New file.
19764         * lib/unictype/pr_other_math.c: New file.
19765         * lib/unictype/pr_other_uppercase.c: New file.
19766         * lib/unictype/pr_paired_punctuation.c: New file.
19767         * lib/unictype/pr_paragraph_separator.c: New file.
19768         * lib/unictype/pr_pattern_syntax.c: New file.
19769         * lib/unictype/pr_pattern_white_space.c: New file.
19770         * lib/unictype/pr_private_use.c: New file.
19771         * lib/unictype/pr_punctuation.c: New file.
19772         * lib/unictype/pr_quotation_mark.c: New file.
19773         * lib/unictype/pr_radical.c: New file.
19774         * lib/unictype/pr_sentence_terminal.c: New file.
19775         * lib/unictype/pr_soft_dotted.c: New file.
19776         * lib/unictype/pr_space.c: New file.
19777         * lib/unictype/pr_terminal_punctuation.c: New file.
19778         * lib/unictype/pr_test.c: New file.
19779         * lib/unictype/pr_titlecase.c: New file.
19780         * lib/unictype/pr_unassigned_code_value.c: New file.
19781         * lib/unictype/pr_unified_ideograph.c: New file.
19782         * lib/unictype/pr_uppercase.c: New file.
19783         * lib/unictype/pr_variation_selector.c: New file.
19784         * lib/unictype/pr_white_space.c: New file.
19785         * lib/unictype/pr_xid_continue.c: New file.
19786         * lib/unictype/pr_xid_start.c: New file.
19787         * lib/unictype/pr_zero_width.c: New file.
19788         * lib/unictype/scripts.c: New file.
19789         * lib/unictype/sy_c_ident.c: New file.
19790         * lib/unictype/sy_c_whitespace.c: New file.
19791         * lib/unictype/sy_java_ident.c: New file.
19792         * lib/unictype/sy_java_whitespace.c: New file.
19793
19794         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
19795         Unicode 5.0.0.
19796         * lib/unictype/blocks.h: Likewise.
19797         * lib/unictype/categ_C.h: Likewise.
19798         * lib/unictype/categ_Cc.h: Likewise.
19799         * lib/unictype/categ_Cf.h: Likewise.
19800         * lib/unictype/categ_Cn.h: Likewise.
19801         * lib/unictype/categ_Co.h: Likewise.
19802         * lib/unictype/categ_Cs.h: Likewise.
19803         * lib/unictype/categ_L.h: Likewise.
19804         * lib/unictype/categ_Ll.h: Likewise.
19805         * lib/unictype/categ_Lm.h: Likewise.
19806         * lib/unictype/categ_Lo.h: Likewise.
19807         * lib/unictype/categ_Lt.h: Likewise.
19808         * lib/unictype/categ_Lu.h: Likewise.
19809         * lib/unictype/categ_M.h: Likewise.
19810         * lib/unictype/categ_Mc.h: Likewise.
19811         * lib/unictype/categ_Me.h: Likewise.
19812         * lib/unictype/categ_Mn.h: Likewise.
19813         * lib/unictype/categ_N.h: Likewise.
19814         * lib/unictype/categ_Nd.h: Likewise.
19815         * lib/unictype/categ_Nl.h: Likewise.
19816         * lib/unictype/categ_No.h: Likewise.
19817         * lib/unictype/categ_P.h: Likewise.
19818         * lib/unictype/categ_Pc.h: Likewise.
19819         * lib/unictype/categ_Pd.h: Likewise.
19820         * lib/unictype/categ_Pe.h: Likewise.
19821         * lib/unictype/categ_Pf.h: Likewise.
19822         * lib/unictype/categ_Pi.h: Likewise.
19823         * lib/unictype/categ_Po.h: Likewise.
19824         * lib/unictype/categ_Ps.h: Likewise.
19825         * lib/unictype/categ_S.h: Likewise.
19826         * lib/unictype/categ_Sc.h: Likewise.
19827         * lib/unictype/categ_Sk.h: Likewise.
19828         * lib/unictype/categ_Sm.h: Likewise.
19829         * lib/unictype/categ_So.h: Likewise.
19830         * lib/unictype/categ_Z.h: Likewise.
19831         * lib/unictype/categ_Zl.h: Likewise.
19832         * lib/unictype/categ_Zp.h: Likewise.
19833         * lib/unictype/categ_Zs.h: Likewise.
19834         * lib/unictype/categ_of.h: Likewise.
19835         * lib/unictype/combining.h: Likewise.
19836         * lib/unictype/ctype_alnum.h: Likewise.
19837         * lib/unictype/ctype_alpha.h: Likewise.
19838         * lib/unictype/ctype_blank.h: Likewise.
19839         * lib/unictype/ctype_cntrl.h: Likewise.
19840         * lib/unictype/ctype_digit.h: Likewise.
19841         * lib/unictype/ctype_graph.h: Likewise.
19842         * lib/unictype/ctype_lower.h: Likewise.
19843         * lib/unictype/ctype_print.h: Likewise.
19844         * lib/unictype/ctype_punct.h: Likewise.
19845         * lib/unictype/ctype_space.h: Likewise.
19846         * lib/unictype/ctype_upper.h: Likewise.
19847         * lib/unictype/ctype_xdigit.h: Likewise.
19848         * lib/unictype/decdigit.h: Likewise.
19849         * lib/unictype/digit.h: Likewise.
19850         * lib/unictype/mirror.h: Likewise.
19851         * lib/unictype/numeric.h: Likewise.
19852         * lib/unictype/pr_alphabetic.h: Likewise.
19853         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
19854         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
19855         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
19856         * lib/unictype/pr_bidi_block_separator.h: Likewise.
19857         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
19858         * lib/unictype/pr_bidi_common_separator.h: Likewise.
19859         * lib/unictype/pr_bidi_control.h: Likewise.
19860         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
19861         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
19862         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
19863         * lib/unictype/pr_bidi_european_digit.h: Likewise.
19864         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
19865         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
19866         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
19867         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
19868         * lib/unictype/pr_bidi_pdf.h: Likewise.
19869         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
19870         * lib/unictype/pr_bidi_whitespace.h: Likewise.
19871         * lib/unictype/pr_combining.h: Likewise.
19872         * lib/unictype/pr_composite.h: Likewise.
19873         * lib/unictype/pr_currency_symbol.h: Likewise.
19874         * lib/unictype/pr_dash.h: Likewise.
19875         * lib/unictype/pr_decimal_digit.h: Likewise.
19876         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
19877         * lib/unictype/pr_deprecated.h: Likewise.
19878         * lib/unictype/pr_diacritic.h: Likewise.
19879         * lib/unictype/pr_extender.h: Likewise.
19880         * lib/unictype/pr_format_control.h: Likewise.
19881         * lib/unictype/pr_grapheme_base.h: Likewise.
19882         * lib/unictype/pr_grapheme_extend.h: Likewise.
19883         * lib/unictype/pr_grapheme_link.h: Likewise.
19884         * lib/unictype/pr_hex_digit.h: Likewise.
19885         * lib/unictype/pr_hyphen.h: Likewise.
19886         * lib/unictype/pr_id_continue.h: Likewise.
19887         * lib/unictype/pr_id_start.h: Likewise.
19888         * lib/unictype/pr_ideographic.h: Likewise.
19889         * lib/unictype/pr_ids_binary_operator.h: Likewise.
19890         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
19891         * lib/unictype/pr_ignorable_control.h: Likewise.
19892         * lib/unictype/pr_iso_control.h: Likewise.
19893         * lib/unictype/pr_join_control.h: Likewise.
19894         * lib/unictype/pr_left_of_pair.h: Likewise.
19895         * lib/unictype/pr_line_separator.h: Likewise.
19896         * lib/unictype/pr_logical_order_exception.h: Likewise.
19897         * lib/unictype/pr_lowercase.h: Likewise.
19898         * lib/unictype/pr_math.h: Likewise.
19899         * lib/unictype/pr_non_break.h: Likewise.
19900         * lib/unictype/pr_not_a_character.h: Likewise.
19901         * lib/unictype/pr_numeric.h: Likewise.
19902         * lib/unictype/pr_other_alphabetic.h: Likewise.
19903         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
19904         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
19905         * lib/unictype/pr_other_id_continue.h: Likewise.
19906         * lib/unictype/pr_other_id_start.h: Likewise.
19907         * lib/unictype/pr_other_lowercase.h: Likewise.
19908         * lib/unictype/pr_other_math.h: Likewise.
19909         * lib/unictype/pr_other_uppercase.h: Likewise.
19910         * lib/unictype/pr_paired_punctuation.h: Likewise.
19911         * lib/unictype/pr_paragraph_separator.h: Likewise.
19912         * lib/unictype/pr_pattern_syntax.h: Likewise.
19913         * lib/unictype/pr_pattern_white_space.h: Likewise.
19914         * lib/unictype/pr_private_use.h: Likewise.
19915         * lib/unictype/pr_punctuation.h: Likewise.
19916         * lib/unictype/pr_quotation_mark.h: Likewise.
19917         * lib/unictype/pr_radical.h: Likewise.
19918         * lib/unictype/pr_sentence_terminal.h: Likewise.
19919         * lib/unictype/pr_soft_dotted.h: Likewise.
19920         * lib/unictype/pr_space.h: Likewise.
19921         * lib/unictype/pr_terminal_punctuation.h: Likewise.
19922         * lib/unictype/pr_titlecase.h: Likewise.
19923         * lib/unictype/pr_unassigned_code_value.h: Likewise.
19924         * lib/unictype/pr_unified_ideograph.h: Likewise.
19925         * lib/unictype/pr_uppercase.h: Likewise.
19926         * lib/unictype/pr_variation_selector.h: Likewise.
19927         * lib/unictype/pr_white_space.h: Likewise.
19928         * lib/unictype/pr_xid_continue.h: Likewise.
19929         * lib/unictype/pr_xid_start.h: Likewise.
19930         * lib/unictype/pr_zero_width.h: Likewise.
19931         * lib/unictype/scripts.h: Likewise.
19932         * lib/unictype/scripts_byname.gperf: Likewise.
19933         * lib/unictype/sy_c_ident.h: Likewise.
19934         * lib/unictype/sy_c_whitespace.h: Likewise.
19935         * lib/unictype/sy_java_ident.h: Likewise.
19936         * lib/unictype/sy_java_whitespace.h: Likewise.
19937
19938         * lib/unictype/Makefile: New file.
19939         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
19940         glibc.
19941         * lib/unictype/3level.h: New file, copied from glibc.
19942         * lib/unictype/3levelbit.h: New file.
19943
19944 2007-11-11  Bruno Haible  <bruno@clisp.org>
19945
19946         * modules/gperf: New file.
19947         * modules/iconv_open (Depends-on): Add it.
19948         (Makefile.am): Remove the GPERF definition.
19949
19950 2007-11-11  Bruno Haible  <bruno@clisp.org>
19951
19952         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
19953         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
19954
19955 2007-11-11  Bruno Haible  <bruno@clisp.org>
19956
19957         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
19958         (usage): Remove function.
19959
19960 2007-11-11  Bruno Haible  <bruno@clisp.org>
19961
19962         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
19963         gl_FUNC_CEILF_LIBS.
19964         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
19965         gl_FUNC_CEIL_LIBS.
19966         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
19967         gl_FUNC_CEILL_LIBS.
19968         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
19969         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
19970         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
19971
19972 2007-11-11  Bruno Haible  <bruno@clisp.org>
19973
19974         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
19975         roundf were declared but do not exist on functions.
19976         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
19977         roundl were declared but do not exist on functions.
19978         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
19979         HAVE_FLOORL_AND_CEILL, respectively.
19980         Needed for Sun C on Solaris 10.
19981
19982 2007-11-11  Bruno Haible  <bruno@clisp.org>
19983
19984         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
19985         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
19986         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
19987         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
19988         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
19989         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
19990         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
19991         HAVE_DECL_ROUNDF.
19992         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
19993         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
19994         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
19995         of HAVE_DECL_ROUND*.
19996         * modules/math (Makefile.am): Update.
19997
19998 2007-11-10  Bruno Haible  <bruno@clisp.org>
19999
20000         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
20001         ptrdiff_t as m4/intl.m4.
20002
20003 2007-11-10  Jim Meyering  <meyering@redhat.com>
20004
20005         Avoid link failure for the argmatch test.
20006         * tests/test-argmatch.c (usage): Define function to avoid a link
20007         failure: argmatch_die requires a usage function.
20008
20009 2007-11-09  Bruno Haible  <bruno@clisp.org>
20010
20011         * doc/functions/snprintf.texi: Mention BeOS deficiency.
20012         * doc/functions/vsnprintf.texi: Likewise.
20013         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
20014         with a size argument < 2.
20015
20016 2007-11-09  Bruno Haible  <bruno@clisp.org>
20017
20018         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
20019         buffer. Fixes an inefficiency introduced on 2007-11-03.
20020
20021 2007-11-09  Bruno Haible  <bruno@clisp.org>
20022
20023         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
20024         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
20025
20026 2007-11-08  Jim Meyering  <meyering@redhat.com>
20027
20028         Change cache variable name prefix "jm_" to "gl_" everywhere.
20029         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
20030         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
20031         * m4/uptime.m4: s/gl_/jm_/
20032
20033 2007-11-07  Bruno Haible  <bruno@clisp.org>
20034
20035         Update to GNU gettext 0.17.
20036         * m4/intl.m4: Update to GNU gettext 0.17.
20037         * m4/po.m4: Likewise.
20038         * modules/gettext (Files): Remove m4/ulonglong.m4.
20039         (configure.ac): Require gettext infrastructure from version 0.17.
20040
20041 2007-11-06  Bruno Haible  <bruno@clisp.org>
20042
20043         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
20044         symbolic values are not defined in a public header.
20045         * lib/freadable.c (freadable) [QNX]: Likewise.
20046         * lib/freadahead.c (freadahead) [QNX]: Likewise.
20047         * lib/freading.c (freading) [QNX]: Likewise.
20048         * lib/fseterr.c (fseterr) [QNX]: Likewise.
20049         * lib/fwritable.c (fwritable) [QNX]: Likewise.
20050         * lib/fwriting.c (fwriting) [QNX]: Likewise.
20051         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
20052         Reported by Alain Magloire.
20053
20054         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
20055
20056 2007-11-05  Bruno Haible  <bruno@clisp.org>
20057
20058         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
20059         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
20060         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
20061         Reported by Eric Blake.
20062
20063 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20064             Bruno Haible  <bruno@clisp.org>
20065
20066         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
20067         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
20068         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
20069         (malloc): Undefine also before including <stdlib.h>.
20070         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
20071         Needed on OSF/1 4.0.
20072
20073 2007-11-05  Jim Meyering  <meyering@redhat.com>
20074
20075         git-version-gen: sync from coreutils.
20076         * build-aux/git-version-gen: Add comments.
20077         Change the first '-' to '.' in the snapshot version string,
20078         e.g., 6.9-377-08144 -> 6.9.377-08144
20079         Remove first parameter.
20080         Don't declare a version "-dirty" merely because a time
20081         stamp has changed.
20082
20083 2007-11-04  Bruno Haible  <bruno@clisp.org>
20084
20085         * lib/lock.h: Protect all macro definitions containing an 'if'
20086         statement through a "do { ... } while (0)".
20087         * lib/tls.h: Likewise.
20088
20089 2007-11-04  Bruno Haible  <bruno@clisp.org>
20090
20091         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
20092
20093 2007-11-04  Bruno Haible  <bruno@clisp.org>
20094
20095         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
20096         * modules/fprintf-posix (Depends-on): Add nocrash.
20097         * modules/snprintf-posix (Depends-on): Likewise.
20098         * modules/sprintf-posix (Depends-on): Likewise.
20099         * modules/vasnprintf-posix (Depends-on): Likewise.
20100         * modules/vasprintf-posix (Depends-on): Likewise.
20101         * modules/vfprintf-posix (Depends-on): Likewise.
20102         * modules/vsnprintf-posix (Depends-on): Likewise.
20103         * modules/vsprintf-posix (Depends-on): Likewise.
20104         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
20105         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
20106         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
20107         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
20108         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
20109         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
20110         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
20111
20112 2007-11-04  Bruno Haible  <bruno@clisp.org>
20113
20114         * modules/nocrash: New file.
20115         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
20116         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
20117
20118 2007-11-04  Bruno Haible  <bruno@clisp.org>
20119
20120         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
20121         precision handling.
20122         * tests/test-vasprintf-posix.c (test_function): Likewise.
20123         * tests/test-snprintf-posix.h (test_function): Likewise.
20124         * tests/test-sprintf-posix.h (test_function): Likewise.
20125
20126         Fix *printf behaviour for large precisions on mingw and BeOS.
20127         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
20128         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
20129         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
20130         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
20131         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
20132         gl_PRINTF_PRECISION and test its result. Invoke
20133         gl_PREREQ_VASNPRINTF_PRECISION.
20134         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
20135         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
20136         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
20137         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
20138         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
20139         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
20140         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
20141         * doc/functions/fprintf.texi: Update.
20142         * doc/functions/printf.texi: Update.
20143         * doc/functions/snprintf.texi: Update.
20144         * doc/functions/sprintf.texi: Update.
20145         * doc/functions/vfprintf.texi: Update.
20146         * doc/functions/vprintf.texi: Update.
20147         * doc/functions/vsnprintf.texi: Update.
20148         * doc/functions/vsprintf.texi: Update.
20149
20150 2007-11-04  Bruno Haible  <bruno@clisp.org>
20151
20152         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
20153
20154 2007-11-04  Bruno Haible  <bruno@clisp.org>
20155
20156         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
20157         Reported by Sylvain Beucler <beuc@gnu.org>.
20158
20159 2007-11-03  Bruno Haible  <bruno@clisp.org>
20160
20161         * tests/test-fprintf-posix2.sh: New file.
20162         * tests/test-fprintf-posix2.c: New file.
20163         * modules/fprintf-posix-tests (Files): Add them.
20164         (TESTS): Add test-fprintf-posix2.sh.
20165         (configure.ac): Check for getrlimit and setrlimit.
20166         (check_PROGRAMS): Add test-fprintf-posix2.
20167
20168         * tests/test-printf-posix2.sh: New file.
20169         * tests/test-printf-posix2.c: New file.
20170         * modules/printf-posix-tests (Files): Add them.
20171         (TESTS): Add test-printf-posix2.sh.
20172         (configure.ac): Check for getrlimit and setrlimit.
20173         (check_PROGRAMS): Add test-printf-posix2.
20174
20175         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
20176         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
20177         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
20178         (decode_double): New function, copied from decode_long_double.
20179         (scale10_round_decimal_decoded): New function, extracted from
20180         scale10_round_decimal_long_double.
20181         (scale10_round_decimal_long_double): Use it.
20182         (scale10_round_decimal_double): New function.
20183         (floorlog10): New function.
20184         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
20185         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
20186         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
20187         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
20188         gl_PRINTF_ENOMEM and test its result. Invoke
20189         gl_PREREQ_VASNPRINTF_ENOMEM.
20190         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
20191         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
20192         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
20193         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
20194         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
20195         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
20196         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
20197         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
20198         * modules/snprintf-posix (Depends-on): Likewise.
20199         * modules/sprintf-posix (Depends-on): Likewise.
20200         * modules/vasnprintf-posix (Depends-on): Likewise.
20201         * modules/vasprintf-posix (Depends-on): Likewise.
20202         * modules/vfprintf-posix (Depends-on): Likewise.
20203         * modules/vsnprintf-posix (Depends-on): Likewise.
20204         * modules/vsprintf-posix (Depends-on): Likewise.
20205         * doc/functions/fprintf.texi: Update.
20206         * doc/functions/printf.texi: Update.
20207         * doc/functions/snprintf.texi: Update.
20208         * doc/functions/sprintf.texi: Update.
20209         * doc/functions/vfprintf.texi: Update.
20210         * doc/functions/vprintf.texi: Update.
20211         * doc/functions/vsnprintf.texi: Update.
20212         * doc/functions/vsprintf.texi: Update.
20213
20214 2007-11-03  Bruno Haible  <bruno@clisp.org>
20215
20216         * modules/frexp-nolibm-tests: New file.
20217
20218         * modules/frexp-nolibm: New file.
20219         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
20220
20221 2007-11-03  Bruno Haible  <bruno@clisp.org>
20222
20223         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
20224         value is C99 compliant.
20225         Needed for OSF/1 5.1.
20226
20227 2007-11-03  Bruno Haible  <bruno@clisp.org>
20228
20229         Fix out-of-memory handling of vasnprintf.
20230         * lib/printf-parse.c: Include <errno.h>.
20231         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
20232         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
20233         is already set.
20234
20235 2007-11-02  Eric Blake  <ebb9@byu.net>
20236
20237         Fix tests on cygwin.
20238         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
20239
20240 2007-11-01  Bruno Haible  <bruno@clisp.org>
20241
20242         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
20243         warning.
20244         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
20245         needed for POSIX compatibility.
20246
20247 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
20248
20249         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
20250         for compatibility with GNU.
20251
20252 2007-11-01  Bruno Haible  <bruno@clisp.org>
20253
20254         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
20255         (putenv): Renamed from rpl_putenv. Change argument type from
20256         'const char *' to 'char *'.
20257         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
20258         of defining putenv in config.h, just set REPLACE_PUTENV.
20259         * modules/putenv (Depends-on): Add stdlib.
20260         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
20261         (Include): Use <stdlib.h>.
20262         * lib/stdlib.in.h (putenv): New declaration.
20263         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
20264         REPLACE_PUTENV.
20265         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
20266         REPLACE_PUTENV.
20267         Needed for MacOS X 10.5.0.
20268         Reported by Peter O'Gorman <peter@pogma.com>.
20269
20270 2007-11-01  Jim Meyering  <meyering@redhat.com>
20271
20272         Treat an empty date string exactly like "0".
20273         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
20274         if the remaining date string (to be parsed) is empty, use "0".
20275         Reported by Mischa Molhoek and discussed in this thread:
20276         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
20277
20278 2007-10-31  Bruno Haible  <bruno@clisp.org>
20279
20280         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
20281         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
20282         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
20283         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
20284         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
20285         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
20286
20287 2007-10-31  Bruno Haible  <bruno@clisp.org>
20288
20289         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
20290         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
20291         (AC_TYPE_LONG_LONG_INT): Use it.
20292         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
20293         it as well.
20294         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
20295         to m4/longlong.m4.
20296         * modules/stdint (Files): Remove m4/ulonglong.m4.
20297         * modules/strtoull (Files): Use m4/longlong.m4 instead of
20298         m4/ulonglong.m4.
20299         * modules/strtoumax (Files): Likewise.
20300
20301 2007-10-30  Bruno Haible  <bruno@clisp.org>
20302
20303         * modules/xvasprintf-posix: New file.
20304         Suggested by Eric Blake.
20305
20306 2007-10-30  Bruno Haible  <bruno@clisp.org>
20307
20308         * modules/xprintf-posix-tests: New file.
20309         * tests/test-xprintf-posix.sh: New file.
20310         * tests/test-xprintf-posix.c: New file.
20311         * tests/test-xfprintf-posix.c: New file.
20312
20313         * modules/xprintf-posix: New file.
20314
20315 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20316
20317         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
20318         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
20319         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
20320
20321 2007-10-29  Bruno Haible  <bruno@clisp.org>
20322
20323         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
20324         contain the special marker '_cv_'.
20325         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
20326         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
20327         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
20328         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
20329         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
20330         Reported by Ralf Wildenhues.
20331
20332 2007-10-29  Bruno Haible  <bruno@clisp.org>
20333
20334         * gnulib-tool (func_import): When --lgpl is not specified, set
20335         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
20336         GPLv3.
20337         Reported by Simon Josefsson.
20338
20339 2007-10-28  Bruno Haible  <bruno@clisp.org>
20340
20341         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
20342         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
20343         HAVE_DECL_ISFINITE.
20344         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
20345         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
20346         HAVE_DECL_ISFINITE.
20347
20348 2007-10-28  Bruno Haible  <bruno@clisp.org>
20349
20350         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
20351         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
20352
20353 2007-10-28  Bruno Haible  <bruno@clisp.org>
20354
20355         Fix link errors with Sun C 5.0 on Solaris 10.
20356         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
20357         function is declared but not present in the compiler's libm.
20358         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
20359         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
20360         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
20361         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
20362         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
20363         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
20364         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
20365         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
20366         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
20367         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
20368         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
20369         HAVE_DECL_FLOORL.
20370
20371 2007-10-28  Bruno Haible  <bruno@clisp.org>
20372
20373         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
20374         gl_FUNC_FLOORL. Cache the result.
20375         (gl_FUNC_FLOORL): Use it.
20376         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
20377         gl_FUNC_CEILL. Cache the result.
20378         (gl_FUNC_CEILL): Use it.
20379
20380         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
20381         gl_FUNC_FLOOR. Cache the result.
20382         (gl_FUNC_FLOOR): Use it.
20383         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
20384         gl_FUNC_CEIL. Cache the result.
20385         (gl_FUNC_CEIL): Use it.
20386
20387         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
20388         gl_FUNC_FLOORF. Cache the result.
20389         (gl_FUNC_FLOORF): Use it.
20390         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
20391         gl_FUNC_CEILF. Cache the result.
20392         (gl_FUNC_CEILF): Use it.
20393
20394 2007-10-28  Bruno Haible  <bruno@clisp.org>
20395
20396         * gnulib-tool: Allow specifying the LGPL version number through
20397         --lgpl=2 or --lgpl=3.
20398         (func_usage): Document --lgpl with argument.
20399         Handle --lgpl=... arguments.
20400         (func_import): Recognize also gl_LGPL calls with an argument. When
20401         --lgpl=2 is used and the module's license is just LGPL, report an
20402         error. Set sed_transform_lib_file according to the lgpl variable. In
20403         the generated files, use --lgpl or gl_LGPL invocations with argument,
20404         if necessary.
20405         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
20406         an LGPv2+ license.
20407         * doc/gnulib-tool.texi (Modified imports): Update explanation of
20408         gl_LGPL macro.
20409
20410 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20411             Bruno Haible  <bruno@clisp.org>
20412
20413         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
20414         (u16_uctomb_aux): Likewise.
20415         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
20416         !HAVE_INLINE.
20417         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
20418
20419 2007-10-28  Bruno Haible  <bruno@clisp.org>
20420
20421         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
20422         Invoke AM_GETTEXT_OPTION if it exists.
20423         * modules/vasprintf: Likewise.
20424         * modules/verror: Likewise.
20425         * modules/xprintf: Likewise.
20426         * modules/xvasprintf: Likewise.
20427
20428 2007-10-27  Ben Pfaff  <blp@gnu.org>
20429
20430         * lib/math.in.h: Define isfinite macro and prototypes for
20431         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
20432         implementations.
20433         * m4/math_h.m4: New substitutions for isfinite module.
20434         * lib/isfinite.c: New file.
20435         * m4/isfinite.m4: New file.
20436         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
20437         * modules/isfinite: New file.
20438         * modules/isfinite-tests: New file.
20439         * tests/tests-isfinite.c: New file.
20440         * doc/functions/isfinite.texi: Mention isfinite module.
20441         * MODULES.html.sh: Mention new module.
20442
20443 2007-10-27  Ben Pfaff  <blp@gnu.org>
20444
20445         Ralf Wildenhues reported that Tru64 4.0D declares the round
20446         functions but does not have definitions.
20447         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
20448         cannot be found in any library, set the output variable to
20449         "missing" instead of "".
20450         * m4/round.m4: Also use our substitute if we cannot find round in
20451         any library, even if it is declared.
20452         * m4/roundf.m4: Likewise for roundf.
20453         * m4/roundl.m4: Likewise for roundl.
20454         * lib/math.in.h: Undefine roundf, round, roundl before defining
20455         their replacements, to allow for hypothetical systems where these
20456         may be defined as macros but not available in libraries.
20457
20458 2007-10-27  Bruno Haible  <bruno@clisp.org>
20459
20460         * doc/gnulib.texi: Invoke @firstparagraphindent.
20461         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
20462         changes in gnulib.
20463         (Source changes): New section.
20464
20465 2007-10-26  Bruno Haible  <bruno@clisp.org>
20466
20467         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
20468         borrowed from autoconf.
20469
20470 2007-10-26  Bruno Haible  <bruno@clisp.org>
20471
20472         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
20473         strerror returned the empty string. Needed on HP-UX 11.00.
20474
20475 2007-10-24  Micah Cowan  <micah@cowan.name>
20476
20477         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
20478         * build-aux/bootstrap: Remove support for now-unnecessary option,
20479         --cvs-user, and envvars CVS_USER, CVS_RSH.
20480
20481 2007-10-24  Jim Meyering  <meyering@redhat.com>
20482
20483         Avoid diagnostics from sha1sum when there is no cached checksum.
20484         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
20485         if the po.s1 file hasn't been created yet.
20486
20487         * build-aux/bootstrap: Sync from coreutils:
20488         2007-10-24  Jim Meyering  <meyering@redhat.com>
20489         Get gnulib from the git repository, not from an obsolete cvs one.
20490         * build-aux/bootstrap: Suggestion from Micah Cowan.
20491         2007-10-04  Jim Meyering  <jim@meyering.net>
20492         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
20493         (update_po_files): Work also when there are no .po files in po/.
20494
20495 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
20496
20497         * README: Append ".git" to git and cg examples.
20498         Problem reported by Benoit Sigoure.
20499
20500 2007-10-23  Micah Cowan  <micah@cowan.name>
20501
20502         * users.txt: Add wget.
20503
20504 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20505
20506         Fix linking of some unistdio tests on FreeBSD.
20507         * modules/unistdio/u16-vsnprintf-tests
20508         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
20509         * modules/unistdio/u16-vsprintf-tests
20510         (test_u16_vsnprintf1_LDADD): Likewise.
20511         * modules/unistdio/u32-vsnprintf-tests
20512         (test_u32_vsnprintf1_LDADD): Likewise.
20513         * modules/unistdio/u32-vsprintf-tests
20514         (test_u32_vsprintf1_LDADD): Likewise.
20515         * modules/unistdio/u8-vsnprintf-tests
20516         (test_u8_vsnprintf1_LDADD): Likewise.
20517         * modules/unistdio/u8-vsprintf-tests
20518         (test_u8_vsprintf1_LDADD): Likewise.
20519         * modules/unistdio/ulc-vsnprintf-tests
20520         (test_ulc_vsnprintf1_LDADD): Likewise.
20521         * modules/unistdio/ulc-vsprintf-tests
20522         (test_ulc_vsprintf1_LDADD): Likewise.
20523
20524         Fix linking of some uniconv tests on FreeBSD.
20525         * modules/uniconv/u16-conv-from-enc-tests
20526         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
20527         * modules/uniconv/u16-conv-to-enc-tests
20528         (test_u16_conv_to_enc_LDADD): Likewise.
20529         * modules/uniconv/u16-strconv-from-enc-tests
20530         (test_u16_strconv_from_enc_LDADD): Likewise.
20531         * modules/uniconv/u16-strconv-to-enc-tests
20532         (test_u16_strconv_to_enc_LDADD): Likewise.
20533         * modules/uniconv/u32-conv-from-enc-tests
20534         (test_u32_conv_from_enc_LDADD): Likewise.
20535         * modules/uniconv/u32-conv-to-enc-tests
20536         (test_u32_conv_to_enc_LDADD): Likewise.
20537         * modules/uniconv/u32-strconv-from-enc-tests
20538         (test_u32_strconv_from_enc_LDADD): Likewise.
20539         * modules/uniconv/u32-strconv-to-enc-tests
20540         (test_u32_strconv_to_enc_LDADD): Likewise.
20541         * modules/uniconv/u8-conv-from-enc-tests
20542         (test_u8_conv_from_enc_LDADD): Likewise.
20543         * modules/uniconv/u8-conv-to-enc-tests
20544         (test_u8_conv_to_enc_LDADD): Likewise.
20545         * modules/uniconv/u8-strconv-from-enc-tests
20546         (test_u8_strconv_from_enc_LDADD): Likewise.
20547         * modules/uniconv/u8-strconv-to-enc-tests
20548         (test_u8_strconv_to_enc_LDADD): Likewise.
20549
20550 2007-10-22  Bruno Haible  <bruno@clisp.org>
20551
20552         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
20553         size.
20554
20555 2007-10-22  Eric Blake  <ebb9@byu.net>
20556
20557         Tweak x*printf documentation.
20558         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
20559         variable name and comments.
20560         Suggested by Bruno Haible.
20561
20562 2007-10-22  Bruno Haible  <bruno@clisp.org>
20563
20564         * lib/acl.c (copy_acl): Fix file name in comment.
20565
20566 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
20567
20568         Fix Tru64 problem with stdbool.h.
20569         * lib/stdbool.in.h (false, true):
20570         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
20571         Don't declare as an enum in this situation; it runs afoul of Tru64.
20572         Problem reported by Steven M. Schweda in
20573         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
20574
20575 2007-10-22  Eric Blake  <ebb9@byu.net>
20576
20577         Also wrap vf?printf.
20578         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
20579         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
20580         (xvprintf, xvfprintf): New functions.
20581
20582 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20583
20584         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
20585         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
20586
20587         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
20588         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
20589
20590 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
20591
20592         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
20593         by Bruno Haible.
20594
20595 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20596
20597         * lib/getloadavg.c
20598         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
20599         Undef `sys' after including sys/table.h, for Tru64 4.0D.
20600
20601         * tests/test-i-ring.c: Work for C89.
20602
20603 2007-10-22  Bruno Haible  <bruno@clisp.org>
20604
20605         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
20606         -1u, in preprocessor expression, so that we don't test for the bug
20607         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
20608         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
20609
20610 2007-10-22  Eric Blake  <ebb9@byu.net>
20611
20612         * tests/test-yesno.sh: Silence stderr during test.
20613
20614 2007-10-22  Simon Josefsson  <simon@josefsson.org>
20615
20616         * modules/crypto/gc-camellia: New file.
20617
20618         * m4/gc-camellia.m4: New file.
20619
20620         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
20621
20622         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
20623
20624 2007-10-22  Simon Josefsson  <simon@josefsson.org>
20625
20626         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
20627         --help to stdout.  Reported by sms@antinode.org (Steven
20628         M. Schweda).
20629
20630 2007-10-22  Simon Josefsson  <simon@josefsson.org>
20631
20632         * users.txt: Fix link to libksba.
20633
20634 2007-10-21  Ben Pfaff  <blp@gnu.org>
20635
20636         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
20637         round.c roundf implementation that depends on floorf and ceilf to
20638         be tested unconditionally.
20639
20640 2007-10-21  Ben Pfaff  <blp@gnu.org>
20641
20642         * m4/check-libm-func.m4: Removed.
20643         * m4/check-math-lib.m4: New file.
20644         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
20645         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
20646         definition and lack of AC_LIBOBJ([roundf]).
20647         * m4/roundl.m4: Ditto, and similarly for roundl.
20648         * modules/round: Reference new m4 file.
20649         * modules/roundf: Ditto.
20650         * modules/roundl: Ditto.
20651         * tests/test-round2.c (main): Use ROUND instead of round.
20652         Bug report from Bruno Haible.
20653
20654 2007-10-21  Bruno Haible  <bruno@clisp.org>
20655
20656         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
20657         context.
20658
20659 2007-10-21  Bruno Haible  <bruno@clisp.org>
20660
20661         * tests/test-wcwidth.c (main): Allow negative result for some control
20662         characters.
20663
20664         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
20665         Needed on OSF/1 5.1.
20666
20667 2007-10-21  Bruno Haible  <bruno@clisp.org>
20668
20669         * tests/test-floorf1.c: Include isnanf.h.
20670         (main): Use isnanf() instead of isnan().
20671         * tests/test-ceilf1.c: Include isnanf.h.
20672         (main): Use isnanf() instead of isnan().
20673         * tests/test-truncf1.c: Include isnanf.h.
20674         (main): Use isnanf() instead of isnan().
20675         * tests/test-roundf1.c: Include isnanf.h.
20676         (main): Use isnanf() instead of isnan().
20677
20678 2007-10-21  Eric Blake  <ebb9@byu.net>
20679
20680         * users.txt: Update URL for m4.
20681
20682 2007-10-21  Bruno Haible  <bruno@clisp.org>
20683
20684         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
20685
20686 2007-10-21  Bruno Haible  <bruno@clisp.org>
20687
20688         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
20689         Git's management files if the CVS files are not present.
20690
20691 2007-10-20  Bruno Haible  <bruno@clisp.org>
20692
20693         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
20694         gcc-3.4.x.
20695
20696 2007-10-20  Ben Pfaff  <blp@gnu.org>
20697
20698         * lib/math.in.h: Declare round, roundf, roundl if we are providing
20699         implementations.
20700         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
20701         * lib/round.c: New file.
20702         * lib/roundf.c: New file.
20703         * lib/roundl.c: New file.
20704         * m4/round.m4: New file.
20705         * m4/roundf.m4: New file.
20706         * m4/roundl.m4: New file.
20707         * m4/check-libm-func-m4: New file.
20708         * modules/math: Replace round, roundf, roundl related @VARS@ in
20709         math.in.h.
20710         * modules/round: New file.
20711         * modules/round-tests: New file.
20712         * modules/roundf: New file.
20713         * modules/roundf-tests: New file.
20714         * modules/roundl: New file.
20715         * modules/roundl-tests: New file.
20716         * tests/test-round1.c: New file.
20717         * tests/test-round2.c: New file.
20718         * tests/test-roundf1.c: New file.
20719         * tests/test-roundf2.c: New file.
20720         * tests/test-roundl.c: New file.
20721         * doc/functions/round.texi: Mention round module.
20722         * doc/functions/roundf.texi: Mention roundf module.
20723         * doc/functions/roundl.texi: Mention roundl module.
20724         * MODULES.html.sh: Mention new modules.
20725         Thanks to Bruno Haible for suggestions.
20726
20727 2007-10-20  Jim Meyering  <meyering@redhat.com>
20728
20729         * lib/xprintf.c: Include <config.h> unconditionally.
20730
20731         Change xprintf's license to GPL.
20732         * modules/xprintf (License): s/LGPL/GPL/, since this module
20733         depends on modules (exit and exitfail) which are GPL.
20734         Suggestion from Bruno Haible.
20735
20736         xprintf fixes.
20737         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
20738         Use a clearer diagnostic.
20739         Patch from Bruno Haible.
20740
20741 2007-10-20  Bruno Haible  <bruno@clisp.org>
20742
20743         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
20744         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
20745         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20746
20747 2007-10-20  Bruno Haible  <bruno@clisp.org>
20748
20749         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
20750         precision in the comparison result > x - 1 or similar.
20751         * tests/test-ceilf2.c (correct_result_p): Likewise.
20752         * tests/test-truncf2.c (correct_result_p): Likewise.
20753         * tests/test-trunc2.c (correct_result_p): Likewise.
20754         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20755
20756 2007-10-20  Bruno Haible  <bruno@clisp.org>
20757
20758         * modules/ceil: New file.
20759         * m4/ceil.m4: New file.
20760         * doc/functions/ceil.texi: Mention the 'ceil' module.
20761
20762 2007-10-20  Bruno Haible  <bruno@clisp.org>
20763
20764         * modules/floor: New file.
20765         * m4/floor.m4: New file.
20766         * doc/functions/floor.texi: Mention the 'floor' module.
20767
20768 2007-10-20  Bruno Haible  <bruno@clisp.org>
20769
20770         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
20771         of %a.
20772         * modules/floorf-tests (Depends-on): Likewise.
20773         * modules/truncf-tests (Depends-on): Likewise.
20774         * modules/trunc-tests (Depends-on): Likewise.
20775         Reported by Ben Pfaff.
20776
20777 2007-10-19  Jim Meyering  <meyering@redhat.com>
20778
20779         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
20780         Don't bother testing specific errno values.  Just test ferror.
20781
20782         New module: xprintf
20783         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
20784
20785 2007-10-19  Bruno Haible  <bruno@clisp.org>
20786
20787         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
20788         syntax.
20789         * modules/javaexec (Makefile.am): Likewise.
20790         * modules/relocatable-prog (Makefile.am): Likewise.
20791         Suggested by Jim Meyering.
20792
20793 2007-10-18  Bruno Haible  <bruno@clisp.org>
20794
20795         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
20796         Reported by Jim Meyering.
20797
20798 2007-10-18  Eric Blake  <ebb9@byu.net>
20799
20800         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
20801
20802 2007-10-18  Bruno Haible  <bruno@clisp.org>
20803
20804         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
20805         the format string into writable memory. Needed in Fortify conditions.
20806
20807 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
20808             Bruno Haible  <bruno@clisp.org>
20809
20810         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
20811         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
20812         * modules/trim (Depends-on): Add mbchar.
20813         (configure.ac): Add gl_FUNC_MBRTOWC.
20814         (Makefile.am): Augment lib_SOURCES.
20815
20816 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
20817
20818         Modify glob.c to use fstatat and dirfd, to simplify it.
20819         Suggested by Eric Blake.
20820         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
20821         Don't include <stdbool.h>; not used.
20822         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
20823         (link_exists_p): Simplify implementation, since we can now assume
20824         dirfd and fstatat.
20825         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
20826
20827 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20828
20829         * gnulib-tool (func_get_dependencies): Fix sed script to
20830         match only tests.
20831
20832 2007-10-17  Bruno Haible  <bruno@clisp.org>
20833
20834         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
20835         allow locale names without encoding suffix.
20836         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
20837         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
20838
20839 2007-10-16  Bruno Haible  <bruno@clisp.org>
20840
20841         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
20842         * lib/getgroups.c (getgroups): Likewise.
20843         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
20844
20845 2007-10-16  Bruno Haible  <bruno@clisp.org>
20846
20847         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
20848         * modules/malloc-posix (License): Likewise.
20849         * modules/realloc-posix (License): Likewise.
20850         * modules/calloc-posix (License): Likewise.
20851         * modules/intprops (License): Change from GPL to LGPL, with
20852         Paul Eggert's approval.
20853
20854 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
20855
20856         Merge glibc changes into lib/glob.c.
20857
20858         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
20859         2007-10-15 04:59:03 UTC.  Here are the changes:
20860
20861         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
20862
20863         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
20864
20865         * lib/glob.c: Add some branch prediction throughout.
20866
20867         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
20868
20869         [BZ #5103]
20870         * lib/glob.c (glob): Recognize patterns starting \/.
20871
20872         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
20873
20874         [BZ #3996]
20875         * lib/glob.c (attribute_hidden): Define if not defined.
20876         (glob): Unescape dirname, filename or username when needed and not
20877         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
20878         is NULL.  Handle unescaped [ in pattern without closing ].
20879         Don't pass GLOB_CHECK down to recursive glob for directories.
20880         (__glob_pattern_type): New function.
20881         (__glob_pattern_p): Implement using __glob_pattern_type.
20882         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
20883         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
20884         Remove unreachable code.
20885
20886         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
20887
20888         * lib/glob.c (glob_in_dir): Add some comments and asserts to
20889         explain why there are no leaks.
20890
20891         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
20892
20893         [BZ #3253]
20894         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
20895         time, rather allocate increasingly bigger arrays of pointers, if
20896         possible with alloca, if too large with malloc.
20897
20898 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
20899
20900         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
20901         Problem reported by H.Merijn Brand in
20902         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
20903         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
20904         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
20905
20906 2007-10-15  Bruno Haible  <bruno@clisp.org>
20907
20908         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
20909         with explicit rpl_ prefix.
20910         * lib/fopen.c (fopen): Likewise.
20911         * lib/freopen.c (freopen): Likewise.
20912         * lib/iconv.c (iconv): Likewise.
20913         * lib/iconv_close.c (iconv_close): Likewise.
20914
20915 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20916
20917         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
20918
20919 2007-10-15  Bruno Haible  <bruno@clisp.org>
20920
20921         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
20922         <stddef.h> instead of <stdlib.h> since we only need NULL.
20923         Reported by Ben Pfaff <blp@cs.stanford.edu>.
20924
20925 2007-10-15  Bruno Haible  <bruno@clisp.org>
20926
20927         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
20928         Replace paragraph talking about LIBOBJS.
20929         Reported by Colin Watson <cjwatson@debian.org>.
20930
20931 2007-10-15  Bruno Haible  <bruno@clisp.org>
20932
20933         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
20934         <stdlib.h> before using NULL.
20935
20936 2007-10-15  Simon Josefsson  <simon@josefsson.org>
20937
20938         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
20939         Reported by Albert Chin <china@thewrittenword.com>.
20940
20941 2007-10-14  Bruno Haible  <bruno@clisp.org>
20942
20943         * modules/iconv_open-utf-tests: New file.
20944         * tests/test-iconv-utf.c: New file.
20945
20946         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
20947         * modules/iconv_open-utf: New file.
20948         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
20949         (iconv, iconv_close): New declarations.
20950         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
20951         be defined.
20952         (iconv_open): Add special handling of conversion between UTF-8 and
20953         UTF-{16,32}{BE,LE}.
20954         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
20955         * lib/iconv_close.c: New file.
20956         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
20957         gl_FUNC_ICONV_OPEN.
20958         (gl_FUNC_ICONV_OPEN): Use it.
20959         (gl_FUNC_ICONV_OPEN_UTF): New macro.
20960         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
20961         and REPLACE_ICONV_UTF.
20962         * modules/iconv_open (Depends-on): Add c-strcase.
20963         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
20964         ICONV_CONST.
20965         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
20966
20967 2007-10-13  Albert Chin  <china@thewrittenword.com>
20968             Bruno Haible  <bruno@clisp.org>
20969
20970         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
20971         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
20972
20973 2007-10-13  Bruno Haible  <bruno@clisp.org>
20974
20975         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
20976         defined, use the ISO C99 inline semantics.
20977         * lib/argp.h (ARGP_EI): Likewise.
20978
20979 2007-10-13  Bruno Haible  <bruno@clisp.org>
20980
20981         Handle 'inline' change in gcc 4.3.0.
20982         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
20983         argp_fmtstream_write, argp_fmtstream_set_lmargin,
20984         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
20985         argp_fmtstream_point): Disable 'extern' declaration if the function
20986         definition is going to be provided inline.
20987         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
20988         semantics, not the ISO C99 inline semantics.
20989         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
20990         'extern' declaration if the function definition is going to be provided
20991         inline.
20992         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
20993         the GNU C inline semantics, not the ISO C99 inline semantics. With
20994         GCC 4.2, avoid a warning.
20995
20996 2007-10-13  Bruno Haible  <bruno@clisp.org>
20997
20998         * lib/freading.h (freading): Enable the use of __freading for
20999         glibc >= 2.7.
21000         * lib/freading.c (freading): Likewise.
21001
21002 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
21003
21004         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
21005         "warning: C99 inline functions are not supported; using GNU89".
21006
21007 2007-10-12  Bruno Haible  <bruno@clisp.org>
21008
21009         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
21010         of 2.
21011         * tests/test-ceilf2.c: New file.
21012         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
21013
21014         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
21015         * modules/ceilf-tests: Update.
21016
21017 2007-10-12  Bruno Haible  <bruno@clisp.org>
21018
21019         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
21020         of 2.
21021         * tests/test-floorf2.c: New file.
21022         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
21023
21024         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
21025         * modules/floorf-tests: Update.
21026
21027 2007-10-12  Bruno Haible  <bruno@clisp.org>
21028
21029         * tests/test-trunc2.c: New file.
21030         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
21031
21032         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
21033         * modules/trunc-tests: Update.
21034
21035 2007-10-12  Bruno Haible  <bruno@clisp.org>
21036
21037         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
21038         of 2.
21039         * tests/test-truncf2.c: New file.
21040         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
21041
21042         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
21043         * modules/truncf-tests: Update.
21044
21045 2007-10-11  Eric Blake  <ebb9@byu.net>
21046
21047         Don't claim strerror is broken on Interix.
21048         * doc/functions/strerror.texi (strerror): Known broken systems are
21049         now Solaris 8, and not Interix.
21050         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
21051         Interix on cross-compile.
21052         Reported by Martin Koeppe in
21053         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
21054
21055 2007-10-11  Bruno Haible  <bruno@clisp.org>
21056
21057         * modules/i-ring-tests: New file.
21058         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
21059         instead of assert.
21060
21061 2007-10-11  Bruno Haible  <bruno@clisp.org>
21062
21063         * modules/filenamecat-tests: New file.
21064         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
21065         * lib/filenamecat.c: Remove test code.
21066
21067 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
21068
21069         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
21070
21071         * lib/strerror.c: Include <string.h> always, to test interface,
21072         and to remove the need for the dummy.
21073         Include intprops.h to compute width instead of doing it ourselves
21074         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
21075         (strerror): Define it to return NULL if there's no system strerror.
21076         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
21077         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
21078         ancient pre-strerror Unix systems well any more.  Saying "unknown
21079         system error" is enough.
21080         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
21081         simpler strerror.c implementation.
21082         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
21083         Simplify the tests to reflect the simpler strerror implementation.
21084         * modules/strerror (Depends-on): Add intprops.
21085
21086 2007-10-09  Eric Blake  <ebb9@byu.net>
21087
21088         Silence test-fpending.
21089         * modules/fpending-tests (Files): Add wrapper script.
21090         * tests/test-fpending.sh: New file.
21091
21092 2007-10-09  Bruno Haible  <bruno@clisp.org>
21093
21094         * MODULES.html.sh (func_module): Don't create a hyperlink for
21095         function names like 'printf_frexp'.
21096         (Misc): Add crc, memxor.
21097         (Characteristics of floating types): New section.
21098         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
21099         isnanf-nolibm, signbit, trunc, truncf, truncl.
21100         (Enhancements for ISO C 99 functions): New subsection Input/output.
21101         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
21102         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
21103         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
21104         (Compatibility checks for POSIX:2001 functions): Add clock-time.
21105         (Enhancements for POSIX:2001 functions): Add chdir-long.
21106         (File system functions): Add areadlink, chdir-safer, read-file.
21107         Remove cycle-check.
21108         (File system as inode set): New section.
21109         (Date and time): Add gethrxtime.
21110         (Multithreading): Add openmp.
21111         (Internationalization functions): Add localename.
21112         (Unicode string functions): Add unistr/u*-mbsnlen.
21113         (Support for maintaining and releasing projects): Add git-version-gen.
21114         (Lone files): Remove directories.
21115
21116 2007-10-08  Ben Pfaff  <blp@gnu.org>
21117
21118         * lib/xmalloca.h: Fix typo in comment.
21119
21120 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
21121
21122         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
21123         when avoiding problems with integer overflow.  Use a portable test
21124         instead.
21125
21126 2007-10-08  Simon Josefsson  <simon@josefsson.org>
21127
21128         * modules/dummy (License): Change to LGPLv2+.
21129         * modules/float (License): Likewise
21130         * modules/realloc (License): Likewise
21131         * modules/stdlib (License): Likewise
21132
21133 2007-10-07  Bruno Haible  <bruno@clisp.org>
21134
21135         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
21136         * floor.c (TWO_MANT_DIG): Likewise.
21137         * ceil.c (TWO_MANT_DIG): Likewise.
21138         Reported by Ben Pfaff.
21139
21140 2007-10-07  Bruno Haible  <bruno@clisp.org>
21141
21142         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
21143         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
21144         * lib/frexp.c (FUNC): Likewise.
21145         * lib/printf-frexp.h (printf_frexp): Likewise.
21146         * lib/printf-frexpl.h (printf_frexpl): Likewise.
21147         * lib/printf-frexp.c (FUNC): Likewise.
21148         Suggested by Jim Meyering.
21149
21150 2007-10-07  Jim Meyering  <meyering@redhat.com>
21151
21152         Make xnanosleep's integer overflow test more robust.
21153         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
21154         so that gcc-4.3.0 doesn't optimize away this test for overflow.
21155
21156 2007-10-07  Bruno Haible  <bruno@clisp.org>
21157
21158         * NEWS: Mention the license change.
21159
21160         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
21161         abbreviations in the modules files.
21162
21163         Change copyright notice from GPLv2+ to GPLv3+.
21164         * README: Change copyright notice.
21165         * MODULES.html.sh: Likewise.
21166         * build-aux/bootstrap.conf: Likewise.
21167         * build-aux/config.libpath: Likewise.
21168         * build-aux/csharpcomp.sh.in: Likewise.
21169         * build-aux/csharpexec.sh.in: Likewise.
21170         * build-aux/install-reloc: Likewise.
21171         * build-aux/javacomp.sh.in: Likewise.
21172         * build-aux/javaexec.sh.in: Likewise.
21173         * build-aux/ldd.sh.in: Likewise.
21174         * build-aux/reloc-ldflags: Likewise.
21175         * build-aux/relocatable.sh.in: Likewise.
21176         * build-aux/x-to-1.in: Likewise.
21177         * check-module: Likewise.
21178         * config/srclistvars.sh: Likewise.
21179         * gnulib-tool: Likewise.
21180         * lib/acl-internal.h: Likewise.
21181         * lib/acl.c: Likewise.
21182         * lib/acl.h: Likewise.
21183         * lib/acl_entries.c: Likewise.
21184         * lib/areadlink-with-size.c: Likewise.
21185         * lib/areadlink.c: Likewise.
21186         * lib/areadlink.h: Likewise.
21187         * lib/argmatch.c: Likewise.
21188         * lib/argmatch.h: Likewise.
21189         * lib/argp-ba.c: Likewise.
21190         * lib/argp-eexst.c: Likewise.
21191         * lib/argp-fmtstream.c: Likewise.
21192         * lib/argp-fmtstream.h: Likewise.
21193         * lib/argp-fs-xinl.c: Likewise.
21194         * lib/argp-help.c: Likewise.
21195         * lib/argp-namefrob.h: Likewise.
21196         * lib/argp-parse.c: Likewise.
21197         * lib/argp-pin.c: Likewise.
21198         * lib/argp-pv.c: Likewise.
21199         * lib/argp-pvh.c: Likewise.
21200         * lib/argp-xinl.c: Likewise.
21201         * lib/argp.h: Likewise.
21202         * lib/at-func.c: Likewise.
21203         * lib/atanl.c: Likewise.
21204         * lib/backupfile.c: Likewise.
21205         * lib/backupfile.h: Likewise.
21206         * lib/basename.c: Likewise.
21207         * lib/binary-io.h: Likewise.
21208         * lib/byteswap.in.h: Likewise.
21209         * lib/c-stack.c: Likewise.
21210         * lib/c-stack.h: Likewise.
21211         * lib/c-strcasestr.c: Likewise.
21212         * lib/c-strcasestr.h: Likewise.
21213         * lib/c-strstr.c: Likewise.
21214         * lib/c-strstr.h: Likewise.
21215         * lib/c-strtod.c: Likewise.
21216         * lib/calloc.c: Likewise.
21217         * lib/canon-host.c: Likewise.
21218         * lib/canon-host.h: Likewise.
21219         * lib/canonicalize-lgpl.c: Likewise.
21220         * lib/canonicalize.c: Likewise.
21221         * lib/canonicalize.h: Likewise.
21222         * lib/ceil.c: Likewise.
21223         * lib/ceilf.c: Likewise.
21224         * lib/ceill.c: Likewise.
21225         * lib/chdir-long.c: Likewise.
21226         * lib/chdir-long.h: Likewise.
21227         * lib/chdir-safer.c: Likewise.
21228         * lib/chdir-safer.h: Likewise.
21229         * lib/chown.c: Likewise.
21230         * lib/classpath.c: Likewise.
21231         * lib/classpath.h: Likewise.
21232         * lib/clean-temp.c: Likewise.
21233         * lib/clean-temp.h: Likewise.
21234         * lib/cloexec.c: Likewise.
21235         * lib/close-stream.c: Likewise.
21236         * lib/closein.c: Likewise.
21237         * lib/closein.h: Likewise.
21238         * lib/closeout.c: Likewise.
21239         * lib/closeout.h: Likewise.
21240         * lib/concat-filename.c: Likewise.
21241         * lib/copy-file.c: Likewise.
21242         * lib/copy-file.h: Likewise.
21243         * lib/count-one-bits.h: Likewise.
21244         * lib/crc.c: Likewise.
21245         * lib/crc.h: Likewise.
21246         * lib/creat-safer.c: Likewise.
21247         * lib/csharpcomp.c: Likewise.
21248         * lib/csharpcomp.h: Likewise.
21249         * lib/csharpexec.c: Likewise.
21250         * lib/csharpexec.h: Likewise.
21251         * lib/cycle-check.c: Likewise.
21252         * lib/cycle-check.h: Likewise.
21253         * lib/diacrit.c: Likewise.
21254         * lib/diacrit.h: Likewise.
21255         * lib/diffseq.h: Likewise.
21256         * lib/dirchownmod.c: Likewise.
21257         * lib/dirent.in.h: Likewise.
21258         * lib/dirfd.c: Likewise.
21259         * lib/dirfd.h: Likewise.
21260         * lib/dirname.c: Likewise.
21261         * lib/dirname.h: Likewise.
21262         * lib/dummy.c: Likewise.
21263         * lib/dup-safer.c: Likewise.
21264         * lib/dup2.c: Likewise.
21265         * lib/eealloc.h: Likewise.
21266         * lib/error.c: Likewise.
21267         * lib/error.h: Likewise.
21268         * lib/euidaccess.c: Likewise.
21269         * lib/exclude.c: Likewise.
21270         * lib/exclude.h: Likewise.
21271         * lib/execute.c: Likewise.
21272         * lib/execute.h: Likewise.
21273         * lib/exitfail.c: Likewise.
21274         * lib/exitfail.h: Likewise.
21275         * lib/expl.c: Likewise.
21276         * lib/fatal-signal.c: Likewise.
21277         * lib/fatal-signal.h: Likewise.
21278         * lib/fbufmode.c: Likewise.
21279         * lib/fbufmode.h: Likewise.
21280         * lib/fchdir.c: Likewise.
21281         * lib/fchmodat.c: Likewise.
21282         * lib/fchownat.c: Likewise.
21283         * lib/fcntl--.h: Likewise.
21284         * lib/fcntl-safer.h: Likewise.
21285         * lib/fcntl.in.h: Likewise.
21286         * lib/fd-safer.c: Likewise.
21287         * lib/fflush.c: Likewise.
21288         * lib/file-has-acl.c: Likewise.
21289         * lib/file-set.c: Likewise.
21290         * lib/file-type.c: Likewise.
21291         * lib/file-type.h: Likewise.
21292         * lib/fileblocks.c: Likewise.
21293         * lib/filemode.c: Likewise.
21294         * lib/filemode.h: Likewise.
21295         * lib/filename.h: Likewise.
21296         * lib/filenamecat.c: Likewise.
21297         * lib/filenamecat.h: Likewise.
21298         * lib/findprog.c: Likewise.
21299         * lib/findprog.h: Likewise.
21300         * lib/float.in.h: Likewise.
21301         * lib/floor.c: Likewise.
21302         * lib/floorf.c: Likewise.
21303         * lib/floorl.c: Likewise.
21304         * lib/fopen-safer.c: Likewise.
21305         * lib/fopen.c: Likewise.
21306         * lib/fpending.c: Likewise.
21307         * lib/fpending.h: Likewise.
21308         * lib/fprintf.c: Likewise.
21309         * lib/fprintftime.h: Likewise.
21310         * lib/fpucw.h: Likewise.
21311         * lib/fpurge.c: Likewise.
21312         * lib/fpurge.h: Likewise.
21313         * lib/freadable.c: Likewise.
21314         * lib/freadable.h: Likewise.
21315         * lib/freadahead.c: Likewise.
21316         * lib/freadahead.h: Likewise.
21317         * lib/freading.c: Likewise.
21318         * lib/freading.h: Likewise.
21319         * lib/free.c: Likewise.
21320         * lib/freopen.c: Likewise.
21321         * lib/frexp.c: Likewise.
21322         * lib/frexpl.c: Likewise.
21323         * lib/fseek.c: Likewise.
21324         * lib/fseterr.c: Likewise.
21325         * lib/fseterr.h: Likewise.
21326         * lib/fstatat.c: Likewise.
21327         * lib/fstrcmp.c: Likewise.
21328         * lib/fstrcmp.h: Likewise.
21329         * lib/fsusage.c: Likewise.
21330         * lib/fsusage.h: Likewise.
21331         * lib/ftell.c: Likewise.
21332         * lib/ftello.c: Likewise.
21333         * lib/fts-cycle.c: Likewise.
21334         * lib/fts.c: Likewise.
21335         * lib/fts_.h: Likewise.
21336         * lib/full-read.c: Likewise.
21337         * lib/full-read.h: Likewise.
21338         * lib/full-write.c: Likewise.
21339         * lib/full-write.h: Likewise.
21340         * lib/fwritable.c: Likewise.
21341         * lib/fwritable.h: Likewise.
21342         * lib/fwriteerror.c: Likewise.
21343         * lib/fwriteerror.h: Likewise.
21344         * lib/fwriting.c: Likewise.
21345         * lib/fwriting.h: Likewise.
21346         * lib/gcd.c: Likewise.
21347         * lib/gcd.h: Likewise.
21348         * lib/getcwd.c: Likewise.
21349         * lib/getdate.h: Likewise.
21350         * lib/getdate.y: Likewise.
21351         * lib/getdomainname.c: Likewise.
21352         * lib/getdomainname.h: Likewise.
21353         * lib/getgroups.c: Likewise.
21354         * lib/gethostname.c: Likewise.
21355         * lib/gethrxtime.c: Likewise.
21356         * lib/gethrxtime.h: Likewise.
21357         * lib/getloadavg.c: Likewise.
21358         * lib/getndelim2.c: Likewise.
21359         * lib/getndelim2.h: Likewise.
21360         * lib/getnline.c: Likewise.
21361         * lib/getnline.h: Likewise.
21362         * lib/getopt.c: Likewise.
21363         * lib/getopt.in.h: Likewise.
21364         * lib/getopt1.c: Likewise.
21365         * lib/getopt_int.h: Likewise.
21366         * lib/getpagesize.h: Likewise.
21367         * lib/getsubopt.c: Likewise.
21368         * lib/gettime.c: Likewise.
21369         * lib/getugroups.c: Likewise.
21370         * lib/getugroups.h: Likewise.
21371         * lib/getusershell.c: Likewise.
21372         * lib/gl_anyavltree_list1.h: Likewise.
21373         * lib/gl_anyavltree_list2.h: Likewise.
21374         * lib/gl_anyhash_list1.h: Likewise.
21375         * lib/gl_anyhash_list2.h: Likewise.
21376         * lib/gl_anylinked_list1.h: Likewise.
21377         * lib/gl_anylinked_list2.h: Likewise.
21378         * lib/gl_anyrbtree_list1.h: Likewise.
21379         * lib/gl_anyrbtree_list2.h: Likewise.
21380         * lib/gl_anytree_list1.h: Likewise.
21381         * lib/gl_anytree_list2.h: Likewise.
21382         * lib/gl_anytree_oset.h: Likewise.
21383         * lib/gl_anytreehash_list1.h: Likewise.
21384         * lib/gl_anytreehash_list2.h: Likewise.
21385         * lib/gl_array_list.c: Likewise.
21386         * lib/gl_array_list.h: Likewise.
21387         * lib/gl_array_oset.c: Likewise.
21388         * lib/gl_array_oset.h: Likewise.
21389         * lib/gl_avltree_list.c: Likewise.
21390         * lib/gl_avltree_list.h: Likewise.
21391         * lib/gl_avltree_oset.c: Likewise.
21392         * lib/gl_avltree_oset.h: Likewise.
21393         * lib/gl_avltreehash_list.c: Likewise.
21394         * lib/gl_avltreehash_list.h: Likewise.
21395         * lib/gl_carray_list.c: Likewise.
21396         * lib/gl_carray_list.h: Likewise.
21397         * lib/gl_linked_list.c: Likewise.
21398         * lib/gl_linked_list.h: Likewise.
21399         * lib/gl_linkedhash_list.c: Likewise.
21400         * lib/gl_linkedhash_list.h: Likewise.
21401         * lib/gl_list.c: Likewise.
21402         * lib/gl_list.h: Likewise.
21403         * lib/gl_oset.c: Likewise.
21404         * lib/gl_oset.h: Likewise.
21405         * lib/gl_rbtree_list.c: Likewise.
21406         * lib/gl_rbtree_list.h: Likewise.
21407         * lib/gl_rbtree_oset.c: Likewise.
21408         * lib/gl_rbtree_oset.h: Likewise.
21409         * lib/gl_rbtreehash_list.c: Likewise.
21410         * lib/gl_rbtreehash_list.h: Likewise.
21411         * lib/gl_sublist.c: Likewise.
21412         * lib/gl_sublist.h: Likewise.
21413         * lib/group-member.c: Likewise.
21414         * lib/group-member.h: Likewise.
21415         * lib/hard-locale.c: Likewise.
21416         * lib/hard-locale.h: Likewise.
21417         * lib/hash-pjw.c: Likewise.
21418         * lib/hash-pjw.h: Likewise.
21419         * lib/hash-triple.c: Likewise.
21420         * lib/hash.c: Likewise.
21421         * lib/hash.h: Likewise.
21422         * lib/human.c: Likewise.
21423         * lib/human.h: Likewise.
21424         * lib/i-ring.c: Likewise.
21425         * lib/i-ring.h: Likewise.
21426         * lib/idcache.c: Likewise.
21427         * lib/imaxabs.c: Likewise.
21428         * lib/imaxdiv.c: Likewise.
21429         * lib/inet_pton.c: Likewise.
21430         * lib/inet_pton.h: Likewise.
21431         * lib/intprops.h: Likewise.
21432         * lib/inttostr.c: Likewise.
21433         * lib/inttostr.h: Likewise.
21434         * lib/inttypes.in.h: Likewise.
21435         * lib/isapipe.c: Likewise.
21436         * lib/isdir.c: Likewise.
21437         * lib/isnan.c: Likewise.
21438         * lib/isnan.h: Likewise.
21439         * lib/isnanf.c: Likewise.
21440         * lib/isnanf.h: Likewise.
21441         * lib/isnanl-nolibm.h: Likewise.
21442         * lib/isnanl.c: Likewise.
21443         * lib/isnanl.h: Likewise.
21444         * lib/javacomp.c: Likewise.
21445         * lib/javacomp.h: Likewise.
21446         * lib/javaexec.c: Likewise.
21447         * lib/javaexec.h: Likewise.
21448         * lib/javaversion.c: Likewise.
21449         * lib/javaversion.h: Likewise.
21450         * lib/javaversion.java: Likewise.
21451         * lib/lbrkprop.h: Likewise.
21452         * lib/lchmod.h: Likewise.
21453         * lib/lchown.c: Likewise.
21454         * lib/ldexpl.c: Likewise.
21455         * lib/linebreak.c: Likewise.
21456         * lib/linebreak.h: Likewise.
21457         * lib/linebuffer.c: Likewise.
21458         * lib/linebuffer.h: Likewise.
21459         * lib/locale.in.h: Likewise.
21460         * lib/logl.c: Likewise.
21461         * lib/long-options.c: Likewise.
21462         * lib/long-options.h: Likewise.
21463         * lib/lstat.c: Likewise.
21464         * lib/lstat.h: Likewise.
21465         * lib/math.in.h: Likewise.
21466         * lib/mbchar.c: Likewise.
21467         * lib/mbchar.h: Likewise.
21468         * lib/mbfile.h: Likewise.
21469         * lib/mbiter.h: Likewise.
21470         * lib/mbscasecmp.c: Likewise.
21471         * lib/mbscasestr.c: Likewise.
21472         * lib/mbschr.c: Likewise.
21473         * lib/mbscspn.c: Likewise.
21474         * lib/mbslen.c: Likewise.
21475         * lib/mbsncasecmp.c: Likewise.
21476         * lib/mbsnlen.c: Likewise.
21477         * lib/mbspbrk.c: Likewise.
21478         * lib/mbspcasecmp.c: Likewise.
21479         * lib/mbsrchr.c: Likewise.
21480         * lib/mbssep.c: Likewise.
21481         * lib/mbsspn.c: Likewise.
21482         * lib/mbsstr.c: Likewise.
21483         * lib/mbstok_r.c: Likewise.
21484         * lib/mbswidth.c: Likewise.
21485         * lib/mbswidth.h: Likewise.
21486         * lib/mbuiter.h: Likewise.
21487         * lib/memcasecmp.c: Likewise.
21488         * lib/memcasecmp.h: Likewise.
21489         * lib/memchr.c: Likewise.
21490         * lib/memcmp.c: Likewise.
21491         * lib/memcoll.c: Likewise.
21492         * lib/memcoll.h: Likewise.
21493         * lib/memcpy.c: Likewise.
21494         * lib/memrchr.c: Likewise.
21495         * lib/mkancesdirs.c: Likewise.
21496         * lib/mkdir-p.c: Likewise.
21497         * lib/mkdir-p.h: Likewise.
21498         * lib/mkdir.c: Likewise.
21499         * lib/mkdirat.c: Likewise.
21500         * lib/mkdtemp.c: Likewise.
21501         * lib/mkstemp-safer.c: Likewise.
21502         * lib/mkstemp.c: Likewise.
21503         * lib/modechange.c: Likewise.
21504         * lib/modechange.h: Likewise.
21505         * lib/mountlist.c: Likewise.
21506         * lib/mountlist.h: Likewise.
21507         * lib/mpsort.c: Likewise.
21508         * lib/nanosleep.c: Likewise.
21509         * lib/obstack.c: Likewise.
21510         * lib/obstack.h: Likewise.
21511         * lib/open-safer.c: Likewise.
21512         * lib/open.c: Likewise.
21513         * lib/openat-die.c: Likewise.
21514         * lib/openat-priv.h: Likewise.
21515         * lib/openat-proc.c: Likewise.
21516         * lib/openat.c: Likewise.
21517         * lib/openat.h: Likewise.
21518         * lib/pagealign_alloc.c: Likewise.
21519         * lib/pagealign_alloc.h: Likewise.
21520         * lib/physmem.c: Likewise.
21521         * lib/physmem.h: Likewise.
21522         * lib/pipe-safer.c: Likewise.
21523         * lib/pipe.c: Likewise.
21524         * lib/pipe.h: Likewise.
21525         * lib/posixtm.c: Likewise.
21526         * lib/posixtm.h: Likewise.
21527         * lib/posixver.c: Likewise.
21528         * lib/printf-frexp.c: Likewise.
21529         * lib/printf-frexp.h: Likewise.
21530         * lib/printf-frexpl.c: Likewise.
21531         * lib/printf-frexpl.h: Likewise.
21532         * lib/printf.c: Likewise.
21533         * lib/progname.c: Likewise.
21534         * lib/progname.h: Likewise.
21535         * lib/progreloc.c: Likewise.
21536         * lib/putenv.c: Likewise.
21537         * lib/quote.c: Likewise.
21538         * lib/quote.h: Likewise.
21539         * lib/quotearg.c: Likewise.
21540         * lib/quotearg.h: Likewise.
21541         * lib/raise.c: Likewise.
21542         * lib/readline.c: Likewise.
21543         * lib/readline.h: Likewise.
21544         * lib/readlink.c: Likewise.
21545         * lib/readtokens.c: Likewise.
21546         * lib/readtokens.h: Likewise.
21547         * lib/readtokens0.c: Likewise.
21548         * lib/readtokens0.h: Likewise.
21549         * lib/readutmp.c: Likewise.
21550         * lib/readutmp.h: Likewise.
21551         * lib/realloc.c: Likewise.
21552         * lib/relocwrapper.c: Likewise.
21553         * lib/rename-dest-slash.c: Likewise.
21554         * lib/rename.c: Likewise.
21555         * lib/rmdir.c: Likewise.
21556         * lib/rpmatch.c: Likewise.
21557         * lib/safe-read.c: Likewise.
21558         * lib/safe-read.h: Likewise.
21559         * lib/safe-write.c: Likewise.
21560         * lib/safe-write.h: Likewise.
21561         * lib/same-inode.h: Likewise.
21562         * lib/same.c: Likewise.
21563         * lib/same.h: Likewise.
21564         * lib/save-cwd.c: Likewise.
21565         * lib/save-cwd.h: Likewise.
21566         * lib/savedir.c: Likewise.
21567         * lib/savedir.h: Likewise.
21568         * lib/savewd.c: Likewise.
21569         * lib/savewd.h: Likewise.
21570         * lib/search.in.h: Likewise.
21571         * lib/setenv.c: Likewise.
21572         * lib/setenv.h: Likewise.
21573         * lib/settime.c: Likewise.
21574         * lib/sh-quote.c: Likewise.
21575         * lib/sh-quote.h: Likewise.
21576         * lib/sig2str.c: Likewise.
21577         * lib/sig2str.h: Likewise.
21578         * lib/signal.in.h: Likewise.
21579         * lib/signbitd.c: Likewise.
21580         * lib/signbitf.c: Likewise.
21581         * lib/signbitl.c: Likewise.
21582         * lib/sigprocmask.c: Likewise.
21583         * lib/sincosl.c: Likewise.
21584         * lib/sleep.c: Likewise.
21585         * lib/sprintf.c: Likewise.
21586         * lib/sqrtl.c: Likewise.
21587         * lib/stat-time.h: Likewise.
21588         * lib/stdio--.h: Likewise.
21589         * lib/stdio-safer.h: Likewise.
21590         * lib/stdlib--.h: Likewise.
21591         * lib/stdlib-safer.h: Likewise.
21592         * lib/stdlib.in.h: Likewise.
21593         * lib/stpcpy.c: Likewise.
21594         * lib/stpncpy.c: Likewise.
21595         * lib/strchrnul.c: Likewise.
21596         * lib/strcspn.c: Likewise.
21597         * lib/strerror.c: Likewise.
21598         * lib/strftime.c: Likewise.
21599         * lib/strftime.h: Likewise.
21600         * lib/striconveh.c: Likewise.
21601         * lib/striconveh.h: Likewise.
21602         * lib/striconveha.c: Likewise.
21603         * lib/striconveha.h: Likewise.
21604         * lib/stripslash.c: Likewise.
21605         * lib/strnlen1.c: Likewise.
21606         * lib/strnlen1.h: Likewise.
21607         * lib/strtod.c: Likewise.
21608         * lib/strtoimax.c: Likewise.
21609         * lib/strtok_r.c: Likewise.
21610         * lib/strtol.c: Likewise.
21611         * lib/strtoll.c: Likewise.
21612         * lib/strtoul.c: Likewise.
21613         * lib/strtoull.c: Likewise.
21614         * lib/sysexits.in.h: Likewise.
21615         * lib/tempname.c: Likewise.
21616         * lib/tempname.h: Likewise.
21617         * lib/timespec.h: Likewise.
21618         * lib/tls.c: Likewise.
21619         * lib/tls.h: Likewise.
21620         * lib/tmpdir.c: Likewise.
21621         * lib/tmpdir.h: Likewise.
21622         * lib/tmpfile-safer.c: Likewise.
21623         * lib/tmpfile.c: Likewise.
21624         * lib/trigl.c: Likewise.
21625         * lib/trigl.h: Likewise.
21626         * lib/trim.c: Likewise.
21627         * lib/trim.h: Likewise.
21628         * lib/trunc.c: Likewise.
21629         * lib/truncf.c: Likewise.
21630         * lib/truncl.c: Likewise.
21631         * lib/tsearch.c: Likewise.
21632         * lib/unicodeio.c: Likewise.
21633         * lib/unicodeio.h: Likewise.
21634         * lib/unistd--.h: Likewise.
21635         * lib/unistd-safer.h: Likewise.
21636         * lib/unistdio/ulc-fprintf.c: Likewise.
21637         * lib/unistdio/ulc-vfprintf.c: Likewise.
21638         * lib/unlinkdir.c: Likewise.
21639         * lib/unlinkdir.h: Likewise.
21640         * lib/unlocked-io.h: Likewise.
21641         * lib/unsetenv.c: Likewise.
21642         * lib/userspec.c: Likewise.
21643         * lib/utime.c: Likewise.
21644         * lib/utimecmp.c: Likewise.
21645         * lib/utimecmp.h: Likewise.
21646         * lib/utimens.c: Likewise.
21647         * lib/verify.h: Likewise.
21648         * lib/verror.c: Likewise.
21649         * lib/verror.h: Likewise.
21650         * lib/version-etc-fsf.c: Likewise.
21651         * lib/version-etc.c: Likewise.
21652         * lib/version-etc.h: Likewise.
21653         * lib/vfprintf.c: Likewise.
21654         * lib/vprintf.c: Likewise.
21655         * lib/vsprintf.c: Likewise.
21656         * lib/w32spawn.h: Likewise.
21657         * lib/wait-process.c: Likewise.
21658         * lib/wait-process.h: Likewise.
21659         * lib/wcwidth.c: Likewise.
21660         * lib/write-any-file.c: Likewise.
21661         * lib/xalloc-die.c: Likewise.
21662         * lib/xalloc.h: Likewise.
21663         * lib/xasprintf.c: Likewise.
21664         * lib/xgetcwd.c: Likewise.
21665         * lib/xgetcwd.h: Likewise.
21666         * lib/xgetdomainname.c: Likewise.
21667         * lib/xgetdomainname.h: Likewise.
21668         * lib/xgethostname.c: Likewise.
21669         * lib/xmalloc.c: Likewise.
21670         * lib/xmalloca.c: Likewise.
21671         * lib/xmalloca.h: Likewise.
21672         * lib/xmemcoll.c: Likewise.
21673         * lib/xnanosleep.c: Likewise.
21674         * lib/xreadlink.c: Likewise.
21675         * lib/xreadlink.h: Likewise.
21676         * lib/xsetenv.c: Likewise.
21677         * lib/xsetenv.h: Likewise.
21678         * lib/xstriconv.c: Likewise.
21679         * lib/xstriconv.h: Likewise.
21680         * lib/xstrndup.c: Likewise.
21681         * lib/xstrndup.h: Likewise.
21682         * lib/xstrtod.c: Likewise.
21683         * lib/xstrtod.h: Likewise.
21684         * lib/xstrtol-error.c: Likewise.
21685         * lib/xstrtol.c: Likewise.
21686         * lib/xstrtol.h: Likewise.
21687         * lib/xtime.h: Likewise.
21688         * lib/xvasprintf.c: Likewise.
21689         * lib/xvasprintf.h: Likewise.
21690         * lib/yesno.c: Likewise.
21691         * lib/yesno.h: Likewise.
21692         * posix-modules: Likewise.
21693         * tests/test-alloca-opt.c: Likewise.
21694         * tests/test-arcfour.c: Likewise.
21695         * tests/test-arctwo.c: Likewise.
21696         * tests/test-argmatch.c: Likewise.
21697         * tests/test-argp-2.sh: Likewise.
21698         * tests/test-argp.c: Likewise.
21699         * tests/test-arpa_inet.c: Likewise.
21700         * tests/test-array_list.c: Likewise.
21701         * tests/test-array_oset.c: Likewise.
21702         * tests/test-atexit.c: Likewise.
21703         * tests/test-avltree_list.c: Likewise.
21704         * tests/test-avltree_oset.c: Likewise.
21705         * tests/test-avltreehash_list.c: Likewise.
21706         * tests/test-base64.c: Likewise.
21707         * tests/test-binary-io.c: Likewise.
21708         * tests/test-byteswap.c: Likewise.
21709         * tests/test-c-ctype.c: Likewise.
21710         * tests/test-c-strcasecmp.c: Likewise.
21711         * tests/test-c-strcasestr.c: Likewise.
21712         * tests/test-c-strncasecmp.c: Likewise.
21713         * tests/test-c-strstr.c: Likewise.
21714         * tests/test-canonicalize-lgpl.c: Likewise.
21715         * tests/test-canonicalize.c: Likewise.
21716         * tests/test-carray_list.c: Likewise.
21717         * tests/test-ceilf.c: Likewise.
21718         * tests/test-ceill.c: Likewise.
21719         * tests/test-count-one-bits.c: Likewise.
21720         * tests/test-crc.c: Likewise.
21721         * tests/test-dirname.c: Likewise.
21722         * tests/test-fbufmode.c: Likewise.
21723         * tests/test-fcntl.c: Likewise.
21724         * tests/test-fflush.c: Likewise.
21725         * tests/test-floorf.c: Likewise.
21726         * tests/test-floorl.c: Likewise.
21727         * tests/test-fopen.c: Likewise.
21728         * tests/test-fprintf-posix.c: Likewise.
21729         * tests/test-fprintf-posix.h: Likewise.
21730         * tests/test-fpurge.c: Likewise.
21731         * tests/test-freadable.c: Likewise.
21732         * tests/test-freadahead.c: Likewise.
21733         * tests/test-freading.c: Likewise.
21734         * tests/test-freopen.c: Likewise.
21735         * tests/test-frexp.c: Likewise.
21736         * tests/test-frexpl.c: Likewise.
21737         * tests/test-fseek.c: Likewise.
21738         * tests/test-fseeko.c: Likewise.
21739         * tests/test-fseterr.c: Likewise.
21740         * tests/test-fstrcmp.c: Likewise.
21741         * tests/test-ftell.c: Likewise.
21742         * tests/test-ftello.c: Likewise.
21743         * tests/test-fwritable.c: Likewise.
21744         * tests/test-fwriting.c: Likewise.
21745         * tests/test-getaddrinfo.c: Likewise.
21746         * tests/test-getpass.c: Likewise.
21747         * tests/test-gettimeofday.c: Likewise.
21748         * tests/test-hmac-md5.c: Likewise.
21749         * tests/test-hmac-sha1.c: Likewise.
21750         * tests/test-iconv.c: Likewise.
21751         * tests/test-iconvme.c: Likewise.
21752         * tests/test-inttypes.c: Likewise.
21753         * tests/test-isnan.c: Likewise.
21754         * tests/test-isnanf.c: Likewise.
21755         * tests/test-isnanl-nolibm.c: Likewise.
21756         * tests/test-isnanl.c: Likewise.
21757         * tests/test-isnanl.h: Likewise.
21758         * tests/test-ldexpl.c: Likewise.
21759         * tests/test-linked_list.c: Likewise.
21760         * tests/test-linkedhash_list.c: Likewise.
21761         * tests/test-locale.c: Likewise.
21762         * tests/test-localename.c: Likewise.
21763         * tests/test-lock.c: Likewise.
21764         * tests/test-lseek.c: Likewise.
21765         * tests/test-malloca.c: Likewise.
21766         * tests/test-math.c: Likewise.
21767         * tests/test-mbscasecmp.c: Likewise.
21768         * tests/test-mbscasestr1.c: Likewise.
21769         * tests/test-mbscasestr2.c: Likewise.
21770         * tests/test-mbscasestr3.c: Likewise.
21771         * tests/test-mbscasestr4.c: Likewise.
21772         * tests/test-mbschr.c: Likewise.
21773         * tests/test-mbscspn.c: Likewise.
21774         * tests/test-mbsncasecmp.c: Likewise.
21775         * tests/test-mbspbrk.c: Likewise.
21776         * tests/test-mbspcasecmp.c: Likewise.
21777         * tests/test-mbsrchr.c: Likewise.
21778         * tests/test-mbsspn.c: Likewise.
21779         * tests/test-mbsstr1.c: Likewise.
21780         * tests/test-mbsstr2.c: Likewise.
21781         * tests/test-mbsstr3.c: Likewise.
21782         * tests/test-md5.c: Likewise.
21783         * tests/test-memmem.c: Likewise.
21784         * tests/test-netinet_in.c: Likewise.
21785         * tests/test-open.c: Likewise.
21786         * tests/test-printf-frexp.c: Likewise.
21787         * tests/test-printf-frexpl.c: Likewise.
21788         * tests/test-printf-posix.c: Likewise.
21789         * tests/test-printf-posix.h: Likewise.
21790         * tests/test-rbtree_list.c: Likewise.
21791         * tests/test-rbtree_oset.c: Likewise.
21792         * tests/test-rbtreehash_list.c: Likewise.
21793         * tests/test-read-file.c: Likewise.
21794         * tests/test-rijndael.c: Likewise.
21795         * tests/test-search.c: Likewise.
21796         * tests/test-signbit.c: Likewise.
21797         * tests/test-sleep.c: Likewise.
21798         * tests/test-snprintf-posix.c: Likewise.
21799         * tests/test-snprintf-posix.h: Likewise.
21800         * tests/test-snprintf.c: Likewise.
21801         * tests/test-sprintf-posix.c: Likewise.
21802         * tests/test-sprintf-posix.h: Likewise.
21803         * tests/test-stat-time.c: Likewise.
21804         * tests/test-stdbool.c: Likewise.
21805         * tests/test-stdint.c: Likewise.
21806         * tests/test-stdio.c: Likewise.
21807         * tests/test-stdlib.c: Likewise.
21808         * tests/test-stpncpy.c: Likewise.
21809         * tests/test-strcasestr.c: Likewise.
21810         * tests/test-striconv.c: Likewise.
21811         * tests/test-striconveh.c: Likewise.
21812         * tests/test-striconveha.c: Likewise.
21813         * tests/test-string.c: Likewise.
21814         * tests/test-sys_select.c: Likewise.
21815         * tests/test-sys_socket.c: Likewise.
21816         * tests/test-sys_stat.c: Likewise.
21817         * tests/test-sys_time.c: Likewise.
21818         * tests/test-sysexits.c: Likewise.
21819         * tests/test-time.c: Likewise.
21820         * tests/test-tls.c: Likewise.
21821         * tests/test-trunc.c: Likewise.
21822         * tests/test-truncf.c: Likewise.
21823         * tests/test-truncl.c: Likewise.
21824         * tests/test-unistd.c: Likewise.
21825         * tests/test-vasnprintf-posix.c: Likewise.
21826         * tests/test-vasnprintf-posix2.c: Likewise.
21827         * tests/test-vasnprintf.c: Likewise.
21828         * tests/test-vasprintf-posix.c: Likewise.
21829         * tests/test-vasprintf.c: Likewise.
21830         * tests/test-verify.c: Likewise.
21831         * tests/test-vfprintf-posix.c: Likewise.
21832         * tests/test-vprintf-posix.c: Likewise.
21833         * tests/test-vsnprintf-posix.c: Likewise.
21834         * tests/test-vsnprintf.c: Likewise.
21835         * tests/test-vsprintf-posix.c: Likewise.
21836         * tests/test-wchar.c: Likewise.
21837         * tests/test-wctype.c: Likewise.
21838         * tests/test-wcwidth.c: Likewise.
21839         * tests/test-xstrtol.c: Likewise.
21840         * tests/test-xvasprintf.c: Likewise.
21841         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
21842         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
21843         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
21844         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
21845         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
21846         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
21847         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
21848         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
21849         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
21850         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
21851         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
21852         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
21853         * tests/uniname/test-uninames.c: Likewise.
21854         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
21855         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
21856         * tests/unistdio/test-u16-printf1.h: Likewise.
21857         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
21858         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
21859         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
21860         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
21861         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
21862         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
21863         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
21864         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
21865         * tests/unistdio/test-u32-printf1.h: Likewise.
21866         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
21867         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
21868         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
21869         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
21870         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
21871         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
21872         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
21873         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
21874         * tests/unistdio/test-u8-printf1.h: Likewise.
21875         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
21876         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
21877         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
21878         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
21879         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
21880         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
21881         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
21882         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
21883         * tests/unistdio/test-ulc-printf1.h: Likewise.
21884         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
21885         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
21886         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
21887         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
21888         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
21889         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
21890         * tests/uniwidth/test-u16-strwidth.c: Likewise.
21891         * tests/uniwidth/test-u16-width.c: Likewise.
21892         * tests/uniwidth/test-u32-strwidth.c: Likewise.
21893         * tests/uniwidth/test-u32-width.c: Likewise.
21894         * tests/uniwidth/test-u8-strwidth.c: Likewise.
21895         * tests/uniwidth/test-u8-width.c: Likewise.
21896         * tests/uniwidth/test-uc_width.c: Likewise.
21897         * config/srclist-update: Likewise.
21898         (fixlicense): Update to GPLv3+.
21899
21900         Change copyright notice from LGPLv2.1+ to LGPLv3+.
21901         * tests/test-tsearch.c: Change copyright notice.
21902
21903         Change copyright notice from LGPLv2.0+ to LGPLv3+.
21904         * lib/c-strcaseeq.h: Change copyright notice.
21905         * lib/streq.h: Likewise.
21906         * lib/uniconv.h: Likewise.
21907         * lib/uniconv/u-conv-from-enc.h: Likewise.
21908         * lib/uniconv/u-conv-to-enc.h: Likewise.
21909         * lib/uniconv/u-strconv-from-enc.h: Likewise.
21910         * lib/uniconv/u-strconv-to-enc.h: Likewise.
21911         * lib/uniconv/u16-conv-from-enc.c: Likewise.
21912         * lib/uniconv/u16-conv-to-enc.c: Likewise.
21913         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
21914         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
21915         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
21916         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
21917         * lib/uniconv/u32-conv-from-enc.c: Likewise.
21918         * lib/uniconv/u32-conv-to-enc.c: Likewise.
21919         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
21920         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
21921         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
21922         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
21923         * lib/uniconv/u8-conv-from-enc.c: Likewise.
21924         * lib/uniconv/u8-conv-to-enc.c: Likewise.
21925         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
21926         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
21927         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
21928         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
21929         * lib/uniname.h: Likewise.
21930         * lib/uniname/uniname.c: Likewise.
21931         * lib/unistdio.h: Likewise.
21932         * lib/unistdio/u-asnprintf.h: Likewise.
21933         * lib/unistdio/u-asprintf.h: Likewise.
21934         * lib/unistdio/u-printf-args.c: Likewise.
21935         * lib/unistdio/u-printf-args.h: Likewise.
21936         * lib/unistdio/u-printf-parse.h: Likewise.
21937         * lib/unistdio/u-snprintf.h: Likewise.
21938         * lib/unistdio/u-sprintf.h: Likewise.
21939         * lib/unistdio/u-vasprintf.h: Likewise.
21940         * lib/unistdio/u-vsnprintf.h: Likewise.
21941         * lib/unistdio/u-vsprintf.h: Likewise.
21942         * lib/unistdio/u16-asnprintf.c: Likewise.
21943         * lib/unistdio/u16-asprintf.c: Likewise.
21944         * lib/unistdio/u16-printf-parse.c: Likewise.
21945         * lib/unistdio/u16-snprintf.c: Likewise.
21946         * lib/unistdio/u16-sprintf.c: Likewise.
21947         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
21948         * lib/unistdio/u16-u16-asprintf.c: Likewise.
21949         * lib/unistdio/u16-u16-snprintf.c: Likewise.
21950         * lib/unistdio/u16-u16-sprintf.c: Likewise.
21951         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
21952         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
21953         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
21954         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
21955         * lib/unistdio/u16-vasnprintf.c: Likewise.
21956         * lib/unistdio/u16-vasprintf.c: Likewise.
21957         * lib/unistdio/u16-vsnprintf.c: Likewise.
21958         * lib/unistdio/u16-vsprintf.c: Likewise.
21959         * lib/unistdio/u32-asnprintf.c: Likewise.
21960         * lib/unistdio/u32-asprintf.c: Likewise.
21961         * lib/unistdio/u32-printf-parse.c: Likewise.
21962         * lib/unistdio/u32-snprintf.c: Likewise.
21963         * lib/unistdio/u32-sprintf.c: Likewise.
21964         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
21965         * lib/unistdio/u32-u32-asprintf.c: Likewise.
21966         * lib/unistdio/u32-u32-snprintf.c: Likewise.
21967         * lib/unistdio/u32-u32-sprintf.c: Likewise.
21968         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
21969         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
21970         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
21971         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
21972         * lib/unistdio/u32-vasnprintf.c: Likewise.
21973         * lib/unistdio/u32-vasprintf.c: Likewise.
21974         * lib/unistdio/u32-vsnprintf.c: Likewise.
21975         * lib/unistdio/u32-vsprintf.c: Likewise.
21976         * lib/unistdio/u8-asnprintf.c: Likewise.
21977         * lib/unistdio/u8-asprintf.c: Likewise.
21978         * lib/unistdio/u8-printf-parse.c: Likewise.
21979         * lib/unistdio/u8-snprintf.c: Likewise.
21980         * lib/unistdio/u8-sprintf.c: Likewise.
21981         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
21982         * lib/unistdio/u8-u8-asprintf.c: Likewise.
21983         * lib/unistdio/u8-u8-snprintf.c: Likewise.
21984         * lib/unistdio/u8-u8-sprintf.c: Likewise.
21985         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
21986         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
21987         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
21988         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
21989         * lib/unistdio/u8-vasnprintf.c: Likewise.
21990         * lib/unistdio/u8-vasprintf.c: Likewise.
21991         * lib/unistdio/u8-vsnprintf.c: Likewise.
21992         * lib/unistdio/u8-vsprintf.c: Likewise.
21993         * lib/unistdio/ulc-asnprintf.c: Likewise.
21994         * lib/unistdio/ulc-asprintf.c: Likewise.
21995         * lib/unistdio/ulc-printf-parse.c: Likewise.
21996         * lib/unistdio/ulc-snprintf.c: Likewise.
21997         * lib/unistdio/ulc-sprintf.c: Likewise.
21998         * lib/unistdio/ulc-vasnprintf.c: Likewise.
21999         * lib/unistdio/ulc-vasprintf.c: Likewise.
22000         * lib/unistdio/ulc-vsnprintf.c: Likewise.
22001         * lib/unistdio/ulc-vsprintf.c: Likewise.
22002         * lib/unistr.h: Likewise.
22003         * lib/unistr/u-cpy-alloc.h: Likewise.
22004         * lib/unistr/u-cpy.h: Likewise.
22005         * lib/unistr/u-endswith.h: Likewise.
22006         * lib/unistr/u-move.h: Likewise.
22007         * lib/unistr/u-set.h: Likewise.
22008         * lib/unistr/u-startswith.h: Likewise.
22009         * lib/unistr/u-stpcpy.h: Likewise.
22010         * lib/unistr/u-stpncpy.h: Likewise.
22011         * lib/unistr/u-strcat.h: Likewise.
22012         * lib/unistr/u-strcpy.h: Likewise.
22013         * lib/unistr/u-strcspn.h: Likewise.
22014         * lib/unistr/u-strdup.h: Likewise.
22015         * lib/unistr/u-strlen.h: Likewise.
22016         * lib/unistr/u-strncat.h: Likewise.
22017         * lib/unistr/u-strncpy.h: Likewise.
22018         * lib/unistr/u-strnlen.h: Likewise.
22019         * lib/unistr/u-strpbrk.h: Likewise.
22020         * lib/unistr/u-strspn.h: Likewise.
22021         * lib/unistr/u-strstr.h: Likewise.
22022         * lib/unistr/u-strtok.h: Likewise.
22023         * lib/unistr/u16-check.c: Likewise.
22024         * lib/unistr/u16-chr.c: Likewise.
22025         * lib/unistr/u16-cmp.c: Likewise.
22026         * lib/unistr/u16-cpy-alloc.c: Likewise.
22027         * lib/unistr/u16-cpy.c: Likewise.
22028         * lib/unistr/u16-endswith.c: Likewise.
22029         * lib/unistr/u16-mblen.c: Likewise.
22030         * lib/unistr/u16-mbsnlen.c: Likewise.
22031         * lib/unistr/u16-mbtouc-aux.c: Likewise.
22032         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
22033         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
22034         * lib/unistr/u16-mbtouc.c: Likewise.
22035         * lib/unistr/u16-mbtoucr.c: Likewise.
22036         * lib/unistr/u16-move.c: Likewise.
22037         * lib/unistr/u16-next.c: Likewise.
22038         * lib/unistr/u16-prev.c: Likewise.
22039         * lib/unistr/u16-set.c: Likewise.
22040         * lib/unistr/u16-startswith.c: Likewise.
22041         * lib/unistr/u16-stpcpy.c: Likewise.
22042         * lib/unistr/u16-stpncpy.c: Likewise.
22043         * lib/unistr/u16-strcat.c: Likewise.
22044         * lib/unistr/u16-strchr.c: Likewise.
22045         * lib/unistr/u16-strcmp.c: Likewise.
22046         * lib/unistr/u16-strcpy.c: Likewise.
22047         * lib/unistr/u16-strcspn.c: Likewise.
22048         * lib/unistr/u16-strdup.c: Likewise.
22049         * lib/unistr/u16-strlen.c: Likewise.
22050         * lib/unistr/u16-strmblen.c: Likewise.
22051         * lib/unistr/u16-strmbtouc.c: Likewise.
22052         * lib/unistr/u16-strncat.c: Likewise.
22053         * lib/unistr/u16-strncmp.c: Likewise.
22054         * lib/unistr/u16-strncpy.c: Likewise.
22055         * lib/unistr/u16-strnlen.c: Likewise.
22056         * lib/unistr/u16-strpbrk.c: Likewise.
22057         * lib/unistr/u16-strrchr.c: Likewise.
22058         * lib/unistr/u16-strspn.c: Likewise.
22059         * lib/unistr/u16-strstr.c: Likewise.
22060         * lib/unistr/u16-strtok.c: Likewise.
22061         * lib/unistr/u16-to-u32.c: Likewise.
22062         * lib/unistr/u16-to-u8.c: Likewise.
22063         * lib/unistr/u16-uctomb-aux.c: Likewise.
22064         * lib/unistr/u16-uctomb.c: Likewise.
22065         * lib/unistr/u32-check.c: Likewise.
22066         * lib/unistr/u32-chr.c: Likewise.
22067         * lib/unistr/u32-cmp.c: Likewise.
22068         * lib/unistr/u32-cpy-alloc.c: Likewise.
22069         * lib/unistr/u32-cpy.c: Likewise.
22070         * lib/unistr/u32-endswith.c: Likewise.
22071         * lib/unistr/u32-mblen.c: Likewise.
22072         * lib/unistr/u32-mbsnlen.c: Likewise.
22073         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
22074         * lib/unistr/u32-mbtouc.c: Likewise.
22075         * lib/unistr/u32-mbtoucr.c: Likewise.
22076         * lib/unistr/u32-move.c: Likewise.
22077         * lib/unistr/u32-next.c: Likewise.
22078         * lib/unistr/u32-prev.c: Likewise.
22079         * lib/unistr/u32-set.c: Likewise.
22080         * lib/unistr/u32-startswith.c: Likewise.
22081         * lib/unistr/u32-stpcpy.c: Likewise.
22082         * lib/unistr/u32-stpncpy.c: Likewise.
22083         * lib/unistr/u32-strcat.c: Likewise.
22084         * lib/unistr/u32-strchr.c: Likewise.
22085         * lib/unistr/u32-strcmp.c: Likewise.
22086         * lib/unistr/u32-strcpy.c: Likewise.
22087         * lib/unistr/u32-strcspn.c: Likewise.
22088         * lib/unistr/u32-strdup.c: Likewise.
22089         * lib/unistr/u32-strlen.c: Likewise.
22090         * lib/unistr/u32-strmblen.c: Likewise.
22091         * lib/unistr/u32-strmbtouc.c: Likewise.
22092         * lib/unistr/u32-strncat.c: Likewise.
22093         * lib/unistr/u32-strncmp.c: Likewise.
22094         * lib/unistr/u32-strncpy.c: Likewise.
22095         * lib/unistr/u32-strnlen.c: Likewise.
22096         * lib/unistr/u32-strpbrk.c: Likewise.
22097         * lib/unistr/u32-strrchr.c: Likewise.
22098         * lib/unistr/u32-strspn.c: Likewise.
22099         * lib/unistr/u32-strstr.c: Likewise.
22100         * lib/unistr/u32-strtok.c: Likewise.
22101         * lib/unistr/u32-to-u16.c: Likewise.
22102         * lib/unistr/u32-to-u8.c: Likewise.
22103         * lib/unistr/u32-uctomb.c: Likewise.
22104         * lib/unistr/u8-check.c: Likewise.
22105         * lib/unistr/u8-chr.c: Likewise.
22106         * lib/unistr/u8-cmp.c: Likewise.
22107         * lib/unistr/u8-cpy-alloc.c: Likewise.
22108         * lib/unistr/u8-cpy.c: Likewise.
22109         * lib/unistr/u8-endswith.c: Likewise.
22110         * lib/unistr/u8-mblen.c: Likewise.
22111         * lib/unistr/u8-mbsnlen.c: Likewise.
22112         * lib/unistr/u8-mbtouc-aux.c: Likewise.
22113         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
22114         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
22115         * lib/unistr/u8-mbtouc.c: Likewise.
22116         * lib/unistr/u8-mbtoucr.c: Likewise.
22117         * lib/unistr/u8-move.c: Likewise.
22118         * lib/unistr/u8-next.c: Likewise.
22119         * lib/unistr/u8-prev.c: Likewise.
22120         * lib/unistr/u8-set.c: Likewise.
22121         * lib/unistr/u8-startswith.c: Likewise.
22122         * lib/unistr/u8-stpcpy.c: Likewise.
22123         * lib/unistr/u8-stpncpy.c: Likewise.
22124         * lib/unistr/u8-strcat.c: Likewise.
22125         * lib/unistr/u8-strchr.c: Likewise.
22126         * lib/unistr/u8-strcmp.c: Likewise.
22127         * lib/unistr/u8-strcpy.c: Likewise.
22128         * lib/unistr/u8-strcspn.c: Likewise.
22129         * lib/unistr/u8-strdup.c: Likewise.
22130         * lib/unistr/u8-strlen.c: Likewise.
22131         * lib/unistr/u8-strmblen.c: Likewise.
22132         * lib/unistr/u8-strmbtouc.c: Likewise.
22133         * lib/unistr/u8-strncat.c: Likewise.
22134         * lib/unistr/u8-strncmp.c: Likewise.
22135         * lib/unistr/u8-strncpy.c: Likewise.
22136         * lib/unistr/u8-strnlen.c: Likewise.
22137         * lib/unistr/u8-strpbrk.c: Likewise.
22138         * lib/unistr/u8-strrchr.c: Likewise.
22139         * lib/unistr/u8-strspn.c: Likewise.
22140         * lib/unistr/u8-strstr.c: Likewise.
22141         * lib/unistr/u8-strtok.c: Likewise.
22142         * lib/unistr/u8-to-u16.c: Likewise.
22143         * lib/unistr/u8-to-u32.c: Likewise.
22144         * lib/unistr/u8-uctomb-aux.c: Likewise.
22145         * lib/unistr/u8-uctomb.c: Likewise.
22146         * lib/unitypes.h: Likewise.
22147         * lib/uniwidth.h: Likewise.
22148         * lib/uniwidth/cjk.h: Likewise.
22149         * lib/uniwidth/u16-strwidth.c: Likewise.
22150         * lib/uniwidth/u16-width.c: Likewise.
22151         * lib/uniwidth/u32-strwidth.c: Likewise.
22152         * lib/uniwidth/u32-width.c: Likewise.
22153         * lib/uniwidth/u8-strwidth.c: Likewise.
22154         * lib/uniwidth/u8-width.c: Likewise.
22155         * lib/uniwidth/width.c: Likewise.
22156
22157 2007-10-07  Bruno Haible  <bruno@clisp.org>
22158
22159         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
22160         The file is still under LGPL (see modules/inttypes).
22161
22162 2007-10-06  Bruno Haible  <bruno@clisp.org>
22163
22164         * modules/trunc (Dependencies): Add 'extensions'.
22165         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
22166         Reported by Ben Pfaff <blp@gnu.org>.
22167
22168 2007-10-06  Bruno Haible  <bruno@clisp.org>
22169
22170         * modules/freopen-tests: New file.
22171         * tests/test-freopen.c: New file.
22172
22173         * modules/fopen-tests: New file.
22174         * tests/test-fopen.c: New file.
22175
22176         * modules/fopen: New file.
22177         * lib/fopen.c: New file.
22178         * m4/fopen.m4: New file.
22179         * modules/freopen: New file.
22180         * lib/freopen.c: New file.
22181         * m4/freopen.m4: New file.
22182         * lib/stdio.in.h (fopen, freopen): New declarations.
22183         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
22184         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
22185         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
22186         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
22187         * doc/functions/fopen.texi: Mention the 'fopen' module.
22188         * doc/functions/freopen.texi: Mention the 'freopen' module.
22189
22190 2007-10-06  Bruno Haible  <bruno@clisp.org>
22191
22192         * modules/open-tests: New file.
22193         * tests/test-open.c: New file.
22194
22195         * modules/open: New file.
22196         * lib/open.c: New file.
22197         * m4/open.m4: New file.
22198         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
22199         lib/open.c does.
22200         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
22201         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
22202         macros.
22203         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
22204         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
22205         REPLACE_OPEN.
22206         * doc/functions/open.texi: Mention the 'open' module.
22207
22208 2007-10-04  Bruno Haible  <bruno@clisp.org>
22209
22210         * modules/ceill-tests: New file.
22211         * tests/test-ceill.c: New file.
22212
22213         * modules/ceill: New file.
22214         * lib/ceill.c: Replace entire file.
22215         * m4/ceill.m4: New file.
22216         * lib/math.in.h (ceill): Replace declaration.
22217         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
22218         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
22219         * doc/functions/ceill.texi: Mention the 'ceill' module.
22220         * modules/mathl (Files): Remove lib/ceill.c.
22221         (Depends-on): Add ceill.
22222
22223 2007-10-04  Bruno Haible  <bruno@clisp.org>
22224
22225         * modules/ceilf-tests: New file.
22226         * tests/test-ceilf.c: New file.
22227
22228         * modules/ceilf: New file.
22229         * lib/ceil.c: New file.
22230         * lib/ceilf.c: New file.
22231         * m4/ceilf.m4: New file.
22232         * lib/math.in.h (ceilf): New declaration.
22233         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
22234         HAVE_DECL_CEILF.
22235         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
22236         HAVE_DECL_CEILF.
22237         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
22238
22239 2007-10-04  Bruno Haible  <bruno@clisp.org>
22240
22241         * modules/floorl-tests: New file.
22242         * tests/test-floorl.c: New file.
22243
22244         * modules/floorl: New file.
22245         * lib/floorl.c: Replace entire file.
22246         * m4/floorl.m4: New file.
22247         * lib/math.in.h (floorl): Replace declaration.
22248         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
22249         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
22250         * doc/functions/floorl.texi: Mention the 'floorl' module.
22251         * modules/mathl (Files): Remove lib/floorl.c.
22252         (Depends-on): Add floorl.
22253
22254 2007-10-04  Bruno Haible  <bruno@clisp.org>
22255
22256         * modules/floorf-tests: New file.
22257         * tests/test-floorf.c: New file.
22258
22259         * modules/floorf: New file.
22260         * lib/floor.c: New file.
22261         * lib/floorf.c: New file.
22262         * m4/floorf.m4: New file.
22263         * lib/math.in.h (floorf): New declaration.
22264         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
22265         HAVE_DECL_FLOORF.
22266         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
22267         HAVE_DECL_FLOORF.
22268         * doc/functions/floorf.texi: Mention the 'floorf' module.
22269
22270 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
22271             Bruno Haible  <bruno@clisp.org>
22272
22273         Advertise for the Git server instead of the CVS server.
22274         * doc/gnulib-intro.texi (Steady Development): Mention the Git
22275         repository instead of the CVS one.
22276         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
22277         about all VCS systems generically.
22278         * doc/gnulib.texi (Introduction): Capitalize `Git'.
22279
22280 2007-10-04  Bruno Haible  <bruno@clisp.org>
22281
22282         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
22283         means.
22284         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
22285
22286 2007-10-04  Bruno Haible  <bruno@clisp.org>
22287
22288         * modules/truncl-tests: New file.
22289         * tests/test-truncl.c: New file.
22290
22291         * modules/truncl: New file.
22292         * lib/truncl.c: New file.
22293         * m4/truncl.m4: New file.
22294         * lib/math.in.h (truncl): New declaration.
22295         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
22296         HAVE_DECL_TRUNCL.
22297         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
22298         HAVE_DECL_TRUNCL.
22299         * doc/functions/truncl.texi: Mention the 'truncl' module.
22300
22301 2007-10-04  Bruno Haible  <bruno@clisp.org>
22302
22303         * modules/truncf-tests: New file.
22304         * tests/test-truncf.c: New file.
22305
22306         * modules/truncf: New file.
22307         * lib/trunc.c: Make paramerizable through USE_* macros.
22308         * lib/truncf.c: New file.
22309         * m4/truncf.m4: New file.
22310         * lib/math.in.h (truncf): New declaration.
22311         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
22312         HAVE_DECL_TRUNCF.
22313         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
22314         HAVE_DECL_TRUNCF.
22315         * doc/functions/truncf.texi: Mention the 'truncf' module.
22316
22317 2007-10-03  Bruno Haible  <bruno@clisp.org>
22318
22319         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
22320         augmentation also for tests modules.
22321         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
22322         * modules/atexit-tests (Makefile.am): Likewise.
22323         * modules/binary-io-tests (Makefile.am): Likewise.
22324         * modules/c-strcase-tests (Makefile.am): Likewise.
22325         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
22326         * modules/canonicalize-tests (Makefile.am): Likewise.
22327         * modules/closein-tests (Makefile.am): Likewise.
22328         * modules/fprintf-posix-tests (Makefile.am): Likewise.
22329         * modules/freadahead-tests (Makefile.am): Likewise.
22330         * modules/fseek-tests (Makefile.am): Likewise.
22331         * modules/fseeko-tests (Makefile.am): Likewise.
22332         * modules/ftell-tests (Makefile.am): Likewise.
22333         * modules/ftello-tests (Makefile.am): Likewise.
22334         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
22335         * modules/isnanl-tests (Makefile.am): Likewise.
22336         * modules/lseek-tests (Makefile.am): Likewise.
22337         * modules/mbscasecmp-tests (Makefile.am): Likewise.
22338         * modules/mbscasestr-tests (Makefile.am): Likewise.
22339         * modules/mbschr-tests (Makefile.am): Likewise.
22340         * modules/mbscspn-tests (Makefile.am): Likewise.
22341         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
22342         * modules/mbspbrk-tests (Makefile.am): Likewise.
22343         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
22344         * modules/mbsrchr-tests (Makefile.am): Likewise.
22345         * modules/mbsspn-tests (Makefile.am): Likewise.
22346         * modules/mbsstr-tests (Makefile.am): Likewise.
22347         * modules/printf-posix-tests (Makefile.am): Likewise.
22348         * modules/snprintf-posix-tests (Makefile.am): Likewise.
22349         * modules/sprintf-posix-tests (Makefile.am): Likewise.
22350         * modules/tsearch-tests (Makefile.am): Likewise.
22351         * modules/uniname/uniname-tests (Makefile.am): Likewise.
22352         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
22353         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
22354         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
22355         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
22356         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
22357         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
22358         * modules/vprintf-posix-tests (Makefile.am): Likewise.
22359         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
22360         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
22361         * modules/xstrtoimax-tests (Makefile.am): Likewise.
22362         * modules/xstrtol-tests (Makefile.am): Likewise.
22363         * modules/xstrtoumax-tests (Makefile.am): Likewise.
22364         * modules/yesno-tests (Makefile.am): Likewise.
22365
22366 2007-10-03  Bruno Haible  <bruno@clisp.org>
22367
22368         * modules/trunc-tests: New file.
22369         * tests/test-trunc.c: New file.
22370
22371         * modules/trunc: New file.
22372         * lib/trunc.c: New file.
22373         * m4/trunc.m4: New file.
22374         * lib/math.in.h (trunc): New declaration.
22375         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
22376         HAVE_DECL_TRUNC.
22377         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
22378         HAVE_DECL_TRUNC.
22379         * doc/functions/trunc.texi: Mention the 'trunc' module.
22380
22381 2007-10-03  Bruno Haible  <bruno@clisp.org>
22382
22383         * tests/test-fpending.c: New file, mostly copied
22384         from coreutils/lib/t-fpending.c.
22385         * modules/fpending-tests: New file.
22386
22387 2007-10-03  Bruno Haible  <bruno@clisp.org>
22388
22389         Port the stdio extensions to QNX (untested).
22390         * lib/fseterr.c (fseterr): Add support for QNX.
22391         * lib/fbufmode.c (fbufmode): Likewise.
22392         * lib/freadable.c (freadable): Likewise.
22393         * lib/fwritable.c (fwritable): Likewise.
22394         * lib/freading.c (freading): Likewise.
22395         * lib/fwriting.c (fwriting): Likewise.
22396         * lib/freadahead.c (freadahed): Likewise.
22397         * lib/fpurge.c (fpurge): Likewise.
22398         * lib/fseeko.c (rpl_fseeko): Likewise.
22399
22400 2007-10-03  Bruno Haible  <bruno@clisp.org>
22401             Jim Meyering  <jim@meyering.net>
22402             Eric Blake  <ebb9@byu.net>
22403
22404         * doc/relocatable.texi: Use @command instead of @program.
22405
22406 2007-10-02  Jim Meyering  <jim@meyering.net>
22407
22408         Perform one more "_.h" -> ".in.h" substitution.
22409         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
22410         instead of unistd_.h here, too.
22411
22412 2007-10-01  Bruno Haible  <bruno@clisp.org>
22413
22414         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
22415         Needed for the alloca-opt module.
22416
22417 2007-09-30  Bruno Haible  <bruno@clisp.org>
22418
22419         * lib/alloca.in.h: Renamed from lib/alloca_.h.
22420         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
22421         alloca_.h.
22422         * lib/argz.in.h: Renamed from lib/argz_.h.
22423         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
22424         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
22425         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
22426         byteswap_.h.
22427         * lib/dirent.in.h: Renamed from lib/dirent_.h.
22428         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
22429         dirent_.h.
22430         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
22431         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
22432         fcntl_.h.
22433         * lib/float.in.h: Renamed from lib/float_.h.
22434         * modules/float (Files, Makefile.am): Use float.in.h instead of
22435         float_.h.
22436         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
22437         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
22438         fnmatch_.h.
22439         * lib/getopt.in.h: Renamed from lib/getopt_.h.
22440         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
22441         getopt_.h.
22442         * lib/glob.in.h: Renamed from lib/glob_.h.
22443         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
22444         * lib/iconv.in.h: Renamed from lib/iconv_.h.
22445         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
22446         iconv_.h.
22447         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
22448         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
22449         inttypes_.h.
22450         * lib/locale.in.h: Renamed from lib/locale_.h.
22451         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
22452         locale_.h.
22453         * lib/math.in.h: Renamed from lib/math_.h.
22454         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
22455         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
22456         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
22457         of netinet_in_.h. Add dependency.
22458         * lib/poll.in.h: Renamed from lib/poll_.h.
22459         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
22460         * lib/search.in.h: Renamed from lib/search_.h.
22461         * modules/search (Files, Makefile.am): Use search.in.h instead of
22462         search_.h.
22463         * lib/signal.in.h: Renamed from lib/signal_.h.
22464         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
22465         _signal.h.
22466         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
22467         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
22468         stdbool_.h.
22469         * lib/stdint.in.h: Renamed from lib/stdint_.h.
22470         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
22471         stdint_.h.
22472         * lib/stdio.in.h: Renamed from lib/stdio_.h.
22473         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
22474         stdio_.h.
22475         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
22476         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
22477         stdlib_.h.
22478         * lib/string.in.h: Renamed from lib/string_.h.
22479         * modules/string (Files, Makefile.am): Use string.in.h instead of
22480         string_.h.
22481         * doc/gnulib-tool.texi (Initial import): Update.
22482         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
22483         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
22484         of sys_select_.h. Add dependency.
22485         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
22486         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
22487         of sys_socket_.h.
22488         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
22489         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
22490         sys_stat_.h.
22491         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
22492         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
22493         sys_time_.h.
22494         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
22495         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
22496         sysexits_.h.
22497         * lib/time.in.h: Renamed from lib/time_.h.
22498         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
22499         * lib/unistd.in.h: Renamed from lib/unistd_.h.
22500         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
22501         unistd_.h.
22502         * lib/wchar.in.h: Renamed from lib/wchar_.h.
22503         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
22504         wchar_.h.
22505         * lib/wctype.in.h: Renamed from lib/wctype_.h.
22506         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
22507         wctype_.h.
22508         * build-aux/bootstrap (slurp): Update.
22509         * lib/.cppi-disable: Update.
22510
22511 2007-09-30  Bruno Haible  <bruno@clisp.org>
22512
22513         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
22514         Needed on BeOS.
22515
22516 2007-09-30  Bruno Haible  <bruno@clisp.org>
22517
22518         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
22519
22520 2007-09-29  Bruno Haible  <bruno@clisp.org>
22521
22522         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
22523
22524 2007-09-29  Bruno Haible  <bruno@clisp.org>
22525
22526         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
22527         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
22528         * build-aux/install-reloc: Compile also areadlink.c.
22529         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
22530
22531 2007-09-29  Bruno Haible  <bruno@clisp.org>
22532
22533         * gnulib-tool (func_emit_initmacro_done): Indentation.
22534
22535 2007-09-29  Bruno Haible  <bruno@clisp.org>
22536
22537         * README: Add CVS checkout update instructions.
22538         Info from Bob Proulx <bob@proulx.com>.
22539
22540 2007-09-28  Eric Blake  <ebb9@byu.net>
22541
22542         Provide move-if-change.
22543         * build-aux/move-if-change: New file, based on best practice
22544         rather than any canonical upstream location.
22545
22546 2007-09-28  Jim Meyering  <jim@meyering.net>
22547
22548         Fix canonicalize loop-detection corner case.
22549         Do not attempt to stat the symlink values stored via seen_triple.
22550         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
22551         on linux-2.6.18, (but not 2.6.22).
22552         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
22553         triple_compare.  The former compares dev,ino,filename, while the latter
22554         would actually stat dirname(filename) when dev and ino were equal.
22555         * lib/hash-triple.c: Install <string.h>.
22556         (STREQ): Define.
22557         (triple_compare_ino_str): New function.
22558         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
22559
22560 2007-09-28  Eric Blake  <ebb9@byu.net>
22561
22562         Enforce that AC_REPLACE_FUNCS files exist.
22563         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
22564         override check for typos.
22565
22566         Fix test-closein on Solaris 10.
22567         * tests/test-closein.c (main): Don't assume stdin can be inherited
22568         closed on all systems.
22569         * tests/test-closein.sh: Likewise.
22570         Reported by Piotr Tarnowski.
22571
22572 2007-09-28  Jim Meyering  <jim@meyering.net>
22573
22574         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
22575
22576 2007-09-27  Jim Meyering  <jim@meyering.net>
22577
22578         canonicalize: Avoid a false-positive cycle failure.
22579         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
22580         Sort.  Remove cycle-check.
22581         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
22582         not cycle-check.h.
22583         (seen_triple): New function.
22584         (canonicalize_filename_mode): Use it instead of cycle-check.
22585         * tests/test-canonicalize.c: Add a test for this bug.
22586         * tests/test-canonicalize.sh: Set up and run the test.
22587
22588         New module, file-set, from coreutils.
22589         * modules/file-set: Define it.
22590         * lib/file-set.c, lib/file-set.h: Implement.
22591
22592         New module, hash-triple, from coreutils.
22593         * modules/hash-triple: Define it.
22594         * lib/hash-triple.c, lib/hash-triple.h: Implement.
22595
22596 2007-09-25  Eric Blake  <ebb9@byu.net>
22597
22598         Fix strerror on Interix.
22599         * lib/string_.h (strerror): Declare replacement.
22600         * doc/functions/strerror.texi (strerror): Document the Interix
22601         shortcoming.
22602         * modules/string (Makefile.am): Support new hooks.
22603         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
22604         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
22605         gl_FUNC_STRERROR_SEPARATE.
22606         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
22607         * lib/strerror.c (rpl_strerror): Provide replacement.
22608         * modules/strerror (Depends-on): Add string.
22609         (configure.ac): Detect use of module.
22610         * tests/test-strerror.c: New file.
22611         * modules/strerror-tests: New test module.
22612         * modules/argp (Depends-on): Add strerror.
22613         * modules/error (Depends-on): Likewise.
22614         Reported by Martin Koeppe.
22615
22616 2007-09-24  Bruno Haible  <bruno@clisp.org>
22617
22618         * README: Update git instructions.
22619
22620 2007-09-24  Eric Blake  <ebb9@byu.net>
22621
22622         Revert fpending breakage from 2007-09-08.
22623         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
22624         __fpending.c.
22625
22626 2007-09-24  Jim Meyering  <jim@meyering.net>
22627
22628         filenamecat.c: Add a test.
22629         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
22630         showing how the function works when DIR is the empty string.
22631
22632 2007-09-21  Simon Josefsson  <simon@josefsson.org>
22633
22634         * tests/test-canonicalize.sh: Turn on executable bit.
22635
22636 2007-09-19  Eric Blake  <ebb9@byu.net>
22637
22638         * README: Update CVS instructions.
22639
22640 2007-09-18  Bruno Haible  <bruno@clisp.org>
22641
22642         * modules/areadlink: New file.
22643         * lib/areadlink.h (areadlink): New declaration.
22644         * lib/areadlink.c: New file, based on lib/xreadlink.c.
22645
22646 2007-09-17  Jim Meyering  <jim@meyering.net>
22647
22648         * lib/savewd.c (ESTALE) [!defined]: Define.
22649         Reported to be required on Interix by Martin Koeppe.
22650
22651 2007-09-17  Bruno Haible  <bruno@clisp.org>
22652
22653         * gnulib-tool (func_version): Use $version.
22654
22655 2007-09-16  Bruno Haible  <bruno@clisp.org>
22656
22657         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
22658         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
22659         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
22660         Reported by Greg Schafer <gschafer@zip.com.au>.
22661
22662 2007-09-15  Bruno Haible  <bruno@clisp.org>
22663
22664         * gnulib-tool (sed): Try a little harder to make bash understand the
22665         alias.
22666         Reported by Bruce Korb <bruce.korb@gmail.com>.
22667
22668 2007-09-13  Eric Blake  <ebb9@byu.net>
22669
22670         * ChangeLog: Remove conflict markers.
22671
22672 2007-09-13  Simon Josefsson  <simon@josefsson.org>
22673
22674         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
22675         Reported by Bruno Haible <bruno@clisp.org>.
22676
22677 2007-09-12  Bruno Haible  <bruno@clisp.org>
22678
22679         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
22680         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
22681         is not defined.
22682
22683 2007-09-12  Eric Blake  <ebb9@byu.net>
22684
22685         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
22686         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
22687         Autoconf definition.
22688         * modules/euidaccess (Depends-on): Add extensions, for
22689         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
22690         * modules/fnmatch (Depends-on): Likewise.
22691         * modules/getaddrinfo (Depends-on): Likewise.
22692         * modules/getdelim (Depends-on): Likewise.
22693         * modules/getline (Depends-on): Likewise.
22694         * modules/getsubopt (Depends-on): Likewise.
22695         * modules/gettext (Depends-on): Likewise.
22696         * modules/group-member (Depends-on): Likewise.
22697         * modules/mbchar (Depends-on): Likewise.
22698         * modules/memmem (Depends-on): Likewise.
22699         * modules/mempcpy (Depends-on): Likewise.
22700         * modules/memrchr (Depends-on): Likewise.
22701         * modules/pagealign_alloc (Depends-on): Likewise.
22702         * modules/readutmp (Depends-on): Likewise.
22703         * modules/stpcpy (Depends-on): Likewise.
22704         * modules/stpncpy (Depends-on): Likewise.
22705         * modules/strchrnul (Depends-on): Likewise.
22706         * modules/strndup (Depends-on): Likewise.
22707         * modules/strsep (Depends-on): Likewise.
22708         * modules/strverscmp (Depends-on): Likewise.
22709         * modules/vasprintf (Depends-on): Likewise.
22710         * modules/wcwidth (Depends-on): Likewise.
22711         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
22712         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
22713         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
22714         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
22715         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22716         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22717         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
22718         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
22719         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
22720         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
22721         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
22722         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
22723         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
22724         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
22725         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
22726         * m4/readutmp.m4 (gl_READUTMP): Likewise.
22727         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
22728         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
22729         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
22730         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
22731         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
22732         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
22733         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
22734         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
22735         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
22736         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
22737         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
22738         so that lock.m4 can be used in gettext without extensions module.
22739
22740 2007-09-11  Bruno Haible  <bruno@clisp.org>
22741
22742         * m4/isc-posix.m4: Remove file.
22743         Suggested by Eric Blake.
22744
22745 2007-09-11  Eric Blake  <ebb9@byu.net>
22746
22747         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
22748
22749 2007-09-10  Bruno Haible  <bruno@clisp.org>
22750
22751         * posix-modules: Fix typo in error message.
22752         Reported by Matt <mkraai@beckman.com>.
22753
22754 2007-09-09  Bruno Haible  <bruno@clisp.org>
22755
22756         * doc/functions/getdelim.texi: Update list of platforms lacking the
22757         function.
22758         * doc/functions/getline.texi: Likewise.
22759
22760 2007-09-09  Jim Meyering  <jim@meyering.net>
22761
22762         * lib/hash.c (hash_initialize): Detect calloc failure.
22763         Reported by Bruno Haible.
22764
22765 2007-09-09  Bruno Haible  <bruno@clisp.org>
22766
22767         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
22768         malloc or realloc fails.
22769
22770 2007-09-09  Bruno Haible  <bruno@clisp.org>
22771
22772         * modules/getcwd (Depends-on): Add malloc-posix.
22773         * modules/glob (Depends-on): Likewise.
22774         * modules/putenv (Depends-on): Likewise.
22775         * modules/strdup (Depends-on): Likewise.
22776         * modules/getdelim (Depends-on): Add realloc-posix.
22777         * modules/read-file (Depends-on): Likewise.
22778
22779 2007-09-09  Bruno Haible  <bruno@clisp.org>
22780
22781         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
22782         (gl_FUNC_MALLOC_POSIX): Require it.
22783         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
22784         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
22785         * modules/realloc (Files): Add m4/malloc.m4.
22786         * modules/calloc (Files): Likewise.
22787
22788 2007-09-09  Bruno Haible  <bruno@clisp.org>
22789
22790         * modules/malloc-posix: New file.
22791         * modules/malloc (Depends-on): Add malloc-posix.
22792         * lib/malloc.c: Include errno.h.
22793         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
22794         and a POSIX-compatible malloc into a single function. Set ENOMEM
22795         when returning NULL.
22796         * m4/malloc.m4: New file.
22797         * doc/functions/malloc.texi: Mention the malloc-posix module.
22798         * lib/stdlib_.h (malloc): New declaration.
22799         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
22800         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
22801         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
22802         and HAVE_MALLOC_POSIX.
22803
22804 2007-09-09  Bruno Haible  <bruno@clisp.org>
22805
22806         * modules/realloc-posix: New file.
22807         * modules/realloc (Depends-on): Add realloc-posix.
22808         * lib/realloc.c: Include errno.h.
22809         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
22810         and a POSIX-compatible realloc into a single function. Set ENOMEM
22811         when returning NULL.
22812         * m4/realloc.m4: New file.
22813         * doc/functions/realloc.texi: Mention the realloc-posix module.
22814         * lib/stdlib_.h (realloc): New declaration.
22815         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
22816         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
22817         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
22818         and HAVE_REALLOC_POSIX.
22819
22820 2007-09-09  Bruno Haible  <bruno@clisp.org>
22821
22822         * modules/calloc-posix: New file.
22823         * modules/calloc (Depends-on): Add calloc-posix.
22824         * lib/calloc.c: Include errno.h.
22825         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
22826         and a POSIX-compatible calloc into a single function. Set ENOMEM
22827         when returning NULL.
22828         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
22829         * doc/functions/calloc.texi: Mention the calloc-posix module.
22830         * lib/stdlib_.h (calloc): New declaration.
22831         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
22832         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
22833         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
22834         and HAVE_CALLOC_POSIX.
22835
22836 2007-09-09  Bruno Haible  <bruno@clisp.org>
22837
22838         Allow for modules to show an arbitrary notice.
22839         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
22840         * gnulib-tool: New option --extract-notice.
22841         (func_usage): Document it.
22842         (sed_extract_prog): Update.
22843         (func_get_notice): New function.
22844         (func_modules_notice): New function.
22845         (func_import, func_create_testdir): Invoke it.
22846         Suggested by Jim Meyering.
22847
22848 2007-09-09  Bruno Haible  <bruno@clisp.org>
22849
22850         * gnulib-tool: New options --verbose, --quiet.
22851         (func_usage): Document them.
22852         (verbose): New variable.
22853         (func_execute_command): New function.
22854         (func_import): Don't show the module list and the file list if
22855         $verbose < 0.
22856         (func_create_testdir): Likewise. Use func_execute_command.
22857         (func_create_megatestdir): Use func_execute_command.
22858
22859 2007-09-08  Bruno Haible  <bruno@clisp.org>
22860
22861         * gnulib-tool (func_import): Prefer rsync over wget when available,
22862         for fetching the PO files.
22863
22864 2007-09-08  Bruno Haible  <bruno@clisp.org>
22865
22866         * posix-modules: New file. Portions copied from gnulib-tool.
22867         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
22868
22869 2007-09-08  Jim Meyering  <jim@meyering.net>
22870
22871         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
22872         * lib/fpending.h: Rename from __fpending.h.
22873         * lib/fpending.c: Rename from __fpending.c.
22874         Include "fpending.h", not "__fpending.h".
22875         * lib/__fpending.h, lib/__fpending.c: Remove files.
22876         * modules/fpending (Files): Reflect new file names.
22877         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
22878
22879 2007-09-08  Bruno Haible  <bruno@clisp.org>
22880
22881         * m4/inttypes-h.m4: Remove stub file.
22882
22883 2007-09-07  Simon Josefsson  <simon@josefsson.org>
22884
22885         * doc/headers/stdint.texi: Discuss #include_next issue.
22886
22887 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
22888
22889         * build-aux/bootstrap: Remove obsolete comment about wget --help.
22890
22891 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22892
22893         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
22894         in variable name.
22895
22896 2007-09-03  Jim Meyering  <jim@meyering.net>
22897
22898         New module: git-version-gen.
22899         * modules/git-version-gen: New file.
22900
22901         Import changes from coreutils for bootstrap script.
22902
22903         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
22904
22905         bootstrap: uses rsync to download the .po files
22906         * build-aux/bootstrap (po_download_command_format): New global.
22907         (download_po_files): Use rsync.
22908         (update_po_files): Don't remove .po files after download,
22909         so future rsync runs can take advantage of the copies.
22910
22911         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
22912
22913         Solve the unnecessary-.po-file-regeneration problem once and for all.
22914         * build-aux/bootstrap (download_po_files): New function, renamed from
22915         get_translations.  Now, downloads, but doesn't update LINGUAS.
22916         (update_po_files): New function.
22917
22918         bootstrap: Ignore more.
22919         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
22920         uniwidth to e.g., lib/.gitignore.
22921         (slurp): Handle the sys_stat_.h -> sys mapping, too.
22922
22923         * build-aux/bootstrap: New setting: vc_ignore.
22924         (insert_sorted_if_absent): Create $file if absent.
22925         Adapt to new, possibly empty, list: $vc_ignore.
22926
22927         bootstrap: generate more ignorable names
22928         * build-aux/bootstrap (slurp): When generating ignorable names,
22929         also map .sin to .sed, .gperf to .c, and .y to .c.
22930
22931 2007-09-03  Jim Meyering  <jim@meyering.net>
22932
22933         * build-aux/git-version-gen: New file, from coreutils.  For details, see
22934         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
22935
22936 2007-09-02  Bruno Haible  <bruno@clisp.org>
22937
22938         Fix mis-recognition of 'mcs' on QNX 6.
22939         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
22940         output contains the string "Mono".
22941         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
22942         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
22943
22944 2007-09-01  Bruno Haible  <bruno@clisp.org>
22945
22946         Fix collision between uniwidth/* and linebreak modules.
22947         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
22948         u32_width): Remove declarations.
22949         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
22950         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
22951         streq3, streq2, streq1, streq0): Remove functions.
22952         (STREQ): Remove macro.
22953         (is_cjk_encoding): Remove function.
22954         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
22955         (uc_width, u8_width, u16_width, u32_width): Remove functions.
22956         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
22957         * NEWS: Document the change.
22958
22959 2007-09-01  Bruno Haible  <bruno@clisp.org>
22960
22961         * lib/streq.h: Add double-inclusion guard.
22962
22963 2007-09-01  Karl Berry  <karl@gnu.org>
22964
22965         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
22966
22967 2007-08-28  Jim Meyering  <jim@meyering.net>
22968
22969         Rename mreadlink_with_size to areadlink_with_size.
22970         * NEWS: Document the change.
22971         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
22972         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
22973         * lib/mreadlink.h: Rename this to...
22974         * lib/areadlink.h: ...this.
22975         * modules/mreadlink-with-size: Rename this to...
22976         * modules/areadlink-with-size: ...this.
22977         * lib/canonicalize.c: Reflect the renaming.
22978         * modules/canonicalize: Likewise.
22979
22980 2007-08-26  Bruno Haible  <bruno@clisp.org>
22981
22982         * gnulib-tool (func_import): When deciding which files to remove,
22983         consider also dangling symbolic links.
22984         Reported by Eric Blake.
22985
22986 2007-08-26  Bruno Haible  <bruno@clisp.org>
22987
22988         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
22989
22990 2007-08-23  Simon Josefsson  <simon@josefsson.org>
22991
22992         * lib/readline.c: Don't include getline.h, the prototype is now
22993         found in stdio.h.
22994
22995 2007-08-23  Jim Meyering  <jim@meyering.net>
22996
22997         Getdelim touchup.
22998         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
22999         around the funlockfile call, since funlockfile never sets errno.
23000         Don't set errno upon failed realloc.
23001
23002 2007-08-22  Eric Blake  <ebb9@byu.net>
23003
23004         Getline touchups.
23005         * lib/getdelim.c (getdelim): Revert regression that required *n to
23006         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
23007         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
23008         getdelim, rather than whether implementation is missing.
23009         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
23010         * lib/stdio_.h (getline): Also declare if replacement is
23011         required.
23012         * doc/functions/getdelim.texi: New file.
23013         * doc/functions/getline.texi: Likewise.
23014         * doc/gnulib.texi (Function Substitutes): Add new files.
23015         Reported by Bruno Haible.
23016
23017 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
23018
23019         * users.txt: Add Guile.
23020
23021 2007-08-22  Eric Blake  <ebb9@byu.net>
23022
23023         * tests/test-getdelim.c (main): Use remove, not unlink.
23024         * tests/test-getline.c (main): Likewise.
23025
23026         Move getline and getdelim into stdio.h, per POSIX 200x.
23027         * modules/getline (Files): Remove getline.h.
23028         (Depends-on): Add stdio.
23029         (configure.ac): Add module indicator.
23030         * modules/getdelim (Files): Remove getdelim.h.
23031         (Depends-on): Add stdio.
23032         (configure.ac): Add module indicator.
23033         * modules/stdio (Makefile.am): Work with new indicators.
23034         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
23035         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
23036         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23037         * lib/getdelim.h: Delete.
23038         * lib/getline.h: Delete.
23039         * lib/stdio_.h (getdelim, getline): Declare.
23040         * modules/getdelim-tests: New module.
23041         * modules/getline-tests: Likewise.
23042         * tests/test-getdelim.c: New file.
23043         * tests/test-getline.c: Likewise.
23044         * NEWS: Document the change.
23045         * lib/getline.c: Update choice of header.
23046         * lib/csharpcomp.c: Likewise.
23047         * lib/getpass.c: Likewise.
23048         * lib/javacomp.c: Likewise.
23049         * lib/javaversion.c: Likewise.
23050         * lib/yesno.c: Likewise.
23051         * lib/getdelim.c: Likewise.
23052         (getdelim): Set errno on failure, and avoid memory leak.
23053
23054 2007-08-19  Bruno Haible  <bruno@clisp.org>
23055
23056         * modules/closein (Depends-on): Add freadahead.
23057         * lib/closein.c: Include freadahead.h.
23058         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
23059         is zero.
23060
23061 2007-08-19  Bruno Haible  <bruno@clisp.org>
23062
23063         * modules/freadahead-tests: New file.
23064         * tests/test-freadahead.sh: New file.
23065         * tests/test-freadahead.c: New file.
23066
23067         * modules/freadahead: New file.
23068         * lib/freadahead.h: New file.
23069         * lib/freadahead.c: New file.
23070         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
23071         fbufmode, fpurge, freadable, fwritable.
23072
23073 2007-08-19  Eric Blake  <ebb9@byu.net>
23074
23075         Test yesno in combination with closein.
23076         * lib/yesno.c (yesno): Document use of stdin.
23077         * modules/yesno-tests (Files): New module.
23078         * tests/test-yesno.c (main): New file.
23079         * tests/test-yesno.sh: Likewise.
23080
23081 2007-08-19  Bruno Haible  <bruno@clisp.org>
23082
23083         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
23084         * lib/fseeko.c (rpl_fseeko): Likewise.
23085         * lib/fseterr.c (fseterr): Likewise.
23086
23087 2007-08-19  Bruno Haible  <bruno@clisp.org>
23088
23089         * tests/test-lseek.c (main): Disable a test for BeOS.
23090         * doc/functions/lseek.texi: Document the BeOS bug.
23091
23092 2007-08-19  Bruno Haible  <bruno@clisp.org>
23093             Eric Blake  <ebb9@byu.net>
23094
23095         * lib/lseek.c: Include <sys/stat.h>.
23096         (rpl_lseek): Add workaround code also for Unix platforms.
23097         Needed for BeOS.
23098         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
23099         * doc/functions/lseek.texi: Document BeOS definiency.
23100
23101 2007-08-18  Bruno Haible  <bruno@clisp.org>
23102
23103         * modules/fstrcmp-tests: New file.
23104         * tests/test-fstrcmp.c: New file.
23105
23106 2007-08-18  Bruno Haible  <bruno@clisp.org>
23107
23108         * modules/fstrcmp: New file, from GNU gettext with modifications.
23109         * lib/fstrcmp.h: New file, from GNU gettext.
23110         * lib/fstrcmp.c: New file, from GNU gettext.
23111         * MODULES.html.sh (String handling): Add fstrcmp.
23112
23113 2007-08-18  Bruno Haible  <bruno@clisp.org>
23114
23115         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
23116         'bool'.
23117         (diag, compareseq): Remove const from the ctxt argument.
23118         (USE_HEURISTIC): Undefine at the end.
23119
23120 2007-08-18  Jim Meyering  <jim@meyering.net>
23121
23122         New file: lib/idcache.h
23123         * NEWS: Mention the addition.
23124         * modules/idcache (Files): Add lib/idcache.h
23125         * lib/idcache.c: Include "idcache.h".
23126         Don't include <sys/types.h>.
23127         Add a FIXME comment.
23128         Move file-scoped "static" declarations to the top.
23129         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
23130
23131 2007-08-17  Bruno Haible  <bruno@clisp.org>
23132         and Paul Eggert  <eggert@cs.ucla.edu>
23133
23134         * MODULES.html.sh: Add diffseq.
23135         * modules/diffseq: New file.
23136         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
23137         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
23138
23139 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
23140
23141         Import changes from coreutils for bootstrap script.
23142
23143         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
23144
23145         * build-aux/bootstrap (slurp): Work even in environments where
23146         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
23147         current code does not slurp files whose names start with ".", and
23148         this looks like it might be a troublesome area.
23149
23150         2007-07-11  Jim Meyering  <jim@meyering.net>
23151
23152         If there's a GPL vN copyright comment, require that N == 3.
23153
23154         2007-07-08  Jim Meyering  <jim@meyering.net>
23155
23156         Run the coreutils-specific code only if tests/Makefile.am.in exists.
23157         * build-aux/bootstrap (mam_template): Move definition out of loop.
23158
23159         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
23160
23161         * build-aux/bootstrap (symlink_to_dir): Rename function from
23162         symlink_to_gnulib.  Add a directory parameter.  Update all
23163         callers.
23164         (cp_mark_as_generated): Also check for -- and link to -- files in
23165         gl/.
23166
23167         2007-07-08  Jim Meyering  <jim@meyering.net>
23168
23169         Adapt to deeper hierarchy in gnulib.
23170         * build-aux/bootstrap (symlink_to_dir): If the destination
23171         directory doesn't exist, create it. This is required at least for
23172         "lib/uniwidth/cjk.h".
23173
23174         2007-05-15  Jim Meyering  <jim@meyering.net>
23175
23176         * build-aux/bootstrap: Now that generated Makefile.am files
23177         are no longer under version control, they must be created at
23178         bootstrap time.
23179
23180 2007-08-14  Ben Pfaff  <blp@gnu.org>
23181
23182         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
23183
23184 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
23185
23186         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
23187         given the changes below.
23188         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
23189         even on hosts that have padding bits beyond the supported 64.
23190
23191 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
23192
23193         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
23194         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
23195         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
23196         depends on it.
23197         (xstrtol_error): Remove.
23198         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
23199         but with a different signature.
23200         (ATTRIBUTE_NORETURN, __attribute__): New macros.
23201         * lib/xstrtol-error.c: Include exitfail.h.
23202         (xstrtol_fatal): New function, with a different signature from the
23203         old xstrtol_error, so that the caller need not worry about passing
23204         in an exit status, or about storage management of the option argument.
23205         (xstrtol_error): Now a static function.  Redo signature to
23206         implement xstrtol_fatal.  Output the correct number of hyphens in
23207         front of the option so that the caller need not worry about
23208         storage management.
23209         (N_): New macro.
23210         (_): Remove; not used now.
23211         * modules/xstrtol: Depend on getopt.
23212         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
23213         of old STRTOL_FATAL_ERROR macro.
23214         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
23215         of test program.
23216         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
23217         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
23218
23219 2007-08-08  Eric Blake  <ebb9@byu.net>
23220
23221         * lib/xstrtol-error.c: Add missing include.
23222
23223         Move xstrtol messages into gnulib domain, when --pobase is used.
23224         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
23225         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
23226         * modules/xstrtol (Files): Distribute new file.
23227         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
23228         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
23229         * tests/test-xstrtol.c: ...into new file.
23230         * tests/test-xstrtoul.c: Also test xstrtoul.
23231         * tests/test-xstrtoimax.c: Also test xstrtoimax.
23232         * tests/test-xstrtoumax.c: Also test xstrtoumax.
23233         * tests/test-xstrtol.sh: Drive the tests.
23234         * tests/test-xstrtoimax.sh: Likewise.
23235         * tests/test-xstrtoumax.sh: Likewise.
23236         * modules/xstrtol-tests: New module.
23237         * modules/xstrtoimax-tests: Likewise.
23238         * modules/xstrtoumax-tests: Likewise.
23239
23240 2007-08-08  Jim Meyering  <jim@meyering.net>
23241
23242         New function: mfile_name_concat.
23243         * lib/filenamecat.c (mfile_name_concat): New function, just like
23244         file_name_concat, but return NULL upon failure rather than exiting
23245         with a diagnostic.
23246         * lib/filenamecat.h: Declare it.
23247
23248 2007-08-07  Bruno Haible  <bruno@clisp.org>
23249
23250         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
23251         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
23252         warning from gcc.
23253         Reported by Eric Blake.
23254
23255 2007-08-07  Simon Josefsson  <simon@josefsson.org>
23256
23257         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
23258         * modules/crypto/arcfour (License): Likewise.
23259         * modules/crypto/des-tests (License): Likewise.
23260         * modules/crypto/gc-arctwo-tests (License): Likewise.
23261         * modules/crypto/gc-des-tests (License): Likewise.
23262         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
23263         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
23264         * modules/crypto/gc-md2-tests (License): Likewise.
23265         * modules/crypto/gc-md4-tests (License): Likewise.
23266         * modules/crypto/gc-md5-tests (License): Likewise.
23267         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
23268         * modules/crypto/gc-rijndael-tests (License): Likewise.
23269         * modules/crypto/gc-sha1-tests (License): Likewise.
23270         * modules/crypto/gc-tests (License): Likewise.
23271         * modules/crypto/hmac-md5 (License): Likewise.
23272         * modules/crypto/hmac-sha1 (License): Likewise.
23273         * modules/crypto/md2-tests (License): Likewise.
23274         * modules/crypto/md4-tests (License): Likewise.
23275         * modules/crypto/md5 (License): Likewise.
23276         * modules/crypto/rijndael (License): Likewise.
23277         * modules/crypto/sha1 (License): Likewise.
23278         * modules/memxor (License): Likewise.
23279
23280 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
23281         and Bruno Haible  <bruno@clisp.org>
23282
23283         * NEWS: Describe interface changes to human, xstrtol.
23284         * lib/human.h: Include <xstrtol.h>.
23285         (human_options): Return enum strtol_error, not int.  Remove
23286         bool arg; take int * instead.
23287         * lib/human.c: Don't include "gettext.h".
23288         (_): Remove; no longer used.
23289         Don't include <xstrtol.h>, since human.h does it.
23290         (human_options): Adjust to abovementioned interface changes.
23291         Do not report error to stderr; that's now the caller's
23292         responsibility.
23293         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
23294         interface change.
23295         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
23296         Str, Argument_type_string.  All uses changed.  Put " argument"
23297         in diagnostics to make them clearer.  Change wording of suffix
23298         message for clarity.
23299         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
23300         Argument_type_string.
23301         (STRTOL_FATAL_WARN): Remove; no longer used.
23302         * modules/human (Depends-on): Remove gettext-h.
23303
23304 2007-08-06  Simon Josefsson  <simon@josefsson.org>
23305
23306         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
23307
23308 2007-07-31  Bruno Haible  <bruno@clisp.org>
23309
23310         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
23311         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
23312         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
23313
23314 2007-07-31  Bruno Haible  <bruno@clisp.org>
23315
23316         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
23317         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
23318
23319 2007-07-30  Bruno Haible  <bruno@clisp.org>
23320
23321         * modules/base64 (License): Use the synonymous term "LGPLv2+".
23322         * modules/c-ctype (License): Likewise.
23323         * modules/c-strcase (License): Likewise.
23324         * modules/check-version (License): Likewise.
23325         * modules/iconv (License): Likewise.
23326         * modules/iconv_open (License): Likewise.
23327         * modules/read-file (License): Likewise.
23328         * modules/striconv (License): Likewise.
23329         * modules/strverscmp (License): Likewise.
23330         * modules/vasprintf (License): Likewise.
23331         * modules/crypto/des (License): Likewise.
23332         * modules/crypto/gc (License): Likewise.
23333         * modules/crypto/gc-arcfour (License): Likewise.
23334         * modules/crypto/gc-arctwo (License): Likewise.
23335         * modules/crypto/gc-des (License): Likewise.
23336         * modules/crypto/gc-hmac-md5 (License): Likewise.
23337         * modules/crypto/gc-hmac-sha1 (License): Likewise.
23338         * modules/crypto/gc-md2 (License): Likewise.
23339         * modules/crypto/gc-md4 (License): Likewise.
23340         * modules/crypto/gc-md5 (License): Likewise.
23341         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
23342         * modules/crypto/gc-random (License): Likewise.
23343         * modules/crypto/gc-rijndael (License): Likewise.
23344         * modules/crypto/gc-sha1 (License): Likewise.
23345         * modules/crypto/md2 (License): Likewise.
23346         * modules/crypto/md4 (License): Likewise.
23347
23348 2007-07-30  Jim Meyering  <jim@meyering.net>
23349
23350         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
23351         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
23352         it has valid stat data.  This bug would cause du not to count the
23353         sizes of inaccessible directories.
23354         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
23355         in <http://bugzilla.redhat.com/250077>.
23356
23357 2007-07-25  Peter O'Gorman  <peter@pogma.com>
23358             Bruno Haible  <bruno@clisp.org>
23359
23360         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
23361         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
23362         #include_next, gives a diagnostic about it, but reports no error in
23363         the exit code.
23364         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
23365
23366 2007-07-24  Ben Pfaff  <blp@gnu.org>
23367
23368         Improve name: "count-one-bits" is better than "popcount".
23369         * MODULES.html.sh: Update name.
23370         * lib/popcount.h: Renamed lib/count-one-bits.h.
23371         (popcount): Renamed count_one_bits.
23372         (popcountl): Renamed count_one_bits_l.
23373         (popcountll): Renamed count_one_bits_ll.
23374         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
23375         * modules/popcount: Renamed module/count-one-bits.
23376         * modules/popcount-tests: Renamed module/count-one-bits-tests.
23377         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
23378
23379 2007-07-23  Ben Pfaff  <blp@gnu.org>
23380
23381         * lib/popcount.h (popcount32): Reduce size of constants, to allow
23382         better code generation, and add U to large constants to avoid
23383         warnings, in non-GCC case.
23384         Suggested by Bruno Haible.
23385
23386 2007-07-23  Ben Pfaff  <blp@gnu.org>
23387
23388         * lib/popcount.h: Use verify_true instead of if...abort.
23389         * modules/popcount: Depend on verify module.
23390         Suggested by Jim Meyering.
23391
23392 2007-07-23  Bruno Haible  <bruno@clisp.org>
23393
23394         * gnulib-tool (func_import): Create a .cvsignore file also when the
23395         directory is not yet in CVS but the toplevel directory is. When
23396         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
23397         Reported by Karl Berry.
23398
23399 2007-07-22  Ben Pfaff  <blp@gnu.org>
23400
23401         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
23402         case.
23403         Suggested by Eric Blake.
23404
23405 2007-07-22  Ben Pfaff  <blp@gnu.org>
23406
23407         New module: popcount.
23408         * MODULES.html.sh: Add popcount.
23409         * modules/popcount: New file.
23410         * modules/popcount-tests: New file.
23411         * tests/test-popcount.c: New file.
23412         * lib/popcount.h: New file.
23413         * m4/popcount.m4: New file.
23414
23415 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
23416
23417         * build-aux/announce-gen: Update to GPLv3.
23418
23419         * build-aux/config.guess: Update from config.
23420
23421 2007-07-21  Bruno Haible  <bruno@clisp.org>
23422
23423         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
23424         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
23425
23426 2007-07-20  Jim Meyering  <jim@meyering.net>
23427
23428         * check-module: Diagnose a self-dependency.
23429
23430 2007-07-19  Bruno Haible  <bruno@clisp.org>
23431
23432         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
23433         empty.
23434         Reported by Eric Blake.
23435
23436 2007-07-18  Bruno Haible  <bruno@clisp.org>
23437
23438         * gnulib-tool: New options --po-base, --po-domain.
23439         (func_usage): Document them.
23440         (pobase, po_domain): New variables.
23441         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
23442         DEFAULT_TEXT_DOMAIN.
23443         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
23444         (func_import): Consider pobase and po_domain. Create a po/ directory.
23445         (func_create_testdir): Set pobase and po_domain to empty.
23446         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
23447         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
23448
23449 2007-07-18  Bruno Haible  <bruno@clisp.org>
23450
23451         * gnulib-tool (func_get_automake_snippet): Synthesize also an
23452         EXTRA_DIST augmentation for files in build-aux/.
23453
23454 2007-07-16  Bruno Haible  <bruno@clisp.org>
23455
23456         * modules/lseek (License): Use the synonymous term "LGPLv2+".
23457         * modules/getdelim (License): Likewise.
23458
23459 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23460
23461         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
23462         * modules/d-type (License): Likewise.
23463         * modules/extensions (License): Likewise.
23464         * modules/fnmatch (License): Likewise.
23465         * modules/fseeko (License): Likewise.
23466         * modules/getaddrinfo (License): Likewise.
23467         * modules/getline (License): Likewise.
23468         * modules/getlogin_r (License): Likewise.
23469         * modules/getpass (License): Likewise.
23470         * modules/gettimeofday (License): Likewise.
23471         * modules/glob (License): Likewise.
23472         * modules/inet_ntop (License): Likewise.
23473         * modules/malloc (License): Likewise.
23474         * modules/malloca (License): Likewise.
23475         * modules/memmem (License): Likewise.
23476         * modules/mempcpy (License): Likewise.
23477         * modules/memset (License): Likewise.
23478         * modules/minmax (License): Likewise.
23479         * modules/mktime (License): Likewise.
23480         * modules/netinet_in (License): Likewise.
23481         * modules/pathmax (License): Likewise.
23482         * modules/poll (License): Likewise.
23483         * modules/regex (License): Likewise.
23484         * modules/snprintf (License): Likewise.
23485         * modules/stdbool (License): Likewise.
23486         * modules/stdint (License): Likewise.
23487         * modules/stdio (License): Likewise.
23488         * modules/strcase (License): Likewise.
23489         * modules/strcasestr (License): Likewise.
23490         * modules/strdup (License): Likewise.
23491         * modules/string (License): Likewise.
23492         * modules/strndup (License): Likewise.
23493         * modules/strnlen (License): Likewise.
23494         * modules/strpbrk (License): Likewise.
23495         * modules/strptime (License): Likewise.
23496         * modules/strsep (License): Likewise.
23497         * modules/sys_select (License): Likewise.
23498         * modules/sys_socket (License): Likewise.
23499         * modules/sys_stat (License): Likewise.
23500         * modules/sys_time (License): Likewise.
23501         * modules/time (License): Likewise.
23502         * modules/time_r (License): Likewise.
23503         * modules/timegm (License): Likewise.
23504         * modules/unistd (License): Likewise.
23505         * modules/vsnprintf (License): Likewise.
23506         * modules/wctype (License): Likewise.
23507
23508 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23509
23510         * modules/argz (License): LGPLv2+.
23511
23512 2007-07-15  Karl Berry  <karl@gnu.org>
23513
23514         * doc/gnulib.texi: revise node structure per new fdl.texi.
23515
23516 2007-07-14  Bruno Haible  <bruno@clisp.org>
23517
23518         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
23519         the output file.
23520         * lib/uniname/uninames.h: Regenerated.
23521
23522 2007-07-14  Karl Berry  <karl@gnu.org>
23523
23524         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
23525         omitting sectioning and index commands.
23526
23527 2007-07-13  Bruno Haible  <bruno@clisp.org>
23528
23529         New gnulib-tool option --more-symlinks.
23530         * gnulib-tool (func_usage): Document --more-symlinks.
23531         (do_copyrights): New variable.
23532         Recognize option --more-symlinks.
23533         (func_import): Don't add a copyright notice transform to
23534         sed_transform_lib_file if do_copyrights is empty.
23535
23536 2007-07-13  Bruno Haible  <bruno@clisp.org>
23537
23538         * lib/vasnprintf.c (decimal_point_char): Define also if
23539         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
23540         && !NEED_PRINTF_DIRECTIVE_A.
23541         Reported by Clemens Koller <clemens.koller@anagramm.de> via
23542         Gary V. Vaughan <gary@gnu.org>.
23543
23544 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
23545
23546         * lib/inttypes_.h: Undo previous change, since it was fixed
23547         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
23548
23549 2007-07-13  Bruno Haible  <bruno@clisp.org>
23550
23551         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
23552         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
23553
23554 2007-07-13  Jim Meyering  <jim@meyering.net>
23555
23556         df: Don't fail for Tru64's "file-on-file mount".
23557         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
23558         so we fall through and use statfs instead.  Details here:
23559         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
23560         Reported by Albert Chin.
23561
23562 2007-07-13  Bruno Haible  <bruno@clisp.org>
23563
23564         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
23565         * modules/configmake (License): Likewise.
23566         * modules/gettext (License): Likewise.
23567         * modules/gettext-h (License): Likewise.
23568         * modules/include_next (License): Likewise.
23569         * modules/link-warning (License): Likewise.
23570         * modules/localcharset (License): Likewise.
23571         * modules/localename (License): Likewise.
23572         * modules/lock (License): Likewise.
23573         * modules/relocatable-lib-lgpl (License): Likewise.
23574         * modules/size_max (License): Likewise.
23575         * modules/vasnprintf (License): Likewise.
23576         * modules/wchar (License): Likewise.
23577         * modules/xsize (License): Likewise.
23578
23579 2007-07-13  Bruno Haible  <bruno@clisp.org>
23580
23581         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
23582         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
23583
23584 2007-07-12  Bruno Haible  <bruno@clisp.org>
23585
23586         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
23587         in the modules files.
23588
23589 2007-07-11  Karl Berry  <karl@gnu.org>
23590
23591         * MODULES.html.sh (func_module): use
23592          sed -e '\|^'"${includefile}"'$|d'
23593          instead of /.../d, to avoid errors on $includefile's containing /.
23594
23595 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
23596
23597         * gnulib-tool (func_import): Avoid duplication of --avoid
23598         statements
23599         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
23600         names to `_' in variable names.
23601
23602 2007-07-10  Eric Blake  <ebb9@byu.net>
23603
23604         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
23605         * NEWS: Document this change.
23606
23607 2007-07-08  Bruno Haible  <bruno@clisp.org>
23608
23609         Update to Unicode 5.0.
23610         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
23611         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
23612         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
23613         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
23614         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
23615         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
23616         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
23617         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
23618         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
23619         U+10A3F, U+1D242..U+1D244.
23620         (nonspacing_table_ind): Update.
23621         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
23622         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
23623
23624 2007-07-08  Bruno Haible  <bruno@clisp.org>
23625
23626         Update to Unicode 5.0.
23627         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
23628         code transform. Extend the name index field of unicode_name_to_code and
23629         unicode_code_to_name from 16 to 24 bits.
23630         * lib/uniname/uniname.c (unicode_character_name,
23631         unicode_name_character): Add the range 0x12xxx to the code transform.
23632         * lib/uniname/uninames.h: Regenerated.
23633         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
23634
23635 2007-07-07  Bruno Haible  <bruno@clisp.org>
23636
23637         * modules/wcwidth-tests: New file.
23638         * tests/test-wcwidth.c: New file.
23639
23640         Work around MacOS X wcwidth() bug.
23641         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
23642         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
23643         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
23644         original wcwidth in non-UTF-8 locales.
23645         * modules/wcwidth (Depends-on): Add localcharset, streq,
23646         uniwidth/width.
23647         * doc/functions/wcwidth.texi: Update.
23648
23649 2007-07-07  Bruno Haible  <bruno@clisp.org>
23650
23651         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
23652         (wcwidth): New declaration.
23653         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
23654         macros.
23655         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
23656         here. Prepare for creating <wchar.h> unconditionally.
23657         * modules/wchar (Depends-on): Add link-warning.
23658         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
23659         REPLACE_WCWIDTH, and GL_LINK_WARNING.
23660         * lib/wcwidth.h: Remove file.
23661         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
23662         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
23663         * modules/wcwidth (Files): Remove lib/wcwidth.h.
23664         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
23665         (Include): Replace wcwidth.h with <wchar.h>.
23666         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
23667         * lib/mbchar.h: Don't include wcwidth.h.
23668         * lib/mbswidth.c: Likewise.
23669         * NEWS: Mention the change.
23670
23671 2007-07-07  Bruno Haible  <bruno@clisp.org>
23672
23673         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
23674         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
23675         definition with an external declaration.
23676         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
23677         defined as a function. Remove AC_C_INLINE requirement.
23678         * modules/wcwidth (Files): Add lib/wcwidth.c.
23679         (Makefile.am): Remove redundant statement.
23680
23681 2007-07-07  Bruno Haible  <bruno@clisp.org>
23682
23683         * MODULES.html.sh (Unicode string functions): Add the new modules.
23684
23685         * tests/uniwidth/test-u32-strwidth.c: New file.
23686         * modules/uniwidth/u32-strwidth-tests: New file.
23687
23688         * lib/uniwidth/u32-strwidth.c: New file.
23689         * modules/uniwidth/u32-strwidth: New file.
23690
23691         * tests/uniwidth/test-u16-strwidth.c: New file.
23692         * modules/uniwidth/u16-strwidth-tests: New file.
23693
23694         * lib/uniwidth/u16-strwidth.c: New file.
23695         * modules/uniwidth/u16-strwidth: New file.
23696
23697         * tests/uniwidth/test-u8-strwidth.c: New file.
23698         * modules/uniwidth/u8-strwidth-tests: New file.
23699
23700         * lib/uniwidth/u8-strwidth.c: New file.
23701         * modules/uniwidth/u8-strwidth: New file.
23702
23703         * tests/uniwidth/test-u32-width.c: New file.
23704         * modules/uniwidth/u32-width-tests: New file.
23705
23706         * lib/uniwidth/u32-width.c: New file.
23707         * modules/uniwidth/u32-width: New file.
23708
23709         * tests/uniwidth/test-u16-width.c: New file.
23710         * modules/uniwidth/u16-width-tests: New file.
23711
23712         * lib/uniwidth/u16-width.c: New file.
23713         * modules/uniwidth/u16-width: New file.
23714
23715         * tests/uniwidth/test-u8-width.c: New file.
23716         * modules/uniwidth/u8-width-tests: New file.
23717
23718         * lib/uniwidth/u8-width.c: New file.
23719         * modules/uniwidth/u8-width: New file.
23720
23721         * tests/uniwidth/test-uc_width.c: New file.
23722         * modules/uniwidth/width-tests: New file.
23723
23724         * lib/uniwidth/width.c: New file, from GNU libiconv.
23725         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
23726         * modules/uniwidth/width: New file.
23727
23728         * lib/uniwidth.h: New file, from GNU libiconv.
23729         * modules/uniwidth/base: New file.
23730
23731 2007-07-07  Bruno Haible  <bruno@clisp.org>
23732
23733         * lib/uniname.h: New file, from GNU gettext.
23734         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
23735         * lib/uniname/uninames.h: New file, from GNU gettext.
23736         * lib/uniname/uniname.c: New file, from GNU gettext.
23737         * tests/uniname/test-uninames.sh: New file.
23738         * tests/uniname/test-uninames.c: New file, from GNU gettext.
23739         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
23740         * modules/uniname/base: New file.
23741         * modules/uniname/uniname: New file.
23742         * modules/uniname/uniname-tests: New file.
23743         * MODULES.html.sh (Unicode string functions): Add the new modules.
23744
23745 2007-07-06  Bruno Haible  <bruno@clisp.org>
23746
23747         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
23748
23749 2007-07-06  Bruno Haible  <bruno@clisp.org>
23750
23751         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
23752         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
23753         includes <cygwin/sys_time.h> which includes <sys/select.h> which
23754         include <sys/time.h>.
23755         Reported by Eric Blake.
23756
23757 2007-07-06  Eric Blake  <ebb9@byu.net>
23758
23759         Fix testing canonicalize on cygwin.
23760         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
23761         Revert patch from 2007-06-19.
23762         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
23763         canonicalize module is also in use.
23764         * tests/test-canonicalize.c: New file.
23765         * tests/test-canonicalize.sh: Likewise.
23766         * modules/canonicalize-tests: Likewise.
23767
23768 2007-07-06  Jim Meyering  <jim@meyering.net>
23769
23770         * lib/getugroups.c (getugroups): Detect getgrent failure.
23771         Adjust comment to reflect reality: this function may return -1.
23772
23773 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
23774
23775         * build-aux/bootstrap (TP_URL,get_translations): Update to use
23776         the new TP address.
23777         (usage): Fix typo
23778         (gnulib_mk): New variable.
23779
23780 2007-07-05  Jim Meyering  <jim@meyering.net>
23781
23782         Don't let endgrent clobber errno, no matter how improbable.
23783         * lib/getugroups.c (getugroups): Save and restore errno around
23784         endgrent call.
23785
23786         Close the group DB even when failing with 2^31 or more members.
23787         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
23788
23789 2007-07-04  Jim Meyering  <jim@meyering.net>
23790
23791         * lib/getugroups.h: New file.
23792         * lib/getugroups.c: Include "getugroups.h".
23793         Remove uses of "register" keyword.
23794         Move local variable, "cp", down into scope where used.
23795         Give "username" parameter the "const" attribute.
23796         * modules/getugroups (Files): Add lib/getugroups.h
23797
23798 2007-07-04  Karl Berry  <karl@gnu.org>
23799
23800         * MODULES.html.sh (func_all_modules): Complete rename of
23801         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
23802
23803 2007-07-02  Bruno Haible  <bruno@clisp.org>
23804
23805         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
23806         mode, when inttypes.h comes from gnulib.
23807         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
23808
23809 2007-07-02  Simon Josefsson  <simon@josefsson.org>
23810
23811         * NEWS: Mention lgpl module name change.
23812
23813         * modules/lgpl-2.1: Renamed from lgpl.
23814
23815         * NEWS: Mention gpl module name change.
23816
23817         * modules/gpl-3.0: New file, based on gpl-2.0.
23818
23819         * modules/gpl-2.0: Renamed from gpl.
23820
23821         * modules/gpl: Fix filename, doc/gpl.texi is now found at
23822         doc/gpl-2.0.texi.
23823
23824 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
23825
23826         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
23827         #define __STDC_LIMIT_MACROS temporarily while including
23828         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
23829         Problem reported by Joel E. Denny in
23830         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
23831
23832 2007-07-01  Bruno Haible  <bruno@clisp.org>
23833
23834         * lib/unistdio.h: New file.
23835         * lib/unistdio/u-asnprintf.h: New file.
23836         * lib/unistdio/u-asprintf.h: New file.
23837         * lib/unistdio/u-printf-args.c: New file.
23838         * lib/unistdio/u-printf-args.h: New file.
23839         * lib/unistdio/u-printf-parse.h: New file.
23840         * lib/unistdio/u-snprintf.h: New file.
23841         * lib/unistdio/u-sprintf.h: New file.
23842         * lib/unistdio/u-vasprintf.h: New file.
23843         * lib/unistdio/u-vsnprintf.h: New file.
23844         * lib/unistdio/u-vsprintf.h: New file.
23845         * lib/unistdio/ulc-asnprintf.c: New file.
23846         * lib/unistdio/ulc-asprintf.c: New file.
23847         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
23848         * lib/unistdio/ulc-printf-parse.c: New file.
23849         * lib/unistdio/ulc-snprintf.c: New file.
23850         * lib/unistdio/ulc-sprintf.c: New file.
23851         * lib/unistdio/ulc-vasnprintf.c: New file.
23852         * lib/unistdio/ulc-vasprintf.c: New file.
23853         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
23854         * lib/unistdio/ulc-vsnprintf.c: New file.
23855         * lib/unistdio/ulc-vsprintf.c: New file.
23856         * lib/unistdio/u8-asnprintf.c: New file.
23857         * lib/unistdio/u8-asprintf.c: New file.
23858         * lib/unistdio/u8-printf-parse.c: New file.
23859         * lib/unistdio/u8-snprintf.c: New file.
23860         * lib/unistdio/u8-sprintf.c: New file.
23861         * lib/unistdio/u8-vasnprintf.c: New file.
23862         * lib/unistdio/u8-vasprintf.c: New file.
23863         * lib/unistdio/u8-vsnprintf.c: New file.
23864         * lib/unistdio/u8-vsprintf.c: New file.
23865         * lib/unistdio/u8-u8-asnprintf.c: New file.
23866         * lib/unistdio/u8-u8-asprintf.c: New file.
23867         * lib/unistdio/u8-u8-snprintf.c: New file.
23868         * lib/unistdio/u8-u8-sprintf.c: New file.
23869         * lib/unistdio/u8-u8-vasnprintf.c: New file.
23870         * lib/unistdio/u8-u8-vasprintf.c: New file.
23871         * lib/unistdio/u8-u8-vsnprintf.c: New file.
23872         * lib/unistdio/u8-u8-vsprintf.c: New file.
23873         * lib/unistdio/u16-asnprintf.c: New file.
23874         * lib/unistdio/u16-asprintf.c: New file.
23875         * lib/unistdio/u16-printf-parse.c: New file.
23876         * lib/unistdio/u16-snprintf.c: New file.
23877         * lib/unistdio/u16-sprintf.c: New file.
23878         * lib/unistdio/u16-vasnprintf.c: New file.
23879         * lib/unistdio/u16-vasprintf.c: New file.
23880         * lib/unistdio/u16-vsnprintf.c: New file.
23881         * lib/unistdio/u16-vsprintf.c: New file.
23882         * lib/unistdio/u16-u16-asnprintf.c: New file.
23883         * lib/unistdio/u16-u16-asprintf.c: New file.
23884         * lib/unistdio/u16-u16-snprintf.c: New file.
23885         * lib/unistdio/u16-u16-sprintf.c: New file.
23886         * lib/unistdio/u16-u16-vasnprintf.c: New file.
23887         * lib/unistdio/u16-u16-vasprintf.c: New file.
23888         * lib/unistdio/u16-u16-vsnprintf.c: New file.
23889         * lib/unistdio/u16-u16-vsprintf.c: New file.
23890         * lib/unistdio/u32-asnprintf.c: New file.
23891         * lib/unistdio/u32-asprintf.c: New file.
23892         * lib/unistdio/u32-printf-parse.c: New file.
23893         * lib/unistdio/u32-snprintf.c: New file.
23894         * lib/unistdio/u32-sprintf.c: New file.
23895         * lib/unistdio/u32-vasnprintf.c: New file.
23896         * lib/unistdio/u32-vasprintf.c: New file.
23897         * lib/unistdio/u32-vsnprintf.c: New file.
23898         * lib/unistdio/u32-vsprintf.c: New file.
23899         * lib/unistdio/u32-u32-asnprintf.c: New file.
23900         * lib/unistdio/u32-u32-asprintf.c: New file.
23901         * lib/unistdio/u32-u32-snprintf.c: New file.
23902         * lib/unistdio/u32-u32-sprintf.c: New file.
23903         * lib/unistdio/u32-u32-vasnprintf.c: New file.
23904         * lib/unistdio/u32-u32-vasprintf.c: New file.
23905         * lib/unistdio/u32-u32-vsnprintf.c: New file.
23906         * lib/unistdio/u32-u32-vsprintf.c: New file.
23907         * tests/unistdio/test-ulc-asnprintf1.c: New file.
23908         * tests/unistdio/test-ulc-asnprintf1.h: New file.
23909         * tests/unistdio/test-ulc-printf1.h: New file.
23910         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
23911         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
23912         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
23913         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
23914         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
23915         * tests/unistdio/test-ulc-vasprintf1.c: New file.
23916         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
23917         * tests/unistdio/test-ulc-vsprintf1.c: New file.
23918         * tests/unistdio/test-u8-asnprintf1.c: New file.
23919         * tests/unistdio/test-u8-asnprintf1.h: New file.
23920         * tests/unistdio/test-u8-printf1.h: New file.
23921         * tests/unistdio/test-u8-vasnprintf1.c: New file.
23922         * tests/unistdio/test-u8-vasnprintf2.c: New file.
23923         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
23924         * tests/unistdio/test-u8-vasnprintf3.c: New file.
23925         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
23926         * tests/unistdio/test-u8-vasprintf1.c: New file.
23927         * tests/unistdio/test-u8-vsnprintf1.c: New file.
23928         * tests/unistdio/test-u8-vsprintf1.c: New file.
23929         * tests/unistdio/test-u16-asnprintf1.c: New file.
23930         * tests/unistdio/test-u16-asnprintf1.h: New file.
23931         * tests/unistdio/test-u16-printf1.h: New file.
23932         * tests/unistdio/test-u16-vasnprintf1.c: New file.
23933         * tests/unistdio/test-u16-vasnprintf2.c: New file.
23934         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
23935         * tests/unistdio/test-u16-vasnprintf3.c: New file.
23936         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
23937         * tests/unistdio/test-u16-vasprintf1.c: New file.
23938         * tests/unistdio/test-u16-vsnprintf1.c: New file.
23939         * tests/unistdio/test-u16-vsprintf1.c: New file.
23940         * tests/unistdio/test-u32-asnprintf1.c: New file.
23941         * tests/unistdio/test-u32-asnprintf1.h: New file.
23942         * tests/unistdio/test-u32-printf1.h: New file.
23943         * tests/unistdio/test-u32-vasnprintf1.c: New file.
23944         * tests/unistdio/test-u32-vasnprintf2.c: New file.
23945         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
23946         * tests/unistdio/test-u32-vasnprintf3.c: New file.
23947         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
23948         * tests/unistdio/test-u32-vasprintf1.c: New file.
23949         * tests/unistdio/test-u32-vsnprintf1.c: New file.
23950         * tests/unistdio/test-u32-vsprintf1.c: New file.
23951         * modules/unistdio/base: New file.
23952         * modules/unistdio/u-printf-args: New file.
23953         * modules/unistdio/ulc-asnprintf: New file.
23954         * modules/unistdio/ulc-asprintf: New file.
23955         * modules/unistdio/ulc-fprintf: New file.
23956         * modules/unistdio/ulc-printf-parse: New file.
23957         * modules/unistdio/ulc-snprintf: New file.
23958         * modules/unistdio/ulc-sprintf: New file.
23959         * modules/unistdio/ulc-vasnprintf: New file.
23960         * modules/unistdio/ulc-vasprintf: New file.
23961         * modules/unistdio/ulc-vfprintf: New file.
23962         * modules/unistdio/ulc-vsnprintf: New file.
23963         * modules/unistdio/ulc-vsprintf: New file.
23964         * modules/unistdio/u8-asnprintf: New file.
23965         * modules/unistdio/u8-asprintf: New file.
23966         * modules/unistdio/u8-printf-parse: New file.
23967         * modules/unistdio/u8-snprintf: New file.
23968         * modules/unistdio/u8-sprintf: New file.
23969         * modules/unistdio/u8-vasnprintf: New file.
23970         * modules/unistdio/u8-vasprintf: New file.
23971         * modules/unistdio/u8-vsnprintf: New file.
23972         * modules/unistdio/u8-vsprintf: New file.
23973         * modules/unistdio/u8-u8-asnprintf: New file.
23974         * modules/unistdio/u8-u8-asprintf: New file.
23975         * modules/unistdio/u8-u8-snprintf: New file.
23976         * modules/unistdio/u8-u8-sprintf: New file.
23977         * modules/unistdio/u8-u8-vasnprintf: New file.
23978         * modules/unistdio/u8-u8-vasprintf: New file.
23979         * modules/unistdio/u8-u8-vsnprintf: New file.
23980         * modules/unistdio/u8-u8-vsprintf: New file.
23981         * modules/unistdio/u16-asnprintf: New file.
23982         * modules/unistdio/u16-asprintf: New file.
23983         * modules/unistdio/u16-printf-parse: New file.
23984         * modules/unistdio/u16-snprintf: New file.
23985         * modules/unistdio/u16-sprintf: New file.
23986         * modules/unistdio/u16-vasnprintf: New file.
23987         * modules/unistdio/u16-vasprintf: New file.
23988         * modules/unistdio/u16-vsnprintf: New file.
23989         * modules/unistdio/u16-vsprintf: New file.
23990         * modules/unistdio/u16-u16-asnprintf: New file.
23991         * modules/unistdio/u16-u16-asprintf: New file.
23992         * modules/unistdio/u16-u16-snprintf: New file.
23993         * modules/unistdio/u16-u16-sprintf: New file.
23994         * modules/unistdio/u16-u16-vasnprintf: New file.
23995         * modules/unistdio/u16-u16-vasprintf: New file.
23996         * modules/unistdio/u16-u16-vsnprintf: New file.
23997         * modules/unistdio/u16-u16-vsprintf: New file.
23998         * modules/unistdio/u32-asnprintf: New file.
23999         * modules/unistdio/u32-asprintf: New file.
24000         * modules/unistdio/u32-printf-parse: New file.
24001         * modules/unistdio/u32-snprintf: New file.
24002         * modules/unistdio/u32-sprintf: New file.
24003         * modules/unistdio/u32-vasnprintf: New file.
24004         * modules/unistdio/u32-vasprintf: New file.
24005         * modules/unistdio/u32-vsnprintf: New file.
24006         * modules/unistdio/u32-vsprintf: New file.
24007         * modules/unistdio/u32-u32-asnprintf: New file.
24008         * modules/unistdio/u32-u32-asprintf: New file.
24009         * modules/unistdio/u32-u32-snprintf: New file.
24010         * modules/unistdio/u32-u32-sprintf: New file.
24011         * modules/unistdio/u32-u32-vasnprintf: New file.
24012         * modules/unistdio/u32-u32-vasprintf: New file.
24013         * modules/unistdio/u32-u32-vsnprintf: New file.
24014         * modules/unistdio/u32-u32-vsprintf: New file.
24015         * modules/unistdio/ulc-asnprintf-tests: New file.
24016         * modules/unistdio/ulc-vasnprintf-tests: New file.
24017         * modules/unistdio/ulc-vasprintf-tests: New file.
24018         * modules/unistdio/ulc-vsnprintf-tests: New file.
24019         * modules/unistdio/ulc-vsprintf-tests: New file.
24020         * modules/unistdio/u8-asnprintf-tests: New file.
24021         * modules/unistdio/u8-vasnprintf-tests: New file.
24022         * modules/unistdio/u8-vasprintf-tests: New file.
24023         * modules/unistdio/u8-vsnprintf-tests: New file.
24024         * modules/unistdio/u8-vsprintf-tests: New file.
24025         * modules/unistdio/u16-asnprintf-tests: New file.
24026         * modules/unistdio/u16-vasnprintf-tests: New file.
24027         * modules/unistdio/u16-vasprintf-tests: New file.
24028         * modules/unistdio/u16-vsnprintf-tests: New file.
24029         * modules/unistdio/u16-vsprintf-tests: New file.
24030         * modules/unistdio/u32-asnprintf-tests: New file.
24031         * modules/unistdio/u32-vasnprintf-tests: New file.
24032         * modules/unistdio/u32-vasprintf-tests: New file.
24033         * modules/unistdio/u32-vsnprintf-tests: New file.
24034         * modules/unistdio/u32-vsprintf-tests: New file.
24035         * MODULES.html.sh (Unicode string functions): Add the new modules.
24036
24037 2007-07-01  Bruno Haible  <bruno@clisp.org>
24038
24039         * lib/sprintf.c (sprintf): Limit the available length estimation,
24040         to avoid address wraparound.
24041         * lib/vsprintf.c (vsprintf): Likewise.
24042         * modules/sprintf-posix (Dependencies): Add stdint.
24043         * modules/vsprintf-posix (Dependencies): Likewise.
24044
24045 2007-07-01  Bruno Haible  <bruno@clisp.org>
24046
24047         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
24048         Windows PATH as well. Conservative double-quoting. Comments.
24049
24050 2007-07-01  Bruno Haible  <bruno@clisp.org>
24051             Eric Blake  <ebb9@byu.net>
24052             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24053
24054         * gnulib-tool (self_abspathname): Fix algorithm to cope with
24055         empty components in $PATH, denoting '.'.
24056
24057 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24058
24059         * gnulib-tool: Fix indentation.
24060         (func_create_megatestdir): Likewise.
24061         Report by Bruno Haible.
24062
24063 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24064
24065         Sync from Automake.
24066         * build-aux/gnupload: Fix shell portability issues with for loops.
24067         Report by Karl Berry.
24068
24069 2007-06-29  Simon Josefsson  <simon@josefsson.org>
24070
24071         * build-aux/maint.mk (POURL): Use translationproject.org.
24072
24073 2007-06-27  Simon Josefsson  <simon@josefsson.org>
24074             Bruno Haible  <bruno@clisp.org>
24075
24076         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
24077         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
24078         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
24079         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
24080         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
24081
24082 2007-06-27  Bruno Haible  <bruno@clisp.org>
24083
24084         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
24085         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
24086
24087 2007-06-26  Karl Berry  <karl@gnu.org>
24088
24089         * MODULES.html.sh: remove xreadlink-with-size.
24090
24091 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
24092
24093         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
24094         method that I hope also handles the double-include problem noted
24095         by Bruno Haible in
24096         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
24097
24098 2007-06-23  Bruno Haible  <bruno@clisp.org>
24099
24100         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
24101         Don't let the 'mostlyclean' target fail if the last subdirectory could
24102         not be removed.
24103         Reported by Karl Berry.
24104
24105 2007-06-23  Bruno Haible  <bruno@clisp.org>
24106
24107         * gnulib-tool (echo): Add a speedier workaround for ksh.
24108         * tests/test-echo.sh: Likewise.
24109
24110 2007-06-23  Bruno Haible  <bruno@clisp.org>
24111
24112         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
24113         * tests/test-echo.sh: Likewise.
24114
24115 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24116
24117         * gnulib-tool (IFS): Initialize early, so we don't set it to
24118         empty later.
24119         (self_abspathname): Rewrite algorithm to set it, reindent.
24120         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
24121         (func_create_megatestdir): Merge some sed scripts.
24122
24123 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
24124
24125         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
24126         exposed by Sun Studio 11 cc on Solaris 8.
24127
24128 2007-06-22  Bruno Haible  <bruno@clisp.org>
24129
24130         * gnulib-tool (echo): Ensure the echo primitive does not interpret
24131         backslashes.
24132         * tests/test-echo.sh: New file.
24133
24134 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24135
24136         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
24137         simplify `sed_replace_build_aux' scripts, they are portable but
24138         echoing them with `echo' is not.
24139         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
24140
24141 2007-06-21  Karl Berry  <karl@gnu.org>
24142
24143         * config/srclist.txt: guess we can't handle the licenses via
24144         srclist at the moment.
24145
24146 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
24147
24148         * MODULES.html.sh: Add include_next.
24149         * modules/include_next: New file.
24150
24151 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
24152
24153         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
24154         INCLUDE_NEXT.
24155         (gl_CHECK_NEXT_HEADERS): New macro.
24156         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
24157         the obsolescent gl_ABSOLUTE_HEADER.
24158         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
24159         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
24160         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
24161         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
24162         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
24163         * m4/math_h.m4 (gl_MATH_H): Likewise.
24164         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
24165         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
24166         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
24167         * m4/stdint.m4 (gl_STDINT_H): Likewise.
24168         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
24169         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
24170         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
24171         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24172         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
24173         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
24174         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
24175         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
24176         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
24177         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
24178         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
24179         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
24180         * m4/inttypes.m4 (gl_INTTYPES_H): Define
24181         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
24182         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
24183         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
24184         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
24185         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
24186         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
24187         * lib/float_.h: Likewise.
24188         * lib/inttypes_.h: Likewise.
24189         * lib/math_.h: Likewise.
24190         * lib/search_.h: Likewise.
24191         * lib/signal_.h: Likewise.
24192         * lib/stdint_.h: Likewise.
24193         * lib/stdio_.h: Likewise.
24194         * lib/stdlib_.h: Likewise.
24195         * lib/string_.h: Likewise.
24196         * lib/sys_stat_.h: Likewise.
24197         * lib/sys_time_.h: Likewise.
24198         * lib/time_.h: Likewise.
24199         * lib/unistd_.h: Likewise.
24200         * lib/wchar_.h: Likewise.
24201         * lib/wctype_.h: Likewise.
24202         * lib/dirent_.h: Likewise.
24203         * lib/iconv_.h: Likewise.
24204         * lib/locale_.h: Likewise.
24205         * lib/netinet_in_.h: Likewise.
24206         * lib/sys_select_.h: Likewise.
24207         * lib/sys_socket_.h: Likewise.
24208         * lib/sysexits_.h: Likewise.
24209         * modules/fcntl (Depends-on): Depend on include_next, not
24210         absolute_header.
24211         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
24212         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
24213         * modules/fchdir: Likewise.
24214         * modules/float: Likewise.
24215         * modules/iconv_open: Likewise.
24216         * modules/inttypes: Likewise.
24217         * modules/locale: Likewise.
24218         * modules/math: Likewise.
24219         * modules/netinet_in: Likewise.
24220         * modules/search: Likewise.
24221         * modules/signal: Likewise.
24222         * modules/stdint: Likewise.
24223         * modules/stdio: Likewise.
24224         * modules/stdlib: Likewise.
24225         * modules/string: Likewise.
24226         * modules/sys_select: Likewise.
24227         * modules/sys_socket: Likewise.
24228         * modules/sys_stat: Likewise.
24229         * modules/sys_time: Likewise.
24230         * modules/sysexits: Likewise.
24231         * modules/time: Likewise.
24232         * modules/unistd: Likewise.
24233         * modules/wchar: Likewise.
24234         * modules/wctype: Likewise.
24235         * modules/sys_stat: Change maintainer to "all".
24236         * modules/unistd: Likewise.
24237
24238 2007-06-20  Karl Berry  <karl@gnu.org>
24239
24240         * config/srclist.txt: track www changes in license files.
24241
24242 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
24243
24244         * build-aux/bootstrap: Remove stray dot.
24245         Make sure build_aux settings are honored when linking
24246         gnulib_extra_files.
24247
24248 2007-06-19  Eric Blake  <ebb9@byu.net>
24249
24250         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
24251         Allow compilation on cygwin.
24252
24253 2007-06-19  Jim Meyering  <jim@meyering.net>
24254
24255         xreadlink-with-size: Remove module.  No longer used.
24256         Ex-callers now use xreadlink or mreadlink-with-size.
24257         * modules/xreadlink-with-size: Remove module.
24258         * lib/xreadlink-with-size.c: Remove file.
24259         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
24260         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
24261         just before the function definition *is* accurate.
24262
24263         Eliminate one way canonicalize_filename_mode could exit.
24264         * lib/canonicalize.c (canonicalize_filename_mode):
24265         Use mreadlink_with_size, not xreadlink_with_size.
24266
24267 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
24268
24269         Detect porting problems to FreeBSD/arm, which has time_t wider than
24270         long int.  Original problem reported for GNU diff by Xin Li in
24271         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
24272         * modules/getdate (Depends-on): Add intprops, verify.
24273         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
24274         is an integer type no wider than long int.
24275
24276 2007-06-18  Jim Meyering  <jim@meyering.net>
24277
24278         New module: mreadlink-with-size.
24279         * MODULES.html.sh: Add mreadlink-with-size.
24280         * modules/mreadlink-with-size: New module
24281         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
24282         not xreadlink-with-size.
24283         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
24284
24285 2007-06-16  Bruno Haible  <bruno@clisp.org>
24286
24287         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
24288         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
24289         Reported by Gary V. Vaughan <gary@gnu.org>.
24290
24291 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
24292
24293         Revamp lchown so that it lives in unistd.h where it belongs.
24294         * lib/lchown.h: Remove.
24295         * lib/dirchownmod.c: Don't include lib/lchown.h.
24296         * lib/fchownat.c: Likewise.
24297         * lib/openat.c: Likewise.
24298         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
24299         does not follow symlinks.
24300         (EOPNOTSUPP): Define if not defined.
24301         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
24302         is defined to 0.
24303         (lchown): New decl.
24304         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
24305         Do not check for lchown decl.
24306         Set REPLACE_LCHOWN.
24307         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
24308         REPLACE_LCHOWN.
24309         * modules/chown: Make it clear it follows symlinks.
24310         * modules/lchown: Make it clear it doesn't follow symlinks.
24311         (Files): Remove lib/lchown.h
24312         (Depends-on): Add unistd.
24313         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
24314         (Include): Include <unistd.h>, not "lchown.h".
24315         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
24316         REPLACE_LCHOWN.
24317
24318 2007-06-15  Jim Meyering  <jim@meyering.net>
24319
24320         Change license (GPL to LGPL) of fsusage and dependents.
24321         * modules/fsusage (License): Change to LGPL.
24322         * modules/full-read (License): Likewise.
24323         * modules/full-write (License): Likewise.
24324         * modules/safe-read (License): Likewise.
24325         * modules/safe-write (License): Likewise.
24326
24327 2007-06-14  Ben Pfaff  <blp@gnu.org>
24328
24329         Missing part of allocsa -> malloca transition.
24330         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
24331         gl_MALLOCA.
24332
24333 2007-06-12  Bruno Haible  <bruno@clisp.org>
24334
24335         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
24336         to ia64, x86_64, i386.
24337         Reported by Eric Blake.
24338
24339 2007-06-12  Bruno Haible  <bruno@clisp.org>
24340
24341         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
24342         cross-compiling to x86_64.
24343
24344 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
24345
24346         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
24347         glitch reported by Ralf Wildenhues in
24348         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
24349
24350         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
24351         Vin Shelton.
24352
24353 2007-06-11  Bruno Haible  <bruno@clisp.org>
24354
24355         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
24356         replacement string.
24357         Reported by Eric Blake.
24358
24359 2007-06-10  Bruno Haible  <bruno@clisp.org>
24360
24361         Prepare vasnprintf code for use with Unicode strings.
24362         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
24363         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
24364         TYPE_U32_STRING.
24365         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
24366         a_u32_string variants.
24367         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
24368         * lib/printf-args.c: Don't include config.h and the specification
24369         header if PRINTF_FETCHARGS is already defined.
24370         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
24371         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
24372         TYPE_U16_STRING, TYPE_U32_STRING.
24373         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
24374         u16_directive, u16_directives, u32_directive, u32_directives): New
24375         types.
24376         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
24377         New declarations.
24378         * lib/printf-parse.c: Don't include config.h and the specification
24379         header if PRINTF_PARSE is already defined. Eliminate the set of
24380         parameters for WIDE_CHAR_VERSION; the user of this file must provide
24381         them now. Include c-ctype.h.
24382         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
24383         directive and CHAR_T_ONLY_ASCII.
24384         * lib/vasnprintf.c: Don't include config.h and the specification header
24385         if VASNPRINTF is already defined.
24386         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
24387         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
24388         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
24389         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
24390         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
24391         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
24392         code accordingly.
24393         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
24394         pad_ourselves also in this case, with the 'c' and 's' directives, and
24395         with a different notion of "width".
24396         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
24397
24398 2007-06-10  Bruno Haible  <bruno@clisp.org>
24399
24400         * modules/unistr/u32-mbsnlen: New file.
24401         * lib/unistr/u32-mbsnlen.c: New file.
24402
24403         * modules/unistr/u16-mbsnlen: New file.
24404         * lib/unistr/u16-mbsnlen.c: New file.
24405
24406         * modules/unistr/u8-mbsnlen: New file.
24407         * lib/unistr/u8-mbsnlen.c: New file.
24408
24409         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
24410         declarations.
24411
24412 2007-06-10  Bruno Haible  <bruno@clisp.org>
24413
24414         * lib/string_.h (mbsnlen): New declaration.
24415         * lib/mbsnlen.c: New file.
24416         * m4/mbsnlen.m4: New file.
24417         * modules/mbsnlen: New file.
24418         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
24419         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
24420         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
24421
24422 2007-06-10  Bruno Haible  <bruno@clisp.org>
24423
24424         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
24425
24426 2007-06-10  Bruno Haible  <bruno@clisp.org>
24427
24428         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
24429         * lib/mbuiter.h: Likewise.
24430
24431 2007-06-10  Bruno Haible  <bruno@clisp.org>
24432
24433         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
24434         declaration.
24435
24436 2007-06-10  Karl Berry  <karl@gnu.org>
24437
24438         * config/srclist.txt: remove gettext entries, Bruno prefers
24439         to update individually.
24440
24441 2007-06-10  Bruno Haible  <bruno@clisp.org>
24442
24443         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
24444         'maxlen'. Ensure only length + width bytes are allocated, not
24445         length + 1 + width.
24446
24447 2007-06-09  Bruno Haible  <bruno@clisp.org>
24448
24449         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
24450         (CHAR_T): Remove macro.
24451         (VASNPRINTF): Update.
24452
24453 2007-06-09  Bruno Haible  <bruno@clisp.org>
24454
24455         * MODULES.html.sh (Unicode string functions): Add the new modules.
24456
24457         * modules/uniconv/u32-conv-to-enc: New file.
24458         * lib/uniconv/u32-conv-to-enc.c: New file.
24459         * modules/uniconv/u32-conv-to-enc-tests: New file.
24460         * tests/uniconv/test-u32-conv-to-enc.c: New file.
24461
24462         * modules/uniconv/u16-conv-to-enc: New file.
24463         * lib/uniconv/u16-conv-to-enc.c: New file.
24464         * lib/uniconv/u-conv-to-enc.h: New file.
24465         * modules/uniconv/u16-conv-to-enc-tests: New file.
24466         * tests/uniconv/test-u16-conv-to-enc.c: New file.
24467
24468         * modules/uniconv/u8-conv-to-enc: New file.
24469         * lib/uniconv/u8-conv-to-enc.c: New file.
24470         * modules/uniconv/u8-conv-to-enc-tests: New file.
24471         * tests/uniconv/test-u8-conv-to-enc.c: New file.
24472
24473         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
24474         u32_conv_to_encoding): New declarations.
24475
24476 2007-06-09  Bruno Haible  <bruno@clisp.org>
24477
24478         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
24479
24480 2007-06-09  Bruno Haible  <bruno@clisp.org>
24481
24482         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
24483         * modules/malloca: Renamed from modules/allocsa, updated.
24484         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
24485         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
24486         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
24487         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
24488         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
24489         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
24490         * modules/xmalloca: Renamed from modules/xallocsa, updated.
24491         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
24492         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
24493         * modules/c-strcasestr (Depends-on): Update.
24494         * lib/c-strcasestr.c: Update.
24495         * modules/c-strstr (Depends-on): Update.
24496         * lib/c-strstr.c: Update.
24497         * modules/canonicalize-lgpl (Depends-on): Update.
24498         * lib/canonicalize-lgpl.c: Update.
24499         * modules/clean-temp (Depends-on): Update.
24500         * lib/clean-temp.c: Update.
24501         * modules/csharpcomp (Depends-on): Update.
24502         * lib/csharpcomp.c: Update.
24503         * modules/csharpexec (Depends-on): Update.
24504         * lib/csharpexec.c: Update.
24505         * modules/javacomp (Depends-on): Update.
24506         * lib/javacomp.c: Update.
24507         * modules/javaexec (Depends-on): Update.
24508         * lib/javaexec.c: Update.
24509         * modules/mbscasestr (Depends-on): Update.
24510         * lib/mbscasestr.c: Update.
24511         * modules/mbsstr (Depends-on): Update.
24512         * lib/mbsstr.c: Update.
24513         * modules/setenv (Depends-on): Update.
24514         * lib/setenv.c: Update.
24515         * modules/strcasestr (Depends-on): Update.
24516         * lib/strcasestr.c: Update.
24517         * modules/striconveha (Depends-on): Update.
24518         * lib/striconveha.c: Update.
24519         * modules/relocatable-prog-wrapper (Files): Update.
24520         * lib/relocwrapper.c: Update.
24521         * build-aux/install-reloc: Update.
24522         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
24523
24524 2007-06-08  Bruno Haible  <bruno@clisp.org>
24525
24526         Port to uClibc.
24527         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
24528         * lib/fpurge.c (fpurge): Likewise.
24529         * lib/freading.c (freading): Likewise.
24530         * lib/fseeko.c (rpl_fseeko): Likewise.
24531         * lib/fseterr.c (fseterr): Likewise.
24532         * lib/fwriting.c (fwriting): Likewise.
24533         * tests/test-fflush.c (main): Avoid a failure on uClibc.
24534
24535 2007-06-08  Bruno Haible  <bruno@clisp.org>
24536
24537         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
24538         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
24539         * modules/gettext (Files): Add m4/intlmacosx.m4.
24540
24541 2007-06-07  Bruno Haible  <bruno@clisp.org>
24542
24543         * modules/localename-tests: New file.
24544         * tests/test-localename.c: New file.
24545
24546         New module 'localename'.
24547         * lib/localename.h: New file.
24548         * lib/localename.c: New file, from GNU gettext.
24549         * m4/localename.m4: New file.
24550         * modules/localename: New file.
24551
24552 2007-06-07  Bruno Haible  <bruno@clisp.org>
24553
24554         Work around the lack of <wchar.h> on some builds of uClibc.
24555         * doc/headers/wchar.texi: Update.
24556         * lib/wchar_.h: Include <wchar.h> only if it exists.
24557         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
24558         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
24559         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
24560         doesn't exist.
24561         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
24562         * modules/mbfile (Depends-on): Add wchar.
24563         * modules/mbiter (Depends-on): Likewise.
24564         * modules/mbuiter (Depends-on): Likewise.
24565         Reported by Simon Josefsson.
24566
24567 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
24568
24569         Work around problem reported by Steven M. Schweda in
24570         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
24571         Tru64 5.1B with the Compaq compiler environment installed declares
24572         an 'isblank' function but does not define it in the C library.
24573         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
24574         * lib/regex_internal.h (isblank): Likewise.
24575         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
24576         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
24577
24578 2007-06-05  Bruno Haible  <bruno@clisp.org>
24579
24580         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
24581         ia64.
24582         * modules/printf-safe: New file.
24583         * modules/fprintf-posix (Depends-on): Add printf-safe.
24584         * modules/printf-posix (Depends-on): Likewise.
24585         * modules/snprintf-posix (Depends-on): Likewise.
24586         * modules/sprintf-posix (Depends-on): Likewise.
24587         * modules/vasnprintf-posix (Depends-on): Likewise.
24588         * modules/vasprintf-posix (Depends-on): Likewise.
24589         * modules/vfprintf-posix (Depends-on): Likewise.
24590         * modules/vprintf-posix (Depends-on): Likewise.
24591         * modules/vsnprintf-posix (Depends-on): Likewise.
24592         * modules/vsprintf-posix (Depends-on): Likewise.
24593         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
24594         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
24595         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
24596         "no" on i386, x86_64, ia64.
24597         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
24598         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
24599         on i386, x86_64, ia64.
24600         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
24601         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
24602         on i386, x86_64, ia64.
24603         * tests/test-vasnprintf-posix.c: Include float.h.
24604         (LDBL80_WORDS): New macro.
24605         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
24606         on i386, x86_64, ia64.
24607         * tests/test-vasprintf-posix.c: Include float.h.
24608         (LDBL80_WORDS): New macro.
24609         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
24610         on i386, x86_64, ia64.
24611         * tests/test-snprintf-posix.c: Include float.h.
24612         * tests/test-sprintf-posix.c: Likewise.
24613         * tests/test-vsnprintf-posix.c: Likewise.
24614         * tests/test-vsprintf-posix.c: Likewise.
24615
24616 2007-06-05  Bruno Haible  <bruno@clisp.org>
24617
24618         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
24619         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
24620         non-IEEE numbers on i386, x86_64, ia64.
24621         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
24622         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
24623         * tests/test-isnanl.h: Include float.h.
24624         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
24625
24626 2007-06-05  Bruno Haible  <bruno@clisp.org>
24627
24628         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
24629         also the %a / %A. Handle the %a / %A code before this extra handling.
24630
24631 2007-06-05  Bruno Haible  <bruno@clisp.org>
24632
24633         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
24634         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
24635
24636 2007-06-05  Bruno Haible  <bruno@clisp.org>
24637
24638         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
24639         typo in variable name.
24640
24641 2007-06-05  Eric Blake  <ebb9@byu.net>
24642
24643         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
24644         Reported by Simon Josefsson.
24645
24646 2007-06-04  Bruno Haible  <bruno@clisp.org>
24647
24648         Avoid test failures on some PowerPC platforms.
24649         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
24650         Define differently for PowerPC.
24651         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
24652         Reported by Gary V. Vaughan <gary@gnu.org>.
24653
24654 2007-06-02  Bruno Haible  <bruno@clisp.org>
24655
24656         Fix test-stdint failure on FreeBSD/ia64.
24657         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
24658         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
24659         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
24660         * doc/headers/stdint.texi: Update.
24661
24662 2007-06-01  Bruno Haible  <bruno@clisp.org>
24663
24664         * tests/test-binary-io.c (main): Pass a third argument to open().
24665         Reported by Gary V. Vaughan <gary@gnu.org>.
24666
24667 2007-06-01  Bruno Haible  <bruno@clisp.org>
24668
24669         * doc/functions/frexpl.texi: Update for mingw.
24670
24671 2007-06-01  Bruno Haible  <bruno@clisp.org>
24672
24673         * tests/test-lseek.c (main): Disable test of errno for invalid third
24674         argument.
24675         * doc/functions/lseek.texi: Update.
24676         Reported by Gary V. Vaughan <gary@gnu.org>.
24677
24678 2007-05-28  Bruno Haible  <bruno@clisp.org>
24679
24680         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
24681
24682 2007-05-31  Eric Blake  <ebb9@byu.net>
24683
24684         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
24685         cross compiling.
24686
24687 2007-05-30  Eric Blake  <ebb9@byu.net>
24688         and Bruno Haible  <bruno@clisp.org>
24689
24690         Work around mingw test failures exposed by m4-1.4.9b.
24691         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
24692         * tests/test-unistd.c: Disable uid_t and git_t tests for the
24693         moment.
24694
24695 2007-05-30  Bruno Haible  <bruno@clisp.org>
24696
24697         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
24698         assuming that they are closed. Needed on HP-UX 11.
24699
24700 2007-05-29  Bruno Haible  <bruno@clisp.org>
24701
24702         Fix a problem with #include_next.
24703         * lib/dirent_.h: Split the double-inclusion guard.
24704         * lib/fcntl_.h: Likewise.
24705         * lib/float_.h: Likewise.
24706         * lib/iconv_.h: Likewise.
24707         * lib/inttypes_.h: Likewise.
24708         * lib/locale_.h: Likewise.
24709         * lib/math_.h: Likewise.
24710         * lib/netinet_in_.h: Likewise.
24711         * lib/search_.h: Likewise.
24712         * lib/signal_.h: Likewise.
24713         * lib/stdint_.h: Likewise.
24714         * lib/stdio_.h: Likewise.
24715         * lib/stdlib_.h: Likewise.
24716         * lib/string_.h: Likewise.
24717         * lib/sys_select_.h: Likewise.
24718         * lib/sys_socket_.h: Likewise.
24719         * lib/sys_stat_.h: Likewise.
24720         * lib/sys_time_.h: Likewise.
24721         * lib/sysexits_.h: Likewise.
24722         * lib/time_.h: Likewise.
24723         * lib/unistd_.h: Likewise.
24724         * lib/wchar_.h: Likewise.
24725         * lib/wctype_.h: Likewise.
24726
24727 2007-05-29  Bruno Haible  <bruno@clisp.org>
24728
24729         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
24730         for the moment.
24731
24732 2007-05-29  Bruno Haible  <bruno@clisp.org>
24733
24734         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
24735         invocation.
24736         Reported by Eric Blake.
24737
24738 2007-05-29  Bruno Haible  <bruno@clisp.org>
24739
24740         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
24741         compiling case.
24742
24743 2007-05-29  Eric Blake  <ebb9@byu.net>
24744             Bruno Haible  <bruno@clisp.org>
24745
24746         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
24747         cross compiles.
24748
24749 2007-05-28  Eric Blake  <ebb9@byu.net>
24750
24751         * modules/closein-tests (test_closein_LDADD): Support test on
24752         cygwin with libtool.
24753
24754 2007-05-28  Bruno Haible  <bruno@clisp.org>
24755
24756         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
24757         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
24758         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
24759         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
24760         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
24761         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
24762         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
24763         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
24764         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
24765
24766 2007-05-28  Eric Blake  <ebb9@byu.net>
24767
24768         Unconditionally include <config.h> in unit tests.
24769         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
24770         * tests/test-allocsa.c, tests/test-arcfour.c,
24771         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
24772         tests/test-array_list.c, tests/test-array_oset.c,
24773         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
24774         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
24775         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
24776         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
24777         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
24778         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
24779         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
24780         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
24781         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
24782         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
24783         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
24784         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
24785         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
24786         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
24787         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
24788         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
24789         test-md5.c, test-memmem.c, test-printf-posix.c,
24790         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
24791         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
24792         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
24793         test-strcasestr.c, test-striconv.c, test-striconveh.c,
24794         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
24795         test-vasnprintf-posix2.c, test-vasnprintf.c,
24796         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
24797         test-vfprintf-posix.c, test-vprintf-posix.c,
24798         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
24799         test-xvasprintf.c: Likewise.
24800
24801 2007-05-28  Bruno Haible  <bruno@clisp.org>
24802
24803         * gnulib-tool (func_import): Remember the --with-tests command-line
24804         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
24805         Reported by Eric Blake.
24806
24807 2007-05-28  Bruno Haible  <bruno@clisp.org>
24808
24809         * modules/ftell-tests: New file.
24810         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
24811         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
24812
24813         * lib/ftell.c: New file.
24814         * modules/ftell: New file.
24815         * m4/ftell.m4: New file.
24816         * doc/functions/ftell.texi: Update.
24817         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
24818         REPLACE_FTELL.
24819         * lib/stdio_.h (rpl_ftell): New declaration.
24820         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
24821         REPLACE_FTELL.
24822
24823 2007-05-28  Eric Blake  <ebb9@byu.net>
24824
24825         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
24826
24827 2007-05-28  Bruno Haible  <bruno@clisp.org>
24828
24829         * modules/fseek-tests: New file.
24830         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
24831         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
24832
24833         * lib/fseek.c: New file.
24834         * modules/fseek: New file.
24835         * m4/fseek.m4: New file.
24836         * doc/functions/fseek.texi: Update.
24837         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
24838         REPLACE_FSEEK.
24839         * lib/stdio_.h (rpl_fseek): New declaration.
24840         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
24841         REPLACE_FSEEK.
24842
24843 2007-05-28  Bruno Haible  <bruno@clisp.org>
24844
24845         * lib/stdio_.h (fflush): More comments.
24846
24847 2007-05-28  Bruno Haible  <bruno@clisp.org>
24848
24849         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
24850         runtime test.
24851
24852 2007-05-28  Eric Blake  <ebb9@byu.net>
24853
24854         Improve lseek module.
24855         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
24856         * lib/unistd_.h (lseek): Scale back link warning message.
24857         * tests/test-lseek.c: Beef up test.
24858         * tests/test-lseek.sh: Exercise more facets of lseek.
24859         Reported by Bruno Haible.
24860
24861 2007-05-28  Bruno Haible  <bruno@clisp.org>
24862
24863         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
24864         to define.
24865
24866 2007-05-27  Bruno Haible  <bruno@clisp.org>
24867
24868         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
24869
24870 2007-05-27  Bruno Haible  <bruno@clisp.org>
24871
24872         * modules/openmp: New file.
24873         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
24874         Noah Misch.
24875
24876 2007-05-26  Bruno Haible  <bruno@clisp.org>
24877
24878         * modules/chdir-long (Depends-on): Add fchdir.
24879         * modules/chdir-safer (Depends-on): Likewise.
24880         * modules/fts (Depends-on): Likewise.
24881         * modules/fts-lgpl (Depends-on): Likewise.
24882         * modules/openat (Depends-on): Likewise.
24883         * modules/savewd (Depends-on): Likewise.
24884
24885 2007-05-24  Eric Blake  <ebb9@byu.net>
24886
24887         Fix lseek on mingw.
24888         * modules/lseek: New module.
24889         * m4/lseek.m4: New file.
24890         * lib/lseek.c: New file.
24891         * modules/lseek-tests: New file.
24892         * tests/test-lseek.c: New file.
24893         * tests/test-lseek.sh: New file.
24894         * MODULES.html.sh: Document lseek module.
24895         * modules/fflush (Depends-on): Add lseek, fseeko.
24896         * modules/fseeko (Depends-on): Likewise.
24897         * modules/ftello (Depends-on): Likewise.
24898         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
24899         broken.
24900         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
24901         broken.
24902         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
24903         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
24904         * lib/ftello.c (rpl_ftello): Likewise.
24905         * tests/test-fseeko.c (main): Test this.
24906         * tests/test-fseeko.sh: Likewise.
24907         * tests/test-ftello.c (main): Likewise.
24908         * tests/test-ftello.sh: Likewise.
24909         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
24910         implies replacing fseek.
24911         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
24912         HAVE_FTELLO.
24913         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
24914         * modules/unistd (Makefile.am): Likewise.
24915         * lib/unistd_.h (lseek): Declare a replacement.
24916         * doc/functions/lseek.texi (lseek): Document this fix.
24917         * doc/functions/fseek.texi (fseek): Likewise.
24918         * doc/functions/ftell.texi (ftell): Likewise.
24919
24920 2007-05-24  Bruno Haible  <bruno@clisp.org>
24921
24922         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
24923         in the printed representation of a NaN.
24924         * tests/test-vasprintf-posix.c (test_function): Likewise.
24925         * tests/test-snprintf-posix.h (test_function): Likewise.
24926         * tests/test-sprintf-posix.h (test_function): Likewise.
24927         Reported by Eric Blake.
24928
24929 2007-05-23  Eric Blake  <ebb9@byu.net>
24930
24931         Fix fseeko/ftello on cygwin 1.5.24.
24932         * doc/functions/fseeko.texi (fseeko): Document the fix.
24933         * doc/functions/ftello.texi (ftello): Document the fix.
24934         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
24935         * doc/functions/stdout.text (stdout): New file.
24936         * doc/functions/stderr.text (stderr): New file.
24937         * doc/gnulib.texi (Function Substitutes): Use new files.
24938         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
24939         prior to 1.7.0.
24940         * tests/test-ftello.c (main): Likewise for ftello.
24941         * tests/test-fseeko.sh: New file.
24942         * tests/test-ftello.sh: New file.
24943         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
24944         with seekable stdin.
24945         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
24946         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
24947         (gl_REPLACE_FSEEKO): New macro.
24948         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
24949         * modules/fseeko (Files): Distribute fseeko.c.
24950         * modules/ftello (Files): Distribute ftello.c.
24951         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
24952         mode.
24953         * lib/ftello.c (rpl_ftello): New file.
24954         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
24955         fseeko, ftello.
24956         (gl_STDIN_LARGE_OFFSET): New macro.
24957         * modules/stdio (Makefile.am): Perform the replacement.
24958         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
24959
24960 2007-05-23  Bruno Haible  <bruno@clisp.org>
24961
24962         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
24963         GNULIB_POSIXCHECK is defined.
24964
24965 2007-05-21  Bruno Haible  <bruno@clisp.org>
24966
24967         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
24968         Check also the output for NaN arguments. When cross-compiling, guess
24969         no on IRIX.
24970         * lib/vasnprintf.c: Update comments.
24971         * tests/test-vasnprintf-posix.c (strisnan): New function.
24972         (test_function): Use it.
24973         * tests/test-vasprintf-posix.c (strisnan): New function.
24974         (test_function): Use it.
24975         * tests/test-snprintf-posix.h (strisnan): New function.
24976         (test_function): Use it.
24977         * tests/test-sprintf-posix.h (strisnan): New function.
24978         (test_function): Use it.
24979         Reported by Eric Blake.
24980
24981 2007-05-20  Bruno Haible  <bruno@clisp.org>
24982
24983         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
24984         numbers that fails on BeOS.
24985         * doc/functions/frexpl.texi: Update.
24986
24987 2007-05-20  Jim Meyering  <jim@meyering.net>
24988
24989         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
24990         forced upon us by glibc-2.6.
24991
24992 2007-05-20  Bruno Haible  <bruno@clisp.org>
24993
24994         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
24995         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
24996         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
24997         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
24998         NEED_PRINTF_INFINITE.
24999         (is_infinitel): New function.
25000         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
25001         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
25002         gl_PREREQ_VASNPRINTF_INFINITE.
25003         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
25004         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
25005         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
25006         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
25007         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
25008         gl_PREREQ_VASNPRINTF_INFINITE.
25009         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
25010         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
25011         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
25012         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
25013         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
25014         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
25015         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
25016         * doc/functions/fprintf.texi: Update.
25017         * doc/functions/printf.texi: Update.
25018         * doc/functions/snprintf.texi: Update.
25019         * doc/functions/sprintf.texi: Update.
25020         * doc/functions/vfprintf.texi: Update.
25021         * doc/functions/vprintf.texi: Update.
25022         * doc/functions/vsnprintf.texi: Update.
25023         * doc/functions/vsprintf.texi: Update.
25024
25025 2007-05-20  Bruno Haible  <bruno@clisp.org>
25026
25027         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
25028         was not found in libc.
25029         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25030
25031 2007-05-20  Bruno Haible  <bruno@clisp.org>
25032
25033         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
25034         printed as "-nan" instead of "nan".
25035         * tests/test-vasprintf-posix.c (test_function): Likewise.
25036         * tests/test-snprintf-posix.h (test_function): Likewise.
25037         * tests/test-sprintf-posix.h (test_function): Likewise.
25038         Needed for HP-UX 11.
25039
25040 2007-05-20  Jim Meyering  <jim@meyering.net>
25041
25042         Fix buggy test for the fchownat-deref bug.
25043         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
25044         symlink required for the run-test.  Without it, this test would
25045         always declare that fchownat doesn't work, and client code would
25046         unnecessarily use the replacement function with fixed libc.
25047         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
25048         Reported by Greg Schafer.
25049
25050 2007-05-19  Bruno Haible  <bruno@clisp.org>
25051
25052         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
25053         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
25054         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
25055         Needed for IRIX 6.5 and Solaris 2.5.1.
25056
25057 2007-05-19  Bruno Haible  <bruno@clisp.org>
25058
25059         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
25060         (test_function): Skip tests involving -0.0 on platforms where
25061         -0.0 = 0.0.
25062         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
25063         (test_function): Skip tests involving -0.0 on platforms where
25064         -0.0 = 0.0.
25065         * tests/test-snprintf-posix.h (have_minus_zero): New function.
25066         (test_function): Skip tests involving -0.0 on platforms where
25067         -0.0 = 0.0.
25068         * tests/test-sprintf-posix.h (have_minus_zero): New function.
25069         (test_function): Skip tests involving -0.0 on platforms where
25070         -0.0 = 0.0.
25071         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
25072         tests.
25073         * tests/test-printf-posix.h (test_function): Likewise.
25074         * tests/test-printf-posix.output: Remove all -0.0 related results.
25075         Needed for IRIX 6.5.
25076
25077 2007-05-19  Bruno Haible  <bruno@clisp.org>
25078
25079         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
25080         printed as "nan0x7fffffff" instead of "nan".
25081         * tests/test-vasprintf-posix.c (test_function): Likewise.
25082         * tests/test-snprintf-posix.h (test_function): Likewise.
25083         * tests/test-sprintf-posix.h (test_function): Likewise.
25084         * tests/test-fprintf-posix.h (NaN): Remove macro.
25085         (test_function): Remove all NaN related tests.
25086         * tests/test-printf-posix.h (NaN): Remove macro.
25087         (test_function): Remove all NaN related tests.
25088         * tests/test-printf-posix.output: Remove all NaN related results.
25089         Needed for IRIX 6.5.
25090
25091 2007-05-19  Bruno Haible  <bruno@clisp.org>
25092
25093         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
25094         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
25095
25096 2007-05-19  Bruno Haible  <bruno@clisp.org>
25097
25098         * lib/float_.h: New file.
25099         * m4/float_h.m4: New file.
25100         * modules/float: New file.
25101         * modules/isnanl (Dependencies): Add float.
25102         * modules/isnanl-nolibm (Dependencies): Likewise.
25103         * modules/mathl (Dependencies): Likewise.
25104         * modules/printf-frexpl (Dependencies): Likewise.
25105         * modules/signbit (Dependencies): Likewise.
25106         * modules/vasnprintf (Dependencies): Likewise.
25107         * doc/headers/float.texi: Update.
25108
25109 2007-05-19  Jim Meyering  <jim@meyering.net>
25110
25111         * lib/utimens.c (gl_futimens): Rename from futimens,
25112         now that glibc-2.6 declares futimens.
25113         * lib/utimens.h: Likewise.
25114
25115 2007-05-19  Bruno Haible  <bruno@clisp.org>
25116
25117         Avoid test failures on mingw.
25118         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
25119         * tests/test-printf-posix.sh: Likewise.
25120         * tests/test-vfprintf-posix.sh: Likewise.
25121         * tests/test-vprintf-posix.sh: Likewise.
25122
25123 2007-05-19  Bruno Haible  <bruno@clisp.org>
25124
25125         Fix *printf result for NaN, Inf, -0.0 on mingw.
25126         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
25127         * lib/vasnprintf.c: Include math.h and isnan.h.
25128         (is_infinite_or_zero): New function.
25129         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
25130         values in the %f, %F, %e, %E, %g, %G directives.
25131         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
25132         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
25133         gl_PRINTF_INFINITE and test its result. Invoke
25134         gl_PREREQ_VASNPRINTF_INFINITE.
25135         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
25136         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
25137         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
25138         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
25139         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
25140         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
25141         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
25142         * doc/functions/fprintf.texi: Update.
25143         * doc/functions/printf.texi: Update.
25144         * doc/functions/snprintf.texi: Update.
25145         * doc/functions/sprintf.texi: Update.
25146         * doc/functions/vfprintf.texi: Update.
25147         * doc/functions/vprintf.texi: Update.
25148         * doc/functions/vsnprintf.texi: Update.
25149         * doc/functions/vsprintf.texi: Update.
25150
25151 2007-05-19  Bruno Haible  <bruno@clisp.org>
25152
25153         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
25154         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
25155         Instead of multiplying with 10^k, set extra_zeroes to k.
25156         (scale10_round_long_double): Remove function.
25157
25158 2007-05-18  Bruno Haible  <bruno@clisp.org>
25159
25160         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
25161         introduced on 2007-05-06.
25162
25163 2007-05-18  Bruno Haible  <bruno@clisp.org>
25164
25165         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
25166         %g directives.
25167         * tests/test-vasprintf-posix.c (test_function): Likewise.
25168         * tests/test-snprintf-posix.h (test_function): Likewise.
25169         * tests/test-sprintf-posix.h (test_function): Likewise.
25170
25171 2007-05-18  Bruno Haible  <bruno@clisp.org>
25172
25173         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
25174         (strmatch): New function.
25175         (test_function): Test the %f directive on numbers of various exponents.
25176         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
25177         (strmatch): New function.
25178         (test_function): Test the %f directive on numbers of various exponents.
25179         * tests/test-snprintf-posix.h (strmatch): New function.
25180         (test_function): Test the %f directive on numbers of various exponents.
25181         * tests/test-sprintf-posix.h (strmatch): New function.
25182         (test_function): Test the %f directive on numbers of various exponents.
25183         * tests/test-snprintf-posix.c (SIZEOF): New macro.
25184         * tests/test-sprintf-posix.c (SIZEOF): New macro.
25185         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
25186         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
25187
25188 2007-05-18  Bruno Haible  <bruno@clisp.org>
25189
25190         Add support for 'long double' number output.
25191         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
25192         * lib/vasnprintf.c: Include math.h and float+.h.
25193         (mp_limb_t): New type.
25194         (GMP_LIMB_BITS): New macro.
25195         (mp_twolimb_t): New type.
25196         (GMP_TWOLIMB_BITS): New macro.
25197         (mpn_t): New type.
25198         (multiply, divide, convert_to_decimal, decode_long_double,
25199         scale10_round_long_double, scale10_round_decimal_long_double,
25200         floorlog10l): New functions.
25201         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
25202         for the %f, %F, %e, %E, %g, %G directives.
25203         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
25204         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
25205         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
25206         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
25207         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
25208         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
25209         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
25210         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
25211         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
25212         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
25213         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
25214         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
25215         * modules/snprintf-posix (Depends-on): Likewise.
25216         * modules/sprintf-posix (Depends-on): Likewise.
25217         * modules/vasnprintf-posix (Depends-on): Likewise.
25218         * modules/vasprintf-posix (Depends-on): Likewise.
25219         * modules/vfprintf-posix (Depends-on): Likewise.
25220         * modules/vsnprintf-posix (Depends-on): Likewise.
25221         * modules/vsprintf-posix (Depends-on): Likewise.
25222         * modules/vasnprintf (Files): Add lib/float+.h.
25223         * doc/functions/fprintf.texi: Update.
25224         * doc/functions/printf.texi: Update.
25225         * doc/functions/snprintf.texi: Update.
25226         * doc/functions/sprintf.texi: Update.
25227         * doc/functions/vfprintf.texi: Update.
25228         * doc/functions/vprintf.texi: Update.
25229         * doc/functions/vsnprintf.texi: Update.
25230         * doc/functions/vsprintf.texi: Update.
25231
25232 2007-05-18  Bruno Haible  <bruno@clisp.org>
25233
25234         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
25235
25236 2007-05-18  Bruno Haible  <bruno@clisp.org>
25237
25238         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
25239         for printing 64-bit integers. Needed for mingw.
25240
25241 2007-05-18  Bruno Haible  <bruno@clisp.org>
25242
25243         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
25244         gl_FUNC_FREXPL_WORKS.
25245         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
25246
25247 2007-05-18  Bruno Haible  <bruno@clisp.org>
25248
25249         * modules/frexpl-nolibm-tests: New file.
25250
25251         * modules/frexpl-nolibm: New file.
25252         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
25253
25254 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
25255
25256         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
25257         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
25258         GCC 4.2, which otherwise issues a lot of warnings.
25259         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
25260         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
25261         Likewise.
25262         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
25263         * modules/iconv_open (iconv.h): Likewise.
25264         * modules/locale (locale.h): Likewise.
25265         * modules/netinet_in (netinet/in.h): Likewise.
25266         * modules/sys_select (sys_select.h): Likewise.
25267         * modules/sys_socket (sys/socket.h): Likewise.
25268         * modules/sys_stat (sys/stat.h): Likewise.
25269         * modules/sysexits (sysexits.h): Likewise.
25270         * modules/unistd (unistd.h): Likewise.
25271
25272 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25273
25274         * modules/closein-tests (Makefile.am): Distribute
25275         `test-closein.sh'.
25276
25277 2007-05-17  Bruno Haible  <bruno@clisp.org>
25278
25279         * tests/test-printf-posix.output: Renamed from
25280         tests/test-fprintf-posix.out.
25281         * modules/fprintf-posix-tests: Update.
25282         * modules/printf-posix-tests: Update.
25283         * modules/vfprintf-posix-tests: Update.
25284         * modules/vprintf-posix-tests: Update.
25285         * tests/test-fprintf-posix.sh: Update.
25286         * tests/test-printf-posix.sh: Update.
25287         * tests/test-vfprintf-posix.sh: Update.
25288         * tests/test-vprintf-posix.sh: Update.
25289         Reported by Ralf Wildenhues.
25290
25291 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
25292
25293         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
25294         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
25295         GCC 4.2, which otherwise issues a lot of warnings.
25296         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
25297         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
25298         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
25299         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
25300         it should no longer be needed.
25301         * lib/string_.h: Likewise.
25302         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
25303         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
25304         * modules/inttypes (inttypes.h): Likewise.
25305         * modules/math (math.h): Likewise.
25306         * modules/search (search.h): Likewise.
25307         * modules/signal (signal.h): Likewise.
25308         * modules/stdint (stdint.h): Likewise.
25309         * modules/stdio (stdio.h): Likewise.
25310         * modules/stdlib (stdlib.h): Likewise.
25311         * modules/string (string.h): Likewise.
25312         * modules/sys_time (sys/time.h): Likewise.
25313         * modules/time (time.h): Likewise.
25314         * modules/wchar (wchar.h): Likewise.
25315         * modules/wctype (wtype.h): Likewise.
25316
25317 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
25318
25319         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
25320
25321 2007-05-13  Bruno Haible  <bruno@clisp.org>
25322
25323         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
25324         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
25325         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
25326         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
25327         (gl_PREREQ_STRTOK_R): Don't require it here.
25328
25329 2007-05-13  Bruno Haible  <bruno@clisp.org>
25330
25331         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
25332         when used in C++ mode.
25333
25334 2007-05-12  Bruno Haible  <bruno@clisp.org>
25335
25336         * lib/linebuffer.h: Tweak doc.
25337         * lib/linebuffer.c: Likewise.
25338
25339 2007-05-12  James Youngman  <jay@gnu.org>
25340
25341         * lib/linebuffer.c (readlinebuffer_delim): New function,
25342         like readlinebuffer, but use a caller-specified delimiter.
25343         (readlinebuffer): Just call readlinebuffer_delim with '\n'
25344         as the delimiter.
25345         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
25346
25347 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
25348
25349         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
25350         * modules/openat (Files): Remove openat-die.c.
25351         (Depends-on): Add openat-die.
25352         * modules/openat-die: New module.
25353
25354 2007-05-06  Bruno Haible  <bruno@clisp.org>
25355
25356         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
25357         Update with info about Cygwin.
25358         * doc/functions/fprintf.texi: Update.
25359         * doc/functions/printf.texi: Update.
25360         * doc/functions/snprintf.texi: Update.
25361         * doc/functions/sprintf.texi: Update.
25362         * doc/functions/vfprintf.texi: Update.
25363         * doc/functions/vprintf.texi: Update.
25364         * doc/functions/vsnprintf.texi: Update.
25365         * doc/functions/vsprintf.texi: Update.
25366         Reported by Eric Blake.
25367
25368 2007-05-06  Bruno Haible  <bruno@clisp.org>
25369
25370         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
25371         padding ourselves for the floating-point directives.
25372         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
25373         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
25374         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
25375         gl_PRINTF_FLAG_ZERO and test its result. Invoke
25376         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
25377         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
25378         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
25379         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
25380         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
25381         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
25382         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
25383         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
25384         * tests/test-snprintf-posix.h (test_function): Also check the width
25385         and some flags in the %f directive.
25386         * tests/test-sprintf-posix.h (test_function): Likewise.
25387         * tests/test-vasnprintf-posix.c (test_function): Likewise.
25388         * tests/test-vasprintf-posix.c (test_function): Likewise.
25389         * doc/functions/fprintf.texi: Update.
25390         * doc/functions/printf.texi: Update.
25391         * doc/functions/snprintf.texi: Update.
25392         * doc/functions/sprintf.texi: Update.
25393         * doc/functions/vfprintf.texi: Update.
25394         * doc/functions/vprintf.texi: Update.
25395         * doc/functions/vsnprintf.texi: Update.
25396         * doc/functions/vsprintf.texi: Update.
25397
25398 2007-05-06  Bruno Haible  <bruno@clisp.org>
25399
25400         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
25401         pass the ' flag character to sprintf or snprintf.
25402         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
25403         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
25404         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
25405         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
25406         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
25407         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
25408         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
25409         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
25410         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
25411         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
25412         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
25413         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
25414         * tests/test-snprintf-posix.h (test_function): Also check the grouping
25415         flag.
25416         * tests/test-sprintf-posix.h (test_function): Likewise.
25417         * tests/test-vasnprintf-posix.c (test_function): Likewise.
25418         * tests/test-vasprintf-posix.c (test_function): Likewise.
25419         * doc/functions/fprintf.texi: Update.
25420         * doc/functions/printf.texi: Update.
25421         * doc/functions/snprintf.texi: Update.
25422         * doc/functions/sprintf.texi: Update.
25423         * doc/functions/vfprintf.texi: Update.
25424         * doc/functions/vprintf.texi: Update.
25425         * doc/functions/vsnprintf.texi: Update.
25426         * doc/functions/vsprintf.texi: Update.
25427
25428 2007-05-01  Bruno Haible  <bruno@clisp.org>
25429
25430         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
25431
25432 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
25433
25434         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
25435         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
25436
25437 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
25438
25439         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
25440         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
25441         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
25442
25443 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
25444
25445         * lib/argp-help.c (struct hol_entry): New member `ord'.
25446         (HOL_ENTRY_PTRCMP): Use ord for comparison
25447         (hol_sort): Initialize ord.
25448
25449 2007-05-01  Bruno Haible  <bruno@clisp.org>
25450
25451         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
25452         Reported by Eric Blake.
25453         * doc/gnulib.texi (Function Substitutes): Update.
25454
25455 2007-05-01  Bruno Haible  <bruno@clisp.org>
25456
25457         * doc/functions.texi: Remove file, now redundant through
25458         doc/functions/*.texi.
25459
25460 2007-05-01  Bruno Haible  <bruno@clisp.org>
25461
25462         * modules/argp (Depends-on): Add sleep.
25463
25464 2007-05-01  Bruno Haible  <bruno@clisp.org>
25465
25466         * modules/sleep-tests: New file.
25467         * tests/test-sleep.c: New file.
25468
25469         * modules/sleep: New file.
25470         * lib/sleep.c: New file.
25471         * m4/sleep.m4: New file.
25472         * lib/unistd_.h (sleep): New declaration.
25473         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
25474         HAVE_SLEEP.
25475         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
25476         * doc/functions/sleep.texi: Document the sleep module.
25477
25478 2007-05-01  Bruno Haible  <bruno@clisp.org>
25479
25480         * lib/sigprocmask.h: Remove file.
25481         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
25482         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
25483         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
25484         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
25485         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
25486         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
25487         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
25488         HAVE_SIGSET_T as a shell variable.
25489         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
25490         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
25491         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
25492         (Depends-on): Add signal. Remove verify.
25493         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
25494         (Include): Mention <signal.h> instead of sigprocmask.h.
25495         * NEWS: Mention the change.
25496         * lib/fatal-signal.c: Don't include sigprocmask.h.
25497
25498 2007-05-01  Bruno Haible  <bruno@clisp.org>
25499
25500         * modules/signal: New file.
25501         * lib/signal_.h: New file.
25502         * m4/signal_h.m4: New file.
25503
25504 2007-05-01  Bruno Haible  <bruno@clisp.org>
25505
25506         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
25507         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
25508         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
25509         HAVE_WCTYPE_CTMP_BUG into wctype.h.
25510
25511 2007-05-01  Bruno Haible  <bruno@clisp.org>
25512
25513         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
25514         configure time.
25515         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
25516         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
25517         * modules/sys_stat (Makefile.am): Substitute their values into
25518         sys/stat.h.
25519
25520 2007-05-01  Bruno Haible  <bruno@clisp.org>
25521
25522         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
25523         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
25524         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
25525
25526 2007-05-01  Bruno Haible  <bruno@clisp.org>
25527
25528         * doc/header/assert.texi: Undo last change: don't mention the gnulib
25529         'assert' module here.
25530
25531 2007-05-01  Bruno Haible  <bruno@clisp.org>
25532
25533         * doc/functions/*.texi: New files.
25534         * doc/functions/google-ranking.txt: New file.
25535         * doc/gnulib.texi (Function Substitutes): New chapter.
25536         (ctime, inet_ntoa): Remove sections.
25537         * doc/ctime.texi: Remove file.
25538         * doc/inet_ntoa.texi: Remove file.
25539         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
25540         dependencies.
25541         (%.info): New rule, specifying a --reference-limit.
25542
25543 2007-05-01  Bruno Haible  <bruno@clisp.org>
25544
25545         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
25546
25547 2007-05-01  Bruno Haible  <bruno@clisp.org>
25548
25549         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
25550         the portability of 'mkdir' to mingw systems.
25551
25552 2007-05-01  Bruno Haible  <bruno@clisp.org>
25553
25554         * doc/headers/google-ranking.txt: New file.
25555
25556 2007-04-30  Eric Blake  <ebb9@byu.net>
25557
25558         Prefer fseeko to fseek.
25559         * modules/getpass (Depends-on): Add fseeko.
25560         * lib/getpass.c (getpass): Use fseeko, not fseek.
25561
25562 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
25563
25564         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
25565         assumes the sorting is stable, while most qsort implementations
25566         are not.  Use argument addresses to ensure they never compare as
25567         equal.
25568
25569         * tests/test-argp-2.sh (usage-indent test): Fix output
25570         (func_compare): Restore diff options
25571         * tests/test-argp.c: Restore #include "progname.h"
25572
25573 2007-04-29  Bruno Haible  <bruno@clisp.org>
25574
25575         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
25576         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
25577         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
25578         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
25579         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
25580         (configure.ac): Define CHECK_SNPRINTF_POSIX.
25581         (TESTS, check_PROGRAMS): Add test-snprintf.
25582         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
25583         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
25584         (TESTS, check_PROGRAMS): Add test-vsnprintf.
25585         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
25586         assertions that fail on HP-UX, OSF/1, or IRIX.
25587         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
25588
25589 2007-04-29  Bruno Haible  <bruno@clisp.org>
25590
25591         * MODULES.html.sh (posix_functions): Remove 'contents'.
25592
25593 2007-04-29  Karl Berry  <karl@gnu.org>
25594
25595         * config/srclist.txt (gendocs_template_min): new entry.
25596
25597 2007-04-29  Bruno Haible  <bruno@clisp.org>
25598
25599         Work around fpurge bug on BSD systems.
25600         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
25601         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
25602         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
25603         fpurge to rpl_fpurge if the system already has this function.
25604         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
25605         the case where the system already has this function. Correct invariants
25606         on BSD systems.
25607         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
25608         BSD systems.
25609
25610 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
25611
25612         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
25613         proposed by Sven Verdoolaege.
25614
25615         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
25616         options.
25617         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
25618         (usage and help tests): Update
25619
25620 2007-04-29  Bruno Haible  <bruno@clisp.org>
25621
25622         * tests/test-fflush.c (main): Use a file of size 17, not 10.
25623         Print more information in case of failure. Disable a test on BeOS.
25624
25625 2007-04-29  Bruno Haible  <bruno@clisp.org>
25626
25627         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
25628         This helps debugging on systems on which no gdb is available.
25629
25630 2007-04-29  Bruno Haible  <bruno@clisp.org>
25631
25632         * lib/freading.h: Improve comments.
25633         * lib/fwriting.h: Likewise.
25634         * tests/test-freading.c (main): Don't check freading immediately after
25635         repositioning. Needed for glibc.
25636
25637 2007-04-29  Bruno Haible  <bruno@clisp.org>
25638
25639         * lib/freading.c (freading): Trivial simplification.
25640
25641 2007-04-28  Bruno Haible  <bruno@clisp.org>
25642
25643         * tests/test-fwriting.c (main): Also test the interaction between
25644         fflush and fwriting.
25645         * modules/fwriting-tests (Depends-on): Add fflush.
25646
25647         * tests/test-freading.c (main): Also test the interaction between
25648         fflush and freading.
25649         * modules/freading-tests (Depends-on): Add fflush.
25650
25651 2007-04-28  Bruno Haible  <bruno@clisp.org>
25652
25653         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
25654         fseeko and ftello.
25655         Suggested by Eric Blake.
25656
25657 2007-04-28  Jim Meyering  <jim@meyering.net>
25658
25659         Avoid false-negative in gl_STDINT_H's C99 conformance test.
25660         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
25661         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
25662
25663 2007-04-27  Eric Blake  <ebb9@byu.net>
25664
25665         * doc/headers/assert.texi (assert.h): Document assert module use.
25666
25667 2007-04-27  Bruno Haible  <bruno@clisp.org>
25668
25669         * doc/headers/*.texi: New files.
25670         * doc/gnulib.texi (Header File Substitutes): New chapter.
25671         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
25672         dependencies.
25673         (standards.info ,standards.html, standards.dvi): Update dependencies.
25674         (mostlyclean, clean): New targets.
25675
25676 2007-04-27  Bruno Haible  <bruno@clisp.org>
25677
25678         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
25679         * modules/sysexits (Files, Makefile.am): Update.
25680
25681         * lib/sys_socket_.h: Renamed from lib/socket_.h.
25682         * modules/sys_socket (Files, Makefile.am): Update.
25683
25684         * lib/sys_stat_.h: Renamed from lib/stat_.h.
25685         * modules/sys_stat (Files, Makefile.am): Update.
25686
25687 2007-04-27  Eric Blake  <ebb9@byu.net>
25688
25689         * lib/freading.h: Improve comments.
25690         * lib/fwriting.h: Likewise.
25691         * lib/fflush.c: Likewise.
25692
25693         Fix closein for mingw.
25694         * modules/closein-tests: Add tests for closein.
25695         * tests/test-closein.c: New file.
25696         * tests/test-closein.sh: Likewise.
25697         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
25698         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
25699
25700 2007-04-27  Bruno Haible  <bruno@clisp.org>
25701
25702         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
25703         version is < 6.
25704         * lib/math_.h [__DECC]: Likewise.
25705         * lib/stdio_.h [__DECC]: Likewise.
25706         * lib/stdlib_.h [__DECC]: Likewise.
25707         * lib/string_.h [__DECC]: Likewise.
25708         * lib/time_.h [__DECC]: Likewise.
25709         * lib/wchar_.h [__DECC]: Likewise.
25710         * lib/wctype_.h [__DECC]: Likewise.
25711
25712 2007-04-27  Bruno Haible  <bruno@clisp.org>
25713
25714         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
25715
25716 2007-04-27  Bruno Haible  <bruno@clisp.org>
25717
25718         * lib/fflush.c: Add comments.
25719         * modules/fpurge-tests (Depends-on): Add fflush.
25720         * modules/freadable-tests (Depends-on): Likewise.
25721         * modules/fwritable-tests (Depends-on): Likewise.
25722
25723 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
25724
25725         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
25726         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
25727         Report by Bruno Haible <bruno@clisp.org>.
25728
25729 2007-04-26  Eric Blake  <ebb9@byu.net>
25730
25731         Fix fflush on mingw.
25732         * modules/fflush (Depends-on): Add freading.
25733         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
25734         but unread data.
25735
25736 2007-04-26  Eric Blake  <ebb9@byu.net>
25737         and Bruno Haible  <bruno@clisp.org>
25738
25739         Implement freading and fwriting.
25740         * lib/freading.c: New file.
25741         * lib/freading.h: Likewise.
25742         * m4/freading.m4: Likewise.
25743         * modules/freading: Likewise.
25744         * modules/freading-tests: Likewise.
25745         * tests/test-freading.c: Likewise.
25746         * lib/fwriting.c: New file.
25747         * lib/fwriting.h: Likewise.
25748         * m4/fwriting.m4: Likewise.
25749         * modules/fwriting: Likewise.
25750         * modules/fwriting-tests: Likewise.
25751         * tests/test-fwriting.c: Likewise.
25752         * MODULES.html.sh (File stream based Input/Output): Mention them.
25753
25754 2007-04-26  Bruno Haible  <bruno@clisp.org>
25755
25756         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
25757         'long' when we assume it.
25758         Suggested by Eric Blake.
25759
25760 2007-04-26  Bruno Haible  <bruno@clisp.org>
25761
25762         Ensure fseeko, ftello are declared on glibc systems.
25763         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
25764         * modules/fseeko (configure.ac-early): Likewise.
25765         * modules/ftello (configure.ac-early): Likewise.
25766         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
25767         AC_FUNC_FSEEKO for this.
25768         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
25769         (gl_CHECK_FSEEKO): Remove macro.
25770
25771 2007-04-26  Bruno Haible  <bruno@clisp.org>
25772
25773         * tests/test-fflush.c (main): Also check the ftell result after
25774         fflush and fseek/fseeko.
25775         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
25776         file descriptor position cache in the stream.
25777         * lib/fseeko.c (rpl_fseeko): Likewise.
25778
25779 2007-04-26  Bruno Haible  <bruno@clisp.org>
25780
25781         * modules/fflush-tests (Depends-on): Add fseeko.
25782
25783 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
25784             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25785
25786         * lib/argz_.h: ensure error_t definition is obtained in same
25787         mechanism system argz.h would have.
25788         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
25789         argz facilities are known bad.  Err on the side of caution if
25790         cross-compiling.
25791
25792 2007-04-25  Eric Blake  <ebb9@byu.net>
25793
25794         * lib/fpurge.c (includes): Use stdlib.h for free.
25795         * tests/test-fflush.c (main): Also test fflush-fseeko.
25796
25797 2007-04-25  Bruno Haible  <bruno@clisp.org>
25798
25799         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
25800         * lib/fseeko.c: New file.
25801         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
25802         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
25803         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
25804         gl_FUNC_FSEEKO.
25805         (gl_FUNC_FSEEKO): Invoke it.
25806         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
25807         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
25808         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
25809
25810 2007-04-25  Bruno Haible  <bruno@clisp.org>
25811
25812         * modules/fflush (Depends-on): Add ftello.
25813
25814 2007-04-25  Bruno Haible  <bruno@clisp.org>
25815
25816         * modules/ftello-tests: New file.
25817         * tests/test-ftello.c: New file.
25818
25819         * modules/ftello: New file.
25820         * m4/ftello.m4: New file.
25821         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
25822         HAVE_FTELLO.
25823         * lib/stdio_.h (ftello): New declaration.
25824         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
25825         HAVE_FTELLO.
25826
25827 2007-04-25  Bruno Haible  <bruno@clisp.org>
25828
25829         * modules/fseeko-tests: New file.
25830         * tests/test-fseeko.c: New file.
25831
25832         * modules/fseeko: New file.
25833         * m4/fseeko.m4: New file.
25834         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
25835         HAVE_FSEEKO.
25836         * lib/stdio_.h (fseeko): New declaration.
25837         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
25838         HAVE_FSEEKO.
25839
25840 2007-04-25  Bruno Haible  <bruno@clisp.org>
25841
25842         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
25843
25844 2007-04-25  Bruno Haible  <bruno@clisp.org>
25845
25846         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
25847         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
25848         * tests/test-unistd.c: Likewise.
25849         * tests/test-fcntl.c: Likewise.
25850
25851 2007-04-23  Eric Blake  <ebb9@byu.net>
25852
25853         * lib/fflush.c: Fix missing include.
25854         Reported by Bruno Haible.
25855
25856 2007-04-23  Bruno Haible  <bruno@clisp.org>
25857
25858         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
25859         Reported by Eric Blake.
25860
25861 2007-04-23  Bruno Haible  <bruno@clisp.org>
25862
25863         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
25864
25865 2007-04-23  Bruno Haible  <bruno@clisp.org>
25866
25867         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
25868
25869 2007-04-23  Bruno Haible  <bruno@clisp.org>
25870
25871         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
25872         Needed on HP-UX 11.
25873
25874 2007-04-16  Eric Blake  <ebb9@byu.net>
25875
25876         Make fflush rely on fpurge.
25877         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
25878         open coding all variants.
25879         * modules/fflush (Depends-on): Add fpurge and unistd.
25880         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
25881         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
25882
25883         Fix --with-tests compilation on cygwin.
25884         * modules/argmatch-tests (Makefile.am): List gnulib library first
25885         in LDADD.
25886         * modules/argp-tests (Makefile.am): Likewise.
25887         * modules/array-list-tests (Makefile.am): Likewise.
25888         * modules/array-oset-tests (Makefile.am): Likewise.
25889         * modules/avltree-list-tests (Makefile.am): Likewise.
25890         * modules/avltree-oset-tests (Makefile.am): Likewise.
25891         * modules/avltreehash-list-tests (Makefile.am): Likewise.
25892         * modules/carray-list-tests (Makefile.am): Likewise.
25893         * modules/dirname-tests (Makefile.am): Likewise.
25894         * modules/frexp-tests (Makefile.am): Likewise.
25895         * modules/isnanl-tests (Makefile.am): Likewise.
25896         * modules/linked-list-tests (Makefile.am): Likewise.
25897         * modules/linkedhash-list-tests (Makefile.am): Likewise.
25898         * modules/lock-tests (Makefile.am): Likewise.
25899         * modules/rbtree-list-tests (Makefile.am): Likewise.
25900         * modules/rbtree-oset-tests (Makefile.am): Likewise.
25901         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
25902         * modules/tls-tests (Makefile.am): Likewise.
25903         * modules/tsearch-tests (Makefile.am): Likewise.
25904         * modules/xvasprintf-tests (Makefile.am): Likewise.
25905
25906         Fix fpurge for cygwin.
25907         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
25908         value.
25909         * modules/fpurge-tests (Depends-on): Clean up trash.
25910
25911 2007-04-16  Simon Josefsson  <simon@josefsson.org>
25912
25913         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
25914
25915         * m4/autobuild.m4: Re-indent.
25916
25917 2007-04-13  Bruno Haible  <bruno@clisp.org>
25918
25919         * modules/fpurge-tests: New file.
25920         * tests/test-fpurge.c: New file.
25921
25922         * modules/fpurge: New file.
25923         * lib/fpurge.h: New file.
25924         * lib/fpurge.c: New file.
25925         * m4/fpurge.m4: New file.
25926
25927 2007-04-13  Bruno Haible  <bruno@clisp.org>
25928
25929         * modules/fbufmode-tests: New file.
25930         * tests/test-fbufmode.c: New file.
25931
25932         * modules/fbufmode: New file.
25933         * lib/fbufmode.h: New file.
25934         * lib/fbufmode.c: New file.
25935         * m4/fbufmode.m4: New file.
25936
25937 2007-04-13  Bruno Haible  <bruno@clisp.org>
25938
25939         * modules/fwritable-tests: New file.
25940         * tests/test-fwritable.c: New file.
25941
25942         * modules/fwritable: New file.
25943         * lib/fwritable.h: New file.
25944         * lib/fwritable.c: New file.
25945         * m4/fwritable.m4: New file.
25946
25947 2007-04-13  Bruno Haible  <bruno@clisp.org>
25948
25949         * modules/freadable-tests: New file.
25950         * tests/test-freadable.c: New file.
25951
25952         * modules/freadable: New file.
25953         * lib/freadable.h: New file.
25954         * lib/freadable.c: New file.
25955         * m4/freadable.m4: New file.
25956
25957 2007-04-13  Bruno Haible  <bruno@clisp.org>
25958
25959         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
25960         MOSTLYCLEANFILES.
25961
25962 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
25963
25964         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
25965         gzip bootstrap.conf to avoid dragging in i18n machinery.
25966         (gnulib_tool_option): Use it.
25967
25968 2007-04-13  Bruno Haible  <bruno@clisp.org>
25969
25970         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
25971         %F directives.
25972         * tests/test-vasprintf-posix.c (test_function): Likewise.
25973         * tests/test-snprintf-posix.h (test_function): Likewise.
25974         * tests/test-sprintf-posix.h (test_function): Likewise.
25975         * tests/test-fprintf-posix.h (test_function): Likewise.
25976         * tests/test-printf-posix.h (test_function): Likewise.
25977         * tests/test-fprintf-posix.out: Likewise.
25978
25979 2007-04-13  Bruno Haible  <bruno@clisp.org>
25980
25981         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
25982         * modules/tls-tests (configure.ac): Likewise.
25983         Reported by Arto C. Nirkko <anirkko@insel.ch>.
25984
25985 2007-04-13  Bruno Haible  <bruno@clisp.org>
25986
25987         * lib/tls.c (glthread_tls_get): Fix return type.
25988         Patch by Arto C. Nirkko <anirkko@insel.ch>.
25989
25990 2007-04-12  Eric Blake  <ebb9@byu.net>
25991
25992         * modules/gettime (Depends-on): Remove gettime.
25993         Reported by Dmitry V. Levin.
25994
25995 2007-04-12  Bruno Haible  <bruno@clisp.org>
25996
25997         * modules/fflush (Include): Mention <stdio.h>.
25998         * modules/strtoimax (Include): Mention <inttypes.h>.
25999         * modules/strtoumax (Include): Likewise.
26000
26001 2007-04-12  Eric Blake  <ebb9@byu.net>
26002
26003         * .cvsignore: New file.
26004         * .gitignore: Likewise.
26005
26006 2007-04-12  Bruno Haible  <bruno@clisp.org>
26007
26008         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
26009         not before, since $(LDADD) often contains libgnu.a.
26010         * modules/striconv-tests (test_striconv_LDADD): Likewise.
26011         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
26012         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
26013         Needed on Cygwin.
26014
26015 2007-04-12  Eric Blake  <ebb9@byu.net>
26016
26017         Work around glibc's failure to flush stdin on fclose.
26018         * lib/closein.c (close_stdin): Flush stdin before closing.
26019
26020         Work around glibc's failure to reset seekable stdin on exit.
26021         * modules/closein: New module.
26022         * lib/closein.c: New file.
26023         * lib/closein.h: Likewise.
26024         * m4/closein.m4: Likewise.
26025         * MODULES.html.sh (File stream based Input/Output): Document it.
26026
26027 2007-04-12  Simon Josefsson  <simon@josefsson.org>
26028
26029         * gnulib-tool: Rename generated 'autobuild' script to
26030         'do-autobuild' in --create-megatestdir output.
26031
26032         * doc/gnulib.texi (Build robot for gnulib): Fix.
26033
26034 2007-04-12  Simon Josefsson  <simon@josefsson.org>
26035
26036         * modules/sysexits (Depends-on): Add absolute-header.
26037
26038 2007-04-12  Eric Blake  <ebb9@byu.net>
26039
26040         No need to preserve errno on success.
26041         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
26042         Reported by Bruno Haible.
26043
26044 2007-04-12  Simon Josefsson  <simon@josefsson.org>
26045
26046         * MODULES.html.sh (Support for maintaining and releasing
26047         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
26048
26049 2007-04-12  Simon Josefsson  <simon@josefsson.org>
26050
26051         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
26052
26053 2007-04-12  Simon Josefsson  <simon@josefsson.org>
26054
26055         * modules/autobuild: New module.
26056
26057         * m4/autobuild.m4: New file.
26058
26059 2007-04-11  Bruno Haible  <bruno@clisp.org>
26060
26061         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
26062         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
26063         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
26064         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
26065         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
26066         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
26067         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
26068         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
26069         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
26070         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
26071         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
26072         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
26073         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
26074         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
26075         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
26076         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
26077         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
26078         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
26079         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
26080         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
26081         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
26082         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
26083         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
26084         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
26085         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
26086         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
26087         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
26088         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
26089         Reported by Eric Blake.
26090
26091 2007-04-11  Bruno Haible  <bruno@clisp.org>
26092
26093         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
26094
26095 2007-04-10  Bruno Haible  <bruno@clisp.org>
26096
26097         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
26098         for NaN and Infinity. Needed on FreeBSD 6.1.
26099         * tests/test-vasnprintf-posix.c (test_function): Undo last change
26100         regarding results for "%010a" of Infinity and NaN.
26101         * tests/test-vasprintf-posix.c (test_function): Likewise.
26102         * tests/test-snprintf-posix.h (test_function): Likewise.
26103         * tests/test-sprintf-posix.h (test_function): Likewise.
26104         * tests/test-fprintf-posix.h (test_function): Likewise.
26105         * tests/test-printf-posix.h (test_function): Likewise.
26106         * tests/test-fprintf-posix.out: Likewise.
26107
26108 2007-04-10  Bruno Haible  <bruno@clisp.org>
26109
26110         * modules/locale-tests: New file.
26111         * tests/test-locale.c: New file.
26112
26113         * modules/locale: New file.
26114         * lib/locale_.h: New file.
26115         * m4/locale_h.m4: New file.
26116
26117 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
26118             Bruno Haible  <bruno@clisp.org>
26119
26120         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
26121         be determined, test for availability of the copysignf, copysign,
26122         copysignl functions.
26123         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
26124         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
26125         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
26126
26127 2007-04-09  Eric Blake  <ebb9@byu.net>
26128
26129         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
26130         * modules/stdio (Makefile.am): Support fflush.
26131         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
26132         * modules/fflush: New file.
26133         * lib/fflush.c: Likewise.
26134         * m4/fflush.m4: Likewise.
26135         * modules/fflush-tests: New test.
26136         * tests/test-fflush.c: Likewise.
26137         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
26138
26139 2007-04-06  Bruno Haible  <bruno@clisp.org>
26140
26141         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
26142         (VASNPRINTF): Use signbit for faster determination whether to print a
26143         minus sign.
26144         * modules/vasnprintf (Files): Remove lib/float+.h.
26145         * modules/fprintf-posix (Depends-on): Add signbit.
26146         * modules/snprintf-posix (Depends-on): Likewise.
26147         * modules/sprintf-posix (Depends-on): Likewise.
26148         * modules/vasnprintf-posix (Depends-on): Likewise.
26149         * modules/vasprintf-posix (Depends-on): Likewise.
26150         * modules/vfprintf-posix (Depends-on): Likewise.
26151         * modules/vsnprintf-posix (Depends-on): Likewise.
26152         * modules/vsprintf-posix (Depends-on): Likewise.
26153
26154 2007-04-06  Bruno Haible  <bruno@clisp.org>
26155
26156         * tests/test-frexp.c (main): Test also the sign bit of zero results.
26157         * tests/test-frexpl.c (main): Likewise.
26158         * tests/test-ldexpl.c (main): Likewise.
26159         * modules/frexp-tests (Depends-on): Add signbit.
26160         * modules/frexpl-tests (Depdends-on): Likewise.
26161         * modules/ldexpl-tests (Depdends-on): Likewise.
26162
26163 2007-04-06  Bruno Haible  <bruno@clisp.org>
26164
26165         * modules/signbit-tests: New file.
26166         * tests/test-signbit.c: New file.
26167
26168         * modules/signbit: New file.
26169         * lib/signbitf.c: New file.
26170         * lib/signbitd.c: New file.
26171         * lib/signbitl.c: New file.
26172         * m4/signbit.m4: New file.
26173         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
26174         (signbit): New macro.
26175         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
26176         REPLACE_SIGNBIT.
26177         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
26178         REPLACE_FREXPL into math.h.
26179
26180 2007-04-06  Bruno Haible  <bruno@clisp.org>
26181
26182         * modules/isnanf-nolibm-tests: New file.
26183         * tests/test-isnanf.c: New file.
26184
26185         * modules/isnanf-nolibm: New file.
26186         * lib/isnanf.h: New file.
26187         * lib/isnanf.c: New file.
26188         * lib/isnan.c: Consider the USE_FLOAT macro.
26189         * m4/isnanf.m4: New file.
26190
26191 2007-04-06  Bruno Haible  <bruno@clisp.org>
26192
26193         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
26194         (Link): New section.
26195
26196         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
26197
26198 2007-04-06  Bruno Haible  <bruno@clisp.org>
26199
26200         Assume the 'long double' type.
26201         * m4/longdouble.m4: Remove file.
26202         * config/srclist.txt: Don't mention longdouble.m4.
26203         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
26204         * lib/float+.h: Likewise.
26205         * lib/frexp.c: Likewise.
26206         * lib/printf-args.h: Likewise.
26207         * lib/printf-args.c: Likewise.
26208         * lib/printf-frexp.c: Likewise.
26209         * lib/printf-parse.c: Likewise.
26210         * lib/vasnprintf.c: Likewise.
26211         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
26212         * m4/intl.m4: Likewise.
26213         * m4/isnanl.m4: Likewise.
26214         * m4/printf.m4: Likewise.
26215         * m4/printf-frexpl.m4: Likewise.
26216         * m4/vasnprintf.m4: Likewise.
26217         * modules/allocsa (Files): Remove m4/longdouble.m4.
26218         * modules/gettext (Files): Likewise.
26219         * modules/relocatable-prog-wrapper (Files): Likewise.
26220         * modules/vasnprintf (Files): Likewise.
26221         * modules/isnanl (Files): Likewise.
26222         (Include): Simplify.
26223         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
26224         (Include): Simplify.
26225         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
26226         (Include): Simplify.
26227         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
26228         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
26229         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
26230         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
26231         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
26232         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
26233         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
26234         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
26235         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
26236         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
26237         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
26238         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
26239         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
26240         * tests/test-isnanl.c: Likewise.
26241         * tests/test-snprintf-posix.h: Likewise.
26242         * tests/test-sprintf-posix.h: Likewise.
26243         * tests/test-vasnprintf-posix.c: Likewise.
26244         * tests/test-vasnprintf-posix2.c: Likewise.
26245         * tests/test-vasprintf-posix.c: Likewise.
26246
26247 2007-04-06  Bruno Haible  <bruno@clisp.org>
26248
26249         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
26250         * lib/math_.h [__DECC]: Include the overridden include file through
26251         #include_next, outside the double-inclusion guard.
26252         * lib/stdio_.h [__DECC]: Likewise.
26253         * lib/stdlib_.h [__DECC]: Likewise.
26254         * lib/string_.h [__DECC]: Likewise.
26255         * lib/time_.h [__DECC]: Likewise.
26256         * lib/wchar_.h [__DECC]: Likewise.
26257         * lib/wctype_.h [__DECC]: Likewise.
26258         * lib/inttypes_.h [__DECC]: Likewise.
26259         Reported by Albert Chin <china@thewrittenword.com> in
26260         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
26261
26262 2007-04-04  Eric Blake  <ebb9@byu.net>
26263
26264         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
26265         1.5.x.
26266
26267 2007-04-04  Bruno Haible  <bruno@clisp.org>
26268
26269         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
26270         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
26271
26272 2007-04-04  Bruno Haible  <bruno@clisp.org>
26273
26274         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
26275         results for "%010a" of Infinity and NaN.
26276         * tests/test-vasprintf-posix.c (test_function): Likewise.
26277         * tests/test-snprintf-posix.h (test_function): Likewise.
26278         * tests/test-sprintf-posix.h (test_function): Likewise.
26279         * tests/test-fprintf-posix.h (test_function): Remove these tests.
26280         * tests/test-printf-posix.h (test_function): Likewise.
26281         * tests/test-fprintf-posix.out: Update.
26282         Needed for FreeBSD 6.1.
26283
26284 2007-04-04  Bruno Haible  <bruno@clisp.org>
26285
26286         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
26287         directly used by the gnulib modules nor by gnulib-tool.
26288
26289 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
26290
26291         * DEPENDENCIES: Give overall description of version dependency
26292         desirability.  Use more-typical names for apps.
26293         Add shell, coreutils, diffutils, grep, tar, gzip.
26294
26295 2007-04-04  Simon Josefsson  <simon@josefsson.org>
26296
26297         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
26298
26299 2007-04-04  Karl Berry  <karl@gnu.org>
26300
26301         * MODULES.html.sh (func_module): missing '.
26302
26303 2007-04-03  Bruno Haible  <bruno@clisp.org>
26304
26305         * modules/argmatch-tests (Makefile.am): New variable
26306         test_argmatch_LDADD.
26307         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
26308         * modules/array-list-tests (Makefile.am): New variable
26309         test_array_list_LDADD.
26310         * modules/array-oset-tests (Makefile.am): New variable
26311         test_array_oset_LDADD.
26312         * modules/avltree-list-tests (Makefile.am): New variable
26313         test_avltree_list_LDADD.
26314         * modules/avltree-oset-tests (Makefile.am): New variable
26315         test_avltree_oset_LDADD.
26316         * modules/avltreehash-list-tests (Makefile.am): New variable
26317         test_avltreehash_list_LDADD.
26318         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
26319         test_canonicalize_lgpl_LDADD.
26320         * modules/carray-list-tests (Makefile.am): New variable
26321         test_carray_list_LDADD.
26322         * modules/dirname-tests (Makefile.am): New variable
26323         test_dirname_LDADD.
26324         * modules/linked-list-tests (Makefile.am): New variable
26325         test_linked_list_LDADD.
26326         * modules/linkedhash-list-tests (Makefile.am): New variable
26327         test_linkedhash_list_LDADD.
26328         * modules/rbtree-list-tests (Makefile.am): New variable
26329         test_rbtree_list_LDADD.
26330         * modules/rbtree-oset-tests (Makefile.am): New variable
26331         test_rbtree_oset_LDADD.
26332         * modules/rbtreehash-list-tests (Makefile.am): New variable
26333         test_rbtreehash_list_LDADD.
26334         * modules/xvasprintf-tests (Makefile.am): New variable
26335         test_xvasprintf_LDADD.
26336         Reported by Eric Blake.
26337
26338 2007-04-03  Eric Blake  <ebb9@byu.net>
26339
26340         * DEPENDENCIES: Weaken m4 requirements.
26341
26342 2007-04-03  Bruno Haible  <bruno@clisp.org>
26343
26344         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
26345         * modules/isnanl-tests (configure.ac): Likewise.
26346
26347 2007-04-03  Ben Pfaff  <blp@gnu.org>
26348
26349         * modules/iconv_open: Add $(srcdir)/ to source directory
26350         references in Makefile fragments that call gperf, to fix VPATH
26351         builds.
26352
26353 2007-04-03  Bruno Haible  <bruno@clisp.org>
26354
26355         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
26356         * lib/ldexpl.c: Undo last change.
26357
26358 2007-04-03  Bruno Haible  <bruno@clisp.org>
26359
26360         * modules/printf-frexpl (Depends-on): Undo last change.
26361         (Files): Add m4/ldexpl.m4.
26362
26363 2007-04-03  Bruno Haible  <bruno@clisp.org>
26364
26365         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
26366         * modules/isnanl (Link): New section.
26367
26368         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
26369         * modules/frexp (Link): New section.
26370
26371         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
26372         * modules/frexpl (Link): New section.
26373
26374         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
26375         * modules/ldexpl (Link): New section.
26376
26377 2007-04-03  Bruno Haible  <bruno@clisp.org>
26378
26379         * modules/TEMPLATE-EXTENDED: New file.
26380         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
26381
26382 2007-04-03  Bruno Haible  <bruno@clisp.org>
26383
26384         * DEPENDENCIES: New file.
26385         Suggested by Simon Josefsson.
26386
26387 2007-04-03  Bruno Haible  <bruno@clisp.org>
26388
26389         * doc/gnulib.texi: Escape @.
26390
26391 2007-04-03  James Youngman  <jay@gnu.org>
26392         and Paul Eggert  <eggert@cs.ucla.edu>
26393
26394         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
26395         birthtime on all systems that have birthtime, not just those which
26396         use st_birthtimensec rather than st_birthtim.  Putting zero in
26397         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
26398         that the birth time is not available for files on an NFS mount.
26399
26400 2007-04-03  Simon Josefsson  <simon@josefsson.org>
26401
26402         * modules/memxor: Move back from crypto/, suggested by Bruno.
26403         * modules/crypto/hmac-sha1: Fix memxor dependency.
26404
26405         * modules/crypto/gc: Moved from ../.
26406
26407 2007-04-02  Eric Blake  <ebb9@byu.net>
26408
26409         * lib/ldexpl.c (includes): Avoid libm.
26410
26411         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
26412
26413 2007-04-02  Bruno Haible  <bruno@clisp.org>
26414
26415         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
26416         on IRIX.
26417
26418 2007-04-02  Bruno Haible  <bruno@clisp.org>
26419
26420         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
26421         x86 or x86_64 platforms running MacOS X.
26422         Reported by Ryan Schmidt <@ryandesign.com>.
26423
26424 2007-04-02  Bruno Haible  <bruno@clisp.org>
26425
26426         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
26427         i386.
26428
26429 2007-04-01  Simon Josefsson  <simon@josefsson.org>
26430
26431         * modules/crypto/arcfour: Moved from ../.
26432         * modules/crypto/arcfour-tests: Moved from ../.
26433         * modules/crypto/arctwo: Moved from ../.
26434         * modules/crypto/arctwo-tests: Moved from ../.
26435         * modules/crypto/des: Moved from ../.
26436         * modules/crypto/des-tests: Moved from ../.
26437         * modules/crypto/gc-arcfour: Moved from ../.
26438         * modules/crypto/gc-arcfour-tests: Moved from ../.
26439         * modules/crypto/gc-arctwo: Moved from ../.
26440         * modules/crypto/gc-arctwo-tests: Moved from ../.
26441         * modules/crypto/gc-des: Moved from ../.
26442         * modules/crypto/gc-des-tests: Moved from ../.
26443         * modules/crypto/gc-hmac-md5: Moved from ../.
26444         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
26445         * modules/crypto/gc-hmac-sha1: Moved from ../.
26446         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
26447         * modules/crypto/gc-md2: Moved from ../.
26448         * modules/crypto/gc-md2-tests: Moved from ../.
26449         * modules/crypto/gc-md4: Moved from ../.
26450         * modules/crypto/gc-md4-tests: Moved from ../.
26451         * modules/crypto/gc-md5: Moved from ../.
26452         * modules/crypto/gc-md5-tests: Moved from ../.
26453         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
26454         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
26455         * modules/crypto/gc-random: Moved from ../.
26456         * modules/crypto/gc-rijndael: Moved from ../.
26457         * modules/crypto/gc-rijndael-tests: Moved from ../.
26458         * modules/crypto/gc-sha1: Moved from ../.
26459         * modules/crypto/gc-sha1-tests: Moved from ../.
26460         * modules/crypto/gc-tests: Moved from ../.
26461         * modules/crypto/hmac-md5: Moved from ../.
26462         * modules/crypto/hmac-md5-tests: Moved from ../.
26463         * modules/crypto/hmac-sha1: Moved from ../.
26464         * modules/crypto/hmac-sha1-tests: Moved from ../.
26465         * modules/crypto/md2: Moved from ../.
26466         * modules/crypto/md2-tests: Moved from ../.
26467         * modules/crypto/md4: Moved from ../.
26468         * modules/crypto/md4-tests: Moved from ../.
26469         * modules/crypto/md5: Moved from ../.
26470         * modules/crypto/md5-tests: Moved from ../.
26471         * modules/crypto/memxor: Moved from ../.
26472         * modules/crypto/rijndael: Moved from ../.
26473         * modules/crypto/rijndael-tests: Moved from ../.
26474         * modules/crypto/sha1: Moved from ../.
26475
26476 2007-03-30  James Youngman  <jay@gnu.org>
26477
26478         * tests/test-stat-time.c (prepare_test): use chmod() rather than
26479         rename() to change the ctime of a file (because ctime is unaffected
26480         by rename on jfs2 on AIX 5.1).
26481         (main): Start by doing cleanup, in case a previous run failed leaving
26482         test files behind.
26483
26484 2007-03-31  Bruno Haible  <bruno@clisp.org>
26485
26486         Support old proprietary implementations of iconv.
26487         * modules/iconv_open: New file.
26488         * lib/iconv_.h: New file.
26489         * m4/iconv_h.m4: New file.
26490         * lib/iconv_open.c: New file.
26491         * lib/iconv_open-aix.gperf: New file.
26492         * lib/iconv_open-hpux.gperf: New file.
26493         * lib/iconv_open-irix.gperf: New file.
26494         * lib/iconv_open-osf.gperf: New file.
26495         * m4/iconv_open.m4: New file.
26496         * modules/linebreak (Depends-on): Add iconv_open.
26497         * modules/striconv (Depends-on): Likewise.
26498         * modules/striconveh (Depends-on): Likewise.
26499         * modules/unicodeio (Depends-on): Likewise.
26500         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
26501         (iconv_t)(-1).
26502         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
26503         conversion if cd is (iconv_t)(-1).
26504         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
26505         is not possible.
26506
26507 2007-03-31  Bruno Haible  <bruno@clisp.org>
26508
26509         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
26510         work on Solaris either. Protect also second use of "autodetect_jp".
26511
26512 2007-03-31  Bruno Haible  <bruno@clisp.org>
26513
26514         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
26515         the function is not present.
26516
26517 2007-03-31  Bruno Haible  <bruno@clisp.org>
26518
26519         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
26520         the function is not present.
26521
26522 2007-03-31  Bruno Haible  <bruno@clisp.org>
26523
26524         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
26525         a bug in HP-UX iconv_open().
26526
26527 2007-03-31  Bruno Haible  <bruno@clisp.org>
26528
26529         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
26530         (Mathematics <math.h>): New section, add fpieee.
26531         (Input/output <stdio.h>): Add fseterr.
26532         (Mathematics <math.h>): New section, add printf-frexp.
26533         (Container data structures): Add sublist.
26534         (Core language properties): Add fpucw, inline.
26535         (Functions for greatest-width integer types <inttypes.h>): Add
26536         imaxabs, imaxdiv, inttypes.
26537         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
26538         isnanl-nolibm, ldexp.
26539         (Mathematics <math.h>): New section, add printf-frexpl.
26540         (Support for systems lacking POSIX:2001): Add fprintf-posix,
26541         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
26542         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
26543         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
26544         (Unicode string functions): Add unistr/u*-mbtoucr.
26545         (Java): Add javacomp-script, javaexec-script.
26546         (C#): Add csharpcomp-script, csharpexec-script.
26547         (Support for building libraries and executables): Add havelib,
26548         relocatable-*.
26549         (Support for maintaining and releasing projects): Renamed from
26550         'Support for maintaining and release projects'. Add announce-gen.
26551
26552 2007-03-31  Bruno Haible  <bruno@clisp.org>
26553
26554         * README: Talk primarily about git.
26555         (git and CVS): Renamed from CVS.
26556         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
26557         gnulib is available through git.
26558         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
26559
26560 2007-03-30  Bruno Haible  <bruno@clisp.org>
26561
26562         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
26563         * lib/poll_.h: Likewise.
26564         * lib/stat_.h: Likewise.
26565         * lib/sys_time_.h: Likewise.
26566         * lib/sysexit_.h: Likewise.
26567         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
26568         * lib/stdbool_.h: Likewise.
26569         * lib/byteswap_.h: Add double-inclusion guard.
26570
26571 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
26572
26573         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
26574
26575 2007-03-30  Karl Berry  <karl@gnu.org>
26576
26577         * config/srclist-update: double space after USA in the license
26578         substitution, since that's how it's usually (?) written.
26579
26580 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
26581
26582         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
26583         reported by Bruno Haible.
26584
26585 2007-03-29  Bruno Haible  <bruno@clisp.org>
26586
26587         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
26588         a bug in AIX iconv().
26589
26590 2007-03-29  Bruno Haible  <bruno@clisp.org>
26591
26592         * modules/ldexpl-tests: New file.
26593         * tests/test-ldexpl.c: New file.
26594
26595 2007-03-29  Bruno Haible  <bruno@clisp.org>
26596
26597         * lib/ldexpl.c: Include fpucw.h.
26598         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
26599         multiplication.
26600         * modules/ldexpl (Depends-on): Add fpucw.
26601
26602 2007-03-29  Bruno Haible  <bruno@clisp.org>
26603
26604         * modules/ldexpl: New file.
26605         * m4/ldexpl.m4: New file.
26606         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
26607         set.
26608         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
26609         REPLACE_LDEXPL.
26610         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
26611         REPLACE_LDEXPL.
26612         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
26613         gl_FUNC_LDEXPL_WORKS.
26614         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
26615         * modules/mathl (Files): Remove lib/ldexpl.c.
26616         (Depends-on): Add ldexpl.
26617
26618 2007-03-29  Bruno Haible  <bruno@clisp.org>
26619
26620         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
26621
26622 2007-03-29  Bruno Haible  <bruno@clisp.org>
26623
26624         * tests/test-striconveh.c (main): Don't assume that a direct conversion
26625         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
26626         and possibly also HP-UX.
26627         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
26628         work on AIX, IRIX, HP-UX, OSF/1.
26629         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
26630         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
26631         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
26632         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
26633         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
26634         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
26635
26636 2007-03-29  Bruno Haible  <bruno@clisp.org>
26637
26638         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
26639
26640 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
26641
26642         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
26643         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
26644
26645 2007-03-29  Eric Blake  <ebb9@byu.net>
26646
26647         * lib/acl-internal.h: Remove redundant include.
26648         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
26649         Cygwin when a file is locked.
26650
26651 2007-03-29  Bruno Haible  <bruno@clisp.org>
26652
26653         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
26654         file.
26655         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
26656
26657 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
26658
26659         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
26660         try to remove a parent directory if the child couldn't be removed
26661         (except for the first rmdir, which could fail because the child
26662         doesn't exist).  Problem reported by Jeff Blaine in
26663         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
26664
26665 2007-03-28  Bruno Haible  <bruno@clisp.org>
26666
26667         * lib/striconveh.c (utf8conv_carefully): New function.
26668         (mem_cd_iconveh_internal): Invoke it.
26669
26670 2007-03-28  Bruno Haible  <bruno@clisp.org>
26671
26672         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
26673         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
26674         input.
26675         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
26676         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
26677         unistr/u8-uctomb.
26678
26679 2007-03-28  Bruno Haible  <bruno@clisp.org>
26680
26681         * modules/unistr/u8-mbtoucr: New file.
26682         * lib/unistr/u8-mbtoucr.c: New file.
26683         * modules/unistr/u16-mbtoucr: New file.
26684         * lib/unistr/u16-mbtoucr.c: New file.
26685         * modules/unistr/u16-mbtoucr: New file.
26686         * lib/unistr/u16-mbtoucr.c: New file.
26687         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
26688
26689 2007-03-27  Simon Josefsson  <simon@josefsson.org>
26690             Bruno Haible  <bruno@clisp.org>
26691
26692         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
26693         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
26694         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
26695
26696         * m4/stdio_h.m4: Add stubs for vasprintf too.
26697
26698         * modules/stdio: Support vasprintf in sed command.
26699
26700         * modules/vasprintf: Depend on stdio for prototypes.  Remove
26701         vasprintf.h.  Add stdio module indicator.
26702
26703         * lib/stdio_.h: Declare asprintf and vasprintf, based on
26704         vasprintf.h.
26705
26706         * lib/vasprintf.h: File removed.
26707
26708         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
26709         * lib/vasprintf.c: Ditto.
26710         * lib/xvasprintf.c: Ditto.
26711         * tests/test-vasprintf-posix.c: Ditto.
26712         * tests/test-vasprintf.c: Ditto.
26713
26714 2007-03-27  Bruno Haible  <bruno@clisp.org>
26715
26716         Make vasnprintf multithread-safe.
26717         * lib/vasnprintf.c (decimal_point_char): New function.
26718         (VASNPRINTF): Use it.
26719         Suggested by Simon Josefsson.
26720
26721 2007-03-27  Eric Blake  <ebb9@byu.net>
26722
26723         Support sub-second birthtime on cygwin.
26724         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
26725         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
26726         (get_stat_birthtime): Also work with st_birthtim.
26727
26728 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
26729
26730         * lib/stat-time.h (USE_BIRTHTIME): Remove.
26731         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
26732         (get_stat_birthtime_ns): Do not try to use "spare" fields.
26733         (get_stat_birthtime_ns): Simplify compile-time tests.
26734         (get_stat_birthtime): Change the API to look like
26735         get_stat_mtime etc., except return a negative tv_nsec on error.
26736         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
26737         Don't check for "spare" fields.
26738         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
26739         or for struct stat.st_birthtime, as these tests aren't used.
26740         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
26741
26742 2007-03-27  Bruno Haible  <bruno@clisp.org>
26743
26744         * lib/stat-time.h: Include <sys/stat.h>.
26745
26746 2007-03-27  James Youngman  <jay@gnu.org>
26747
26748         * lib/stat-time.h (get_stat_birthtime): New function for
26749           retrieving st_birthtime as provided by UFS2 (hence *BSD).
26750         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
26751           and its variants.
26752         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
26753         * modules/stat-time-test: New file.
26754         * tests/test-stat-time.c: New test, devised by Bruno Haible.
26755
26756 2007-03-26  Bruno Haible  <bruno@clisp.org>
26757
26758         Better support of signalling NaNs.
26759         * lib/atanl.c: Include isnanl.h.
26760         (atanl): Perform test for NaN at the beginning of the function and
26761         through a call to isnanl.
26762         * lib/cosl.c: Include isnanl.h.
26763         (cosl): Perform test for NaN at the beginning of the function and
26764         through a call to isnanl.
26765         * lib/ldexpl.c: Include isnanl.h.
26766         (ldexpl): Perform test for NaN through a call to isnanl.
26767         * lib/logl.c: Include isnanl.h.
26768         (logl): Perform test for NaN at the beginning of the function and
26769         through a call to isnanl.
26770         * lib/sinl.c: Include isnanl.h.
26771         (sinl): Perform test for NaN at the beginning of the function and
26772         through a call to isnanl.
26773         * lib/sqrtl.c: Include isnanl.h.
26774         (sqrtl): Perform test for NaN at the beginning of the function and
26775         through a call to isnanl.
26776         * lib/tanl.c: Include isnanl.h.
26777         (tanl): Perform test for NaN at the beginning of the function and
26778         through a call to isnanl.
26779         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
26780         * modules/mathl (Depends-on): Add isnanl.
26781
26782 2007-03-26  Eric Blake  <ebb9@byu.net>
26783
26784         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
26785         regression in logic sense of previous patch.
26786
26787 2007-03-26  Bruno Haible  <bruno@clisp.org>
26788
26789         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
26790         unportable shell command "if ! ...".
26791         Reported by Ralf Wildenhues.
26792
26793 2007-03-25  Bruno Haible  <bruno@clisp.org>
26794
26795         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
26796         <sysexits.h> file, and only add EX_CONFIG.
26797         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
26798         absolute file name and whether it is sufficient. Substitute also
26799         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
26800         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
26801         ABSOLUTE_SYSEXITS_H into sysexits.h.
26802
26803 2007-03-25  Bruno Haible  <bruno@clisp.org>
26804
26805         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
26806         hints is NULL.
26807
26808 2007-03-25  Bruno Haible  <bruno@clisp.org>
26809
26810         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
26811         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
26812
26813 2007-03-25  Bruno Haible  <bruno@clisp.org>
26814
26815         * lib/vasnprintf.c: Include langinfo.h.
26816         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
26817         multithread-safe.
26818         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
26819         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
26820         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
26821         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26822         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26823         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26824         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26825         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
26826         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26827         Reported by Simon Josefsson.
26828
26829 2007-03-25  Bruno Haible  <bruno@clisp.org>
26830
26831         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
26832         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
26833         * modules/vasnprintf (Depends-on): Add stdint.
26834
26835 2007-03-25  Bruno Haible  <bruno@clisp.org>
26836
26837         * modules/fpieee: New file.
26838         * m4/fpieee.m4: New file.
26839         * modules/isnan-nolibm (Depends-on): Add fpieee.
26840         * modules/isnanl-nolibm (Depends-on): Add fpieee.
26841         * modules/isnanl (Depends-on): Add fpieee.
26842
26843 2007-03-25  Bruno Haible  <bruno@clisp.org>
26844
26845         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
26846
26847 2007-03-25  Bruno Haible  <bruno@clisp.org>
26848
26849         Avoid test failures on IRIX 6.5.
26850         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
26851         (main): Use it.
26852         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
26853         macros.
26854         (main): Use them.
26855
26856 2007-03-25  Bruno Haible  <bruno@clisp.org>
26857
26858         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
26859         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
26860         exists but doesn't work.
26861         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
26862         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
26863         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
26864         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
26865
26866 2007-03-25  Bruno Haible  <bruno@clisp.org>
26867
26868         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
26869         returns inf. Needed on IRIX 6.5.
26870
26871 2007-03-25  Bruno Haible  <bruno@clisp.org>
26872
26873         * tests/test-frexpl.c: Include isnanl-nolibm.h.
26874         (main): Use isnanl instead of x != x idiom.
26875         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
26876
26877         * tests/test-frexp.c: Include isnan.h.
26878         (main): Use isnan instead of x != x idiom.
26879         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
26880
26881 2007-03-25  Bruno Haible  <bruno@clisp.org>
26882
26883         * tests/test-frexp.c (NaN): New function/macro.
26884         (main): Use it instead of 0.0 / 0.0.
26885         * tests/test-isnan.c (NaN): New function/macro.
26886         (main): Use it instead of 0.0 / 0.0.
26887         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
26888         (test_function): Use it instead of 0.0 / 0.0.
26889         * tests/test-vasprintf-posix.c (NaN): New function/macro.
26890         (test_function): Use it instead of 0.0 / 0.0.
26891         * tests/test-snprintf-posix.h (NaN): New function/macro.
26892         (test_function): Use it instead of 0.0 / 0.0.
26893         * tests/test-sprintf-posix.h (NaN): New function/macro.
26894         (test_function): Use it instead of 0.0 / 0.0.
26895         * tests/test-fprintf-posix.h (NaN): New function/macro.
26896         (test_function): Use it instead of 0.0 / 0.0.
26897         * tests/test-printf-posix.h (NaN): New function/macro.
26898         (test_function): Use it instead of 0.0 / 0.0.
26899
26900         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
26901
26902 2007-03-25  Bruno Haible  <bruno@clisp.org>
26903
26904         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
26905
26906 2007-03-25  Bruno Haible  <bruno@clisp.org>
26907
26908         * lib/regexec.c (merge_state_with_log): Make static.
26909
26910 2007-03-25  Bruno Haible  <bruno@clisp.org>
26911
26912         * lib/trigl.c (kernel_rem_pio2): Make static.
26913
26914 2007-03-25  Bruno Haible  <bruno@clisp.org>
26915
26916         * lib/sincosl.c (sincosl_table): Make static.
26917
26918 2007-03-25  Bruno Haible  <bruno@clisp.org>
26919
26920         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
26921         if the compiler does not support C99.
26922
26923 2007-03-25  Bruno Haible  <bruno@clisp.org>
26924
26925         * modules/time (Makefile.am): Ensure all rule action lines start with a
26926         tab.
26927
26928 2007-03-24  Bruno Haible  <bruno@clisp.org>
26929
26930         * modules/tsearch-tests: New file.
26931         * tests/test-tsearch.sh: New file.
26932         * tests/test-tsearch.c: New file, mostly copied from glibc.
26933
26934         * modules/search-tests: New file.
26935         * tests/test-search.c: New file.
26936
26937         * modules/search: New file.
26938         * lib/search_.h: New file, incorporating lib/tsearch.h.
26939         * m4/search_h.m4: New file.
26940         * lib/tsearch.h: Remove file.
26941         * lib/tsearch.c: Include search.h instead of tsearch.h.
26942         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
26943         HAVE_TSEARCH.
26944         * modules/tsearch (Files): Remove lib/tsearch.h.
26945         (Depends-on): Add search.
26946         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
26947         (Include): Change tsearch.h into search.h.
26948
26949 2007-03-24  Bruno Haible  <bruno@clisp.org>
26950
26951         * modules/fpucw: New file.
26952         * lib/fpucw.h: New file.
26953         * lib/frexp.c: Include fpucw.h.
26954         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
26955         (FUNC): Use them.
26956         * lib/printf-frexp.c: Include fpucw.h.
26957         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
26958         (FUNC): Use them.
26959         * lib/vasnprintf.c: Include fpucw.h.
26960         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
26961         'long double' calculations.
26962         * tests/test-frexpl.c: Include fpucw.h.
26963         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
26964         * tests/test-printf-frexpl.c: Include fpucw.h.
26965         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
26966         * modules/frexpl (Depends-on): Add fpucw.
26967         * modules/printf-frexpl (Depends-on): Likewise.
26968         * modules/fprintf-posix (Depends-on): Likewise.
26969         * modules/snprintf-posix (Depends-on): Likewise.
26970         * modules/sprintf-posix (Depends-on): Likewise.
26971         * modules/vasnprintf-posix (Depends-on): Likewise.
26972         * modules/vasprintf-posix (Depends-on): Likewise.
26973         * modules/vfprintf-posix (Depends-on): Likewise.
26974         * modules/vsnprintf-posix (Depends-on): Likewise.
26975         * modules/vsprintf-posix (Depends-on): Likewise.
26976         * modules/frexpl-tests (Depends-on): Likewise.
26977         * modules/printf-frexpl-tests (Depends-on): Likewise.
26978
26979 2007-03-24  Bruno Haible  <bruno@clisp.org>
26980
26981         * lib/float+.h: New file.
26982         * lib/isnan.c: Include float+.h.
26983         (SIZE): New macro.
26984         (FUNC): Compare only SIZE bytes of the value.
26985         * lib/vasnprintf.c: Include float+.h.
26986         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
26987         SIZEOF_LDBL or SIZEOF_DBL bytes.
26988         * modules/isnan-nolibm (Files): Add lib/float+.h.
26989         * modules/isnanl-nolibm (Files): Add lib/float+.h.
26990         * modules/isnanl (Files): Add lib/float+.h.
26991         * modules/vasnprintf (Files): Add lib/float+.h.
26992
26993 2007-03-24  Bruno Haible  <bruno@clisp.org>
26994
26995         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
26996         include isnanl-nolibm.h.
26997
26998 2007-03-24  Bruno Haible  <bruno@clisp.org>
26999
27000         * tests/test-read-file.c (main): Don't produce spurious output for
27001         expected situations. Make the test fail if it encountered unexpected
27002         results.
27003
27004 2007-03-24  Bruno Haible  <bruno@clisp.org>
27005
27006         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
27007         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
27008
27009 2007-03-24  Bruno Haible  <bruno@clisp.org>
27010
27011         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
27012
27013 2007-03-24  Bruno Haible  <bruno@clisp.org>
27014
27015         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
27016         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
27017
27018         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
27019         * modules/utf8-ucs4: Turn into a symbolic link to module
27020         unistr/u8-mbtouc.
27021
27022         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
27023         utf8-ucs4-unsafe.
27024         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
27025         unistr/u8-mbtouc-unsafe.
27026
27027         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
27028         * modules/utf16-ucs4: Turn into a symbolic link to module
27029         unistr/u16-mbtouc.
27030
27031         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
27032         utf16-ucs4-unsafe.
27033         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
27034         unistr/u16-mbtouc-unsafe.
27035
27036         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
27037         * modules/ucs4-utf8: Turn into a symbolic link to module
27038         unistr/u8-ubtomb.
27039
27040         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
27041         * modules/ucs4-utf16: Turn into a symbolic link to module
27042         unistr/u16-ubtomb.
27043
27044 2007-03-24  Bruno Haible  <bruno@clisp.org>
27045
27046         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
27047         Enable the function only if HAVE_INLINE.
27048         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
27049         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
27050         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
27051         Enable the function only if HAVE_INLINE.
27052         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
27053         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
27054         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
27055         Enable the function only if HAVE_INLINE.
27056         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
27057         Enable the function only if HAVE_INLINE.
27058         * modules/utf8-ucs4: Update.
27059         * modules/utf8-ucs4-unsafe: Update.
27060         * modules/utf16-ucs4: Update.
27061         * modules/utf16-ucs4-unsafe: Update.
27062         * modules/ucs4-utf8: Update.
27063         * modules/ucs4-utf16: Update.
27064
27065 2007-03-24  Bruno Haible  <bruno@clisp.org>
27066
27067         * lib/utf8-ucs4.h: Remove file.
27068         * lib/utf8-ucs4-unsafe.h: Remove file.
27069         * lib/utf16-ucs4.h: Remove file.
27070         * lib/utf16-ucs4-unsafe.h: Remove file.
27071         * lib/ucs4-utf8.h: Remove file.
27072         * lib/ucs4-utf16.h: Remove file.
27073         * lib/unistr.h: Include their previous contents.
27074         * m4/utf-ucs4.m4: Remove file.
27075         * m4/ucs4-utf.m4: Remove file.
27076         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
27077         (Depends-on): Add unistr/base.
27078         (configure.ac): Remove gl_UTF_UCS4.
27079         (Makefile.am): Update.
27080         (Include): Change to unistr.h.
27081         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
27082         (Depends-on): Add unistr/base.
27083         (configure.ac): Remove gl_UTF_UCS4.
27084         (Makefile.am): Update.
27085         (Include): Change to unistr.h.
27086         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
27087         (Depends-on): Add unistr/base.
27088         (configure.ac): Remove gl_UTF_UCS4.
27089         (Makefile.am): Update.
27090         (Include): Change to unistr.h.
27091         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
27092         (Depends-on): Add unistr/base.
27093         (configure.ac): Remove gl_UTF_UCS4.
27094         (Makefile.am): Update.
27095         (Include): Change to unistr.h.
27096         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
27097         (Depends-on): Add unistr/base.
27098         (configure.ac): Remove gl_UCS4_UTF.
27099         (Makefile.am): Update.
27100         (Include): Change to unistr.h.
27101         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
27102         (Depends-on): Add unistr/base.
27103         (configure.ac): Remove gl_UCS4_UTF.
27104         (Makefile.am): Update.
27105         (Include): Change to unistr.h.
27106         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
27107         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
27108         utf8-ucs4-unsafe.h.
27109         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
27110         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
27111         utf16-ucs4-unsafe.h.
27112         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
27113         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
27114         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
27115         * lib/unistr/u8-strchr.c: Likewise.
27116         * lib/unistr/u8-strrchr.c: Likewise.
27117         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
27118         * lib/unistr/u16-strchr.c: Likewise.
27119         * lib/unistr/u16-strrchr.c: Likewise.
27120         * lib/striconveh.c: Update.
27121         * lib/linebreak.c: Update.
27122
27123 2007-03-24  Bruno Haible  <bruno@clisp.org>
27124
27125         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
27126         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
27127
27128 2007-03-22  Bruno Haible  <bruno@clisp.org>
27129
27130         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
27131
27132 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
27133
27134         * MODULES.html.sh (File system functions): New module write-any-file.
27135         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
27136         * m4/write-any-file.m4: New files.
27137
27138 2007-03-23  Eric Blake  <ebb9@byu.net>
27139
27140         * gnulib-tool: Rearrange space-tab sequences, since some editors
27141         like to eat them.
27142
27143 2007-03-23  Eric Blake  <ebb9@byu.net>
27144
27145         * lib/version-etc.c (version_etc_va): Update license wording to
27146         be more concise.  Recommended by Richard Stallman.
27147
27148 2007-03-22  Bruno Haible  <bruno@clisp.org>
27149
27150         * lib/poll.c (MSG_PEEK): New fallback definition.
27151
27152 2007-03-22  Bruno Haible  <bruno@clisp.org>
27153
27154         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
27155         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
27156         (main): Update.
27157         Fixes a compilation error on BeOS.
27158
27159 2007-03-22  Bruno Haible  <bruno@clisp.org>
27160
27161         * modules/frexpl-tests: New file.
27162         * tests/test-frexpl.c: New file.
27163
27164         * modules/frexpl: New file.
27165         * m4/frexpl.m4: New file.
27166         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
27167         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
27168         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
27169         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
27170         (Depends-on): Add frexpl. Remove isnanl-nolibm.
27171         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
27172
27173 2007-03-22  Bruno Haible  <bruno@clisp.org>
27174
27175         * lib/frexpl.c: Share code with lib/frexp.c.
27176         * modules/mathl (Files): Add lib/frexp.c.
27177         (Depends-on): Add isnanl-nolibm.
27178
27179 2007-03-22  Bruno Haible  <bruno@clisp.org>
27180
27181         * modules/printf-frexp (Files): Add m4/frexp.m4.
27182         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
27183         only if the found frexp function actually works.
27184
27185 2007-03-22  Bruno Haible  <bruno@clisp.org>
27186
27187         * lib/frexp.c: Remove older implementation that uses divisions.
27188
27189 2007-03-21  Bruno Haible  <bruno@clisp.org>
27190
27191         * modules/frexp-tests: New file.
27192         * tests/test-frexp.c: New file.
27193
27194         * modules/frexp: New file.
27195         * lib/frexp.c: New file.
27196         * m4/frexp.m4: New file.
27197         * lib/math_.h (frexp): New declaration.
27198         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
27199         REPLACE_FREXP.
27200         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
27201
27202 2007-03-21  Bruno Haible  <bruno@clisp.org>
27203
27204         * modules/isnanl-tests: New file.
27205         * tests/test-isnanl.c: New file.
27206
27207         * modules/isnanl: New file.
27208         * lib/isnanl.h: New file.
27209         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
27210         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
27211         gl_FUNC_ISNANL_WORKS.
27212         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
27213         New macros.
27214
27215 2007-03-21  Bruno Haible  <bruno@clisp.org>
27216
27217         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
27218         lib/isnanl.h.
27219         (Include): Update.
27220         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
27221         * lib/vasnprintf.c: Update.
27222         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
27223         tests/test-isnanl.h, remove tests/test-isnanl.c.
27224         (Makefile.am): Update.
27225         * tests/test-isnanl-nolibm.c: New file.
27226         * tests/test-isnanl.h: New file.
27227         * tests/test-isnanl.c: Remove file.
27228
27229 2007-03-21  Jim Meyering  <jim@meyering.net>
27230
27231         When trying to open ".", treat ESTALE like EACCES.
27232         * lib/savewd.c (savewd_save): Resort to forking not just upon
27233         failure with EACCES, but also when errno is ESTALE.
27234
27235 2007-03-20  Bruno Haible  <bruno@clisp.org>
27236
27237         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
27238         Needed on AIX 5.1. Reported by Matthew Woehlke.
27239
27240 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27241
27242         Suggestions by Bruno Haible:
27243         * lib/acl-internal.h: Include "gettext.h" rather than rolling
27244         our own.
27245         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
27246         * modules/acl (Depends-on): Add gettext.
27247
27248 2007-03-19  Bruno Haible  <bruno@clisp.org>
27249
27250         * modules/iconvme: Remove file.
27251         * lib/iconvme.h: Remove file.
27252         * lib/iconvme.c: Remove file.
27253         * m4/iconvme.m4: Remove file.
27254
27255 2007-03-19  Bruno Haible  <bruno@clisp.org>
27256
27257         * doc/relocatable-maint.texi: Break long shell script line.
27258         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
27259
27260 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27261
27262         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
27263         handle file_has_acl.
27264         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
27265         * lib/acl.c: Move header inclusions and related macro defns into
27266         lib/acl-internal.h.
27267         (S_ISLNK): Remove defn, since that's now done for us.
27268         (file_has_acl): Move to lib/file-has-acl.c.
27269         Call acl_trivial if available.  This is the crucial part of the fix.
27270         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
27271         shared within the library.  Rewrite a bit, partly to make it compatible
27272         with the GNU coding style.
27273         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
27274         Remove unnecessary double-quotes.
27275         Don't test for acl_to_text; the build will catch that.
27276         Replace acl_entries if it doesn't exist and it is needed.
27277         Check for -lsec and acl_trivial (as used on Solaris 10).
27278         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
27279         lib/file-has-acl.c.
27280         (Depends-on): Add sys_stat, for S_ISLNK.
27281
27282 2007-03-19  Ben Pfaff  <blp@gnu.org>
27283
27284         * doc/gnulib.texi: Fix typos.
27285         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
27286
27287 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27288
27289         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
27290         If size is zero here, buf must be zero.
27291
27292 2007-03-19  Simon Josefsson  <simon@josefsson.org>
27293
27294         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
27295         <bruno@clisp.org>.
27296
27297 2007-03-18  Bruno Haible  <bruno@clisp.org>
27298
27299         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
27300         Suggested by Eric Blake.
27301
27302 2007-03-18  Ben Pfaff  <blp@gnu.org>
27303
27304         * doc/relocatable.texi: Recommend using as prefix a directory
27305         that does not exist and will never be created.  Based on
27306         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
27307         and others.
27308
27309 2007-03-17  Bruno Haible  <bruno@clisp.org>
27310
27311         * lib/fchownat.c: Include lchown.h.
27312
27313 2007-03-17  Bruno Haible  <bruno@clisp.org>
27314
27315         Fix endless loop when the given allocated size was > INT_MAX.
27316         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
27317         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
27318         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
27319         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
27320         * lib/sprintf.c (sprintf): Likewise.
27321
27322 2007-03-17  Bruno Haible  <bruno@clisp.org>
27323
27324         * tests/test-argp-2.sh (func_compare): Output a context diff.
27325
27326 2007-03-17  Bruno Haible  <bruno@clisp.org>
27327
27328         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
27329         locale's decimal-point character.
27330
27331 2007-03-17  Bruno Haible  <bruno@clisp.org>
27332
27333         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
27334         before comparing it. Needed because on some platforms (e.g. x86) a
27335         'long double' occupies less bytes than sizeof (long double).
27336
27337 2007-03-17  Bruno Haible  <bruno@clisp.org>
27338
27339         * tests/test-crc.c (main): Make printf statements 64-bit clean.
27340         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
27341         * tests/test-getaddrinfo.c (simple): Likewise.
27342         * tests/test-read-file.c (main): Likewise.
27343
27344 2007-03-17  Bruno Haible  <bruno@clisp.org>
27345
27346         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
27347
27348 2007-03-17  Bruno Haible  <bruno@clisp.org>
27349
27350         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
27351         unused variable.
27352
27353 2007-03-17  Bruno Haible  <bruno@clisp.org>
27354
27355         * tests/test-c-strcasecmp.c: Include c-strcase.h.
27356         * tests/test-c-strncasecmp.c: Likewise.
27357
27358 2007-03-17  Bruno Haible  <bruno@clisp.org>
27359
27360         * modules/stdlib (Depends-on): Add unistd.
27361         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
27362         Needed for MacOS X 10.3.
27363
27364 2007-03-17  Bruno Haible  <bruno@clisp.org>
27365
27366         * lib/unistr/u-strdup.h: Include <stdlib.h>.
27367
27368 2007-03-17  Bruno Haible  <bruno@clisp.org>
27369
27370         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
27371
27372 2007-03-17  Bruno Haible  <bruno@clisp.org>
27373
27374         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
27375         to reflect files copied from gnulib (with or without modifications).
27376         Suggested by Jim Meyering.
27377
27378 2007-03-17  Eric Blake  <ebb9@byu.net>
27379
27380         * NEWS: Document stdlib change from 2007-02-18.
27381
27382 2007-03-17  Jim Meyering  <jim@meyering.net>
27383
27384         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
27385         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
27386         someone uses a name containing shell meta-characters.
27387         Reported by Alfred M. Szmidt.
27388
27389         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
27390
27391 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
27392
27393         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
27394         and copy gettext configuration files only if configure.ac contains
27395         a use of AM_GNU_GETTEXT_VERSION.
27396
27397 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
27398
27399         * build-aux/bootstrap (gnulib_name): New variable.
27400         (gnulib_tool_options): Use it.
27401
27402 2007-03-13  Simon Josefsson  <simon@josefsson.org>
27403
27404         * tests/test-des.c: Use new namespace.
27405
27406 2007-03-15  Bruno Haible  <bruno@clisp.org>
27407
27408         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
27409         Reported by James Youngman <jay@gnu.org>.
27410
27411 2007-03-15  Bruno Haible  <bruno@clisp.org>
27412
27413         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
27414         declared prototype. Needed with cc on OSF/1 5.1.
27415
27416 2007-03-15  Bruno Haible  <bruno@clisp.org>
27417
27418         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
27419         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
27420         (struct gl_list_implementation): Add dispose_fn argument to the
27421         'create_empty', 'create' methods.
27422         (struct gl_list_impl_base): Add field 'dispose_fn'.
27423         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
27424         argument.
27425         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
27426         dispose_fn argument.
27427         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
27428         dispose_fn on the dropped values.
27429         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
27430         dispose_fn argument.
27431         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
27432         dropped values.
27433         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
27434         (gl_tree_remove_node): Call dispose_fn on the dropped value.
27435         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
27436         (gl_tree_remove_node): Call dispose_fn on the dropped value.
27437         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
27438         argument.
27439         (gl_tree_list_free): Call dispose_fn on the dropped values.
27440         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
27441         the dropped values.
27442         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
27443         Add dispose_fn argument.
27444         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
27445         Call dispose_fn on the dropped values.
27446         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
27447         Add dispose_fn argument.
27448         (gl_sublist_create): Initialize the 'dispose_fn' field.
27449         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
27450         * tests/test-array_list.c (main): Update.
27451         * tests/test-carray_list.c (main): Update.
27452         * tests/test-avltree_list.c (main): Update.
27453         * tests/test-rbtree_list.c (main): Update.
27454         * tests/test-avltreehash_list.c (main): Update.
27455         * tests/test-rbtreehash_list.c (main): Update.
27456         * tests/test-linked_list.c (main): Update.
27457         * tests/test-linkedhash_list.c (main): Update.
27458         * tests/test-array_oset.c (main): Update.
27459
27460 2007-03-15  Bruno Haible  <bruno@clisp.org>
27461
27462         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
27463         (gl_oset_create_empty): Add dispose_fn argument.
27464         (struct gl_oset_implementation): Add dispose_fn argument to
27465         'create_empty' method.
27466         (struct gl_oset_impl_base): Add dispose_fn field.
27467         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
27468         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
27469         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
27470         values.
27471         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
27472         (gl_tree_oset_free): Call dispose_fn on the dropped values.
27473         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
27474         dropped value.
27475         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
27476         dropped value.
27477         * tests/test-array_oset.c (main): Update.
27478         * tests/test-avltree_oset.c (main): Update.
27479         * tests/test-rbtree_oset.c (main): Update.
27480         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
27481
27482 2007-03-13  Bruno Haible  <bruno@clisp.org>
27483
27484         * tests/test-stdbool.c (i): Update after last patch.
27485
27486 2007-03-12  Bruno Haible  <bruno@clisp.org>
27487
27488         * lib/quotearg.c: Include <wctype.h> early, before the definition of
27489         the iswprint macro. Needed on Solaris 2.5.1.
27490
27491 2007-03-12  Bruno Haible  <bruno@clisp.org>
27492
27493         * tests/test-printf-frexp.c (main): Declare x as volatile.
27494
27495 2007-03-12  Simon Josefsson  <simon@josefsson.org>
27496
27497         * doc/gnulib.texi (Build robot for gnulib): New section.
27498
27499 2007-03-12  Jim Meyering  <jim@meyering.net>
27500
27501         * build-aux/bootstrap: New file.
27502         * build-aux/bootstrap.conf: New file, from coreutils.
27503
27504 2007-03-11  Bruno Haible  <bruno@clisp.org>
27505
27506         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
27507
27508 2007-03-12  Simon Josefsson  <simon@josefsson.org>
27509
27510         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
27511         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
27512         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
27513
27514 2007-03-11  Bruno Haible  <bruno@clisp.org>
27515
27516         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
27517         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
27518
27519 2007-03-11  Bruno Haible  <bruno@clisp.org>
27520
27521         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
27522         formula. Needed for SunPRO C 5.0.
27523
27524 2007-03-11  Bruno Haible  <bruno@clisp.org>
27525
27526         * modules/long-options (Depends-on): Add getopt.
27527
27528 2007-03-11  Bruno Haible  <bruno@clisp.org>
27529
27530         * modules/modechange (Depends-on): Add stdbool.
27531
27532 2007-03-11  Bruno Haible  <bruno@clisp.org>
27533
27534         * modules/i-ring (Depends-on): Add stdbool.
27535
27536 2007-03-11  Bruno Haible  <bruno@clisp.org>
27537
27538         * modules/gc-des (Depends-on): Add stdbool.
27539
27540 2007-03-11  Bruno Haible  <bruno@clisp.org>
27541
27542         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
27543
27544 2007-03-11  Bruno Haible  <bruno@clisp.org>
27545
27546         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
27547
27548 2007-03-11  Bruno Haible  <bruno@clisp.org>
27549
27550         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
27551
27552 2007-03-11  Bruno Haible  <bruno@clisp.org>
27553
27554         * lib/vasnprintf.c (sprintf): Undefine.
27555
27556 2007-03-11  Bruno Haible  <bruno@clisp.org>
27557
27558         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
27559         initializers in SunPRO C and Compaq C compilers.
27560
27561 2007-03-11  Bruno Haible  <bruno@clisp.org>
27562
27563         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
27564         decrementing code ANSI C compliant.
27565
27566 2007-03-11  Bruno Haible  <bruno@clisp.org>
27567
27568         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
27569         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
27570
27571 2007-03-11  Bruno Haible  <bruno@clisp.org>
27572
27573         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
27574         <stdbool.h> substitute doesn't pass.
27575
27576 2007-03-11  Bruno Haible  <bruno@clisp.org>
27577
27578         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
27579
27580 2007-03-11  Bruno Haible  <bruno@clisp.org>
27581
27582         * gnulib-tool (func_create_megatestdir): Create also an autobuild
27583         script, for submission to autobuild.josefsson.org.
27584
27585 2007-03-10  Bruno Haible  <bruno@clisp.org>
27586
27587         * modules/canonicalize-lgpl-tests: New file.
27588         * tests/test-canonicalize-lgpl.sh: New file.
27589         * tests/test-canonicalize-lgpl.c: New file.
27590
27591         * modules/c-strcase-tests: New file.
27592         * tests/test-c-strcase.sh: New file.
27593         * tests/test-c-strcasecmp.c: New file.
27594         * tests/test-c-strncasecmp.c: New file.
27595
27596         * modules/atexit-tests: New file.
27597         * tests/test-atexit.sh: New file.
27598         * tests/test-atexit.c: New file.
27599
27600 2007-03-10  Bruno Haible  <bruno@clisp.org>
27601
27602         * tests/test-binary-io.sh: Use temporary filenames that are not so
27603         likely to clash with those of other tests (in a parallel make).
27604         * tests/test-binary-io.c: Likewise.
27605
27606 2007-03-10  Bruno Haible  <bruno@clisp.org>
27607
27608         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
27609         fallback; use #error instead.
27610         Suggested by Simon Josefsson.
27611
27612 2007-03-10  Bruno Haible  <bruno@clisp.org>
27613
27614         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
27615         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
27616         first and the last.
27617
27618 2007-03-10  Bruno Haible  <bruno@clisp.org>
27619
27620         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
27621
27622 2007-03-10  Bruno Haible  <bruno@clisp.org>
27623
27624         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
27625         "make distcheck".
27626         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
27627         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
27628         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
27629
27630 2007-03-10  Bruno Haible  <bruno@clisp.org>
27631
27632         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
27633         variable.
27634         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
27635         variable.
27636
27637 2007-03-09  Eric Blake  <ebb9@byu.net>
27638         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
27639
27640         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
27641         types are not being provided by gnulib.
27642         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
27643         types are supported.
27644
27645 2007-03-10  Bruno Haible  <bruno@clisp.org>
27646
27647         * lib/stdio_.h (__attribute__): New macro.
27648         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
27649         vsprintf): Specify __attribute__ __format__ for GCC.
27650         Suggested by Eric Blake.
27651
27652 2007-03-09  Bruno Haible  <bruno@clisp.org>
27653
27654         * modules/printf-posix-tests: New file.
27655         * tests/test-printf-posix.sh: New file.
27656         * tests/test-printf-posix.c: New file.
27657
27658         * modules/printf-posix: New file.
27659         * lib/printf.c: New file.
27660         * m4/printf-posix-rpl.m4: New file.
27661         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
27662         REPLACE_PRINTF.
27663         * lib/stdio_.h (printf): New declaration.
27664         (format, __format__, ____printf____, ____scanf____, ____strftime____,
27665         ____strfmon____): New macros.
27666         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
27667         REPLACE_PRINTF.
27668
27669 2007-03-09  Bruno Haible  <bruno@clisp.org>
27670
27671         * tests/test-vasnprintf-posix2.sh: New file.
27672         * tests/test-vasnprintf-posix2.c: New file.
27673         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
27674         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
27675         (Makefile.am): Activate test-vasnprintf-posix2.sh.
27676
27677         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
27678         a locale dependent decimal point, rather than always '.'.
27679
27680 2007-03-09  Eric Blake  <ebb9@byu.net>
27681
27682         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
27683         spite of platforms like Tandem/NSK that define it to -1.
27684
27685 2007-03-08  Bruno Haible  <bruno@clisp.org>
27686
27687         * modules/vprintf-posix-tests: New file.
27688         * tests/test-vprintf-posix.sh: New file.
27689         * tests/test-vprintf-posix.c: New file.
27690         * tests/test-printf-posix.h: New file.
27691
27692         * modules/vprintf-posix: New file.
27693         * lib/vprintf.c: New file.
27694         * m4/vprintf-posix.m4: New file.
27695         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
27696         REPLACE_VPRINTF.
27697         * lib/stdio_.h (vprintf): New declaration.
27698         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
27699         REPLACE_VPRINTF.
27700
27701 2007-03-08  Bruno Haible  <bruno@clisp.org>
27702
27703         * modules/fprintf-posix-tests: New file.
27704         * tests/test-fprintf-posix.sh: New file.
27705         * tests/test-fprintf-posix.c: New file.
27706
27707         * modules/fprintf-posix: New file.
27708         * lib/fprintf.c: New file.
27709         * m4/fprintf-posix.m4: New file.
27710         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
27711         REPLACE_FPRINTF.
27712         * lib/stdio_.h (fprintf): New declaration.
27713         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
27714         REPLACE_FPRINTF.
27715
27716 2007-03-08  Bruno Haible  <bruno@clisp.org>
27717
27718         * modules/vfprintf-posix-tests: New file.
27719         * tests/test-vfprintf-posix.sh: New file.
27720         * tests/test-vfprintf-posix.c: New file.
27721         * tests/test-fprintf-posix.h: New file.
27722         * tests/test-fprintf-posix.out: New file.
27723
27724         * modules/vfprintf-posix: New file.
27725         * lib/vfprintf.c: New file.
27726         * m4/vfprintf-posix.m4: New file.
27727         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
27728         REPLACE_VFPRINTF.
27729         * lib/stdio_.h (vfprintf): New declaration.
27730         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
27731         REPLACE_VFPRINTF.
27732
27733 2007-03-08  Bruno Haible  <bruno@clisp.org>
27734
27735         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
27736
27737 2007-03-08  Bruno Haible  <bruno@clisp.org>
27738
27739         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
27740         instead of 'expr' invocations.
27741         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27742         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27743         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27744         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27745         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27746         Suggested by Paul Eggert.
27747
27748 2007-03-08  Bruno Haible  <bruno@clisp.org>
27749
27750         * modules/fseterr-tests: New file.
27751         * tests/test-fseterr.c: New file.
27752
27753         * modules/fseterr: New file.
27754         * lib/fseterr.h: New file.
27755         * lib/fseterr.c: New file.
27756
27757 2007-03-08  Bruno Haible  <bruno@clisp.org>
27758
27759         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
27760         * lib/getopt_.h: Likewise.
27761         * lib/mbswidth.h: Likewise.
27762         * lib/setenv.h: Likewise.
27763         * lib/vasnprintf.h: Likewise.
27764         * lib/vasprintf.h: Likewise.
27765         * lib/verror.h: Likewise.
27766         * lib/xsetenv.h: Likewise.
27767         * lib/xvasprintf.h: Likewise.
27768
27769 2007-03-08  Jim Meyering  <jim@meyering.net>
27770
27771         * users.txt: Add parted.
27772
27773         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
27774
27775 2007-03-07  Bruno Haible  <bruno@clisp.org>
27776
27777         * m4/printf.m4: Make the shell script snippets copy&pastable.
27778
27779 2007-03-02  Bruno Haible  <bruno@clisp.org>
27780
27781         * lib/netinet_in_.h: New file.
27782         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
27783         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
27784         * modules/netinet_in (Files): Add lib/netinet_in_.h.
27785         (Depends-on): Add absolute-header.
27786         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
27787         into netinet/in.h.
27788
27789 2007-03-03  Bruno Haible  <bruno@clisp.org>
27790
27791         * lib/sys_select_.h: New file.
27792         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
27793         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
27794         * modules/sys_select (Files): Add lib/sys_select_.h.
27795         (Depends-on): Add absolute-header.
27796         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
27797         into sys/select.h.
27798
27799 2007-03-02  Bruno Haible  <bruno@clisp.org>
27800
27801         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
27802         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
27803         values.
27804         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
27805         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
27806         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
27807         * modules/sys_socket (Depends-on): Add absolute-header.
27808         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
27809         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
27810         (Include): Remove requirement of inclusion of <sys/types.h>.
27811
27812 2007-03-02  Bruno Haible  <bruno@clisp.org>
27813
27814         * lib/byteswap_.h (bswap_32): Fix formula.
27815
27816 2007-03-06  Bruno Haible  <bruno@clisp.org>
27817
27818         * modules/sprintf-posix-tests: New file.
27819         * tests/test-sprintf-posix.c: New file.
27820
27821         * modules/sprintf-posix: New file.
27822         * lib/sprintf.c: New file.
27823         * m4/sprintf-posix.m4: New file.
27824         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
27825         REPLACE_SPRINTF.
27826         * lib/stdio_.h (sprintf): New declaration.
27827         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
27828         REPLACE_SPRINTF.
27829
27830 2007-03-06  Bruno Haible  <bruno@clisp.org>
27831
27832         * modules/vsprintf-posix-tests: New file.
27833         * tests/test-vsprintf-posix.c: New file.
27834         * tests/test-sprintf-posix.h: New file.
27835
27836         * modules/vsprintf-posix: New file.
27837         * lib/vsprintf.c: New file.
27838         * m4/vsprintf-posix.m4: New file.
27839         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
27840         REPLACE_VSPRINTF.
27841         * lib/stdio_.h (vsprintf): New declaration.
27842         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
27843         REPLACE_VSPRINTF.
27844
27845 2007-03-06  Bruno Haible  <bruno@clisp.org>
27846
27847         * modules/vsnprintf (Depend-on): Remove minmax.
27848
27849 2007-03-06  Bruno Haible  <bruno@clisp.org>
27850
27851         * modules/snprintf-posix-tests: New file.
27852         * tests/test-snprintf-posix.c: New file.
27853
27854         * modules/snprintf-posix: New file.
27855         * m4/snprintf-posix.m4: New file.
27856         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
27857         gl_FUNC_SNPRINTF.
27858         (gl_FUNC_SNPRINTF): Invoke it.
27859         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
27860         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
27861         is set.
27862         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
27863
27864 2007-03-06  Bruno Haible  <bruno@clisp.org>
27865
27866         * modules/vsnprintf-posix-tests: New file.
27867         * tests/test-vsnprintf-posix.c: New file.
27868         * tests/test-snprintf-posix.h: New file.
27869
27870         * modules/vsnprintf-posix: New file.
27871         * m4/vsnprintf-posix.m4: New file.
27872         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
27873         gl_FUNC_VSNPRINTF.
27874         (gl_FUNC_VSNPRINTF): Invoke it.
27875         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
27876         * lib/stdio_.h (vsnprintf): Define as a replacement if
27877         REPLACE_VSNPRINTF is set.
27878         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
27879
27880 2007-03-06  Bruno Haible  <bruno@clisp.org>
27881
27882         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
27883         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
27884
27885 2007-03-06  Bruno Haible  <bruno@clisp.org>
27886
27887         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
27888         (asinl): Declare also if HAVE_DECL_ASINL is set.
27889         (atanl): Declare also if HAVE_DECL_ATANL is set.
27890         (ceill): Declare also if HAVE_DECL_CEILL is set.
27891         (cosl): Declare also if HAVE_DECL_COSL is set.
27892         (expl): Declare also if HAVE_DECL_EXPL is set.
27893         (floorl): Declare also if HAVE_DECL_FLOORL is set.
27894         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
27895         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
27896         (logl): Declare also if HAVE_DECL_LOGL is set.
27897         (sinl): Declare also if HAVE_DECL_SINL is set.
27898         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
27899         (tanl): Declare also if HAVE_DECL_TANL is set.
27900         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
27901         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
27902         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
27903         declaration of frexpl, ldexpl.
27904         * modules/printf-frexpl (Depends-on): Add math.
27905         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
27906
27907 2007-03-05  Bruno Haible  <bruno@clisp.org>
27908
27909         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
27910         frexpl and ldexpl are declared.
27911         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
27912
27913 2007-03-05  Bruno Haible  <bruno@clisp.org>
27914
27915         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
27916         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
27917
27918 2007-03-05  Bruno Haible  <bruno@clisp.org>
27919
27920         * lib/stdio_.h: Include <stddef.h>.
27921
27922 2007-03-05  Bruno Haible  <bruno@clisp.org>
27923
27924         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
27925
27926 2007-03-05  Bruno Haible  <bruno@clisp.org>
27927
27928         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
27929         NetBSD 4, from Ralf Wildenhues.
27930
27931 2007-03-04  Bruno Haible  <bruno@clisp.org>
27932
27933         * lib/vasprintf.h: Update #if logic for the case when the functions
27934         exist but are overridden.
27935
27936 2007-03-04  Bruno Haible  <bruno@clisp.org>
27937
27938         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
27939         implementations: glibc-2.4 and MacOS X 10.3.
27940         * tests/test-vasnprintf-posix.c (test_function): Test also the case
27941         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
27942         * tests/test-vasprintf-posix.c (test_function): Likewise.
27943
27944 2007-03-04  Bruno Haible  <bruno@clisp.org>
27945
27946         * modules/vasprintf-posix-tests: New file.
27947         * tests/test-vasprintf-posix.c: New file.
27948
27949         * modules/vasprintf-posix: New file.
27950         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
27951         defined.
27952         * m4/vasprintf-posix.m4: New file.
27953         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
27954         gl_FUNC_VASPRINTF.
27955         (gl_FUNC_VASPRINTF): Invoke it.
27956         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
27957         here.
27958         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
27959
27960 2007-03-04  Bruno Haible  <bruno@clisp.org>
27961
27962         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
27963         REPLACE_GETTIMEOFDAY.
27964         * modules/sys_time (Makefile.am): Likewise.
27965         * m4/sys_time_h.m4: Likewise.
27966         * m4/gettimeofday.m4: Likewise.
27967
27968 2007-03-04  Bruno Haible  <bruno@clisp.org>
27969
27970         * modules/vasnprintf-posix-tests: New file.
27971         * tests/test-vasnprintf-posix.c: New file.
27972
27973         * modules/vasnprintf-posix: New file.
27974         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
27975         printf-frexpl.h.
27976         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
27977         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
27978         REPLACE_VASNPRINTF is defined.
27979         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
27980         gl_FUNC_VASNPRINTF.
27981         (gl_FUNC_VASNPRINTF): Invoke it.
27982         * m4/vasnprintf-posix.m4: New file.
27983         * m4/printf.m4: New file.
27984
27985 2007-03-04  Bruno Haible  <bruno@clisp.org>
27986
27987         Compile progreloc.c only if --enable-relocatable is specified.
27988         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
27989         if --enable-relocatable was specified.
27990         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
27991         lib_SOURCES.
27992
27993 2007-03-04  Jim Meyering  <jim@meyering.net>
27994
27995         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
27996         Use it consistently, rather than enumerating errno constants.
27997
27998 2007-03-04  Bruno Haible  <bruno@clisp.org>
27999
28000         * modules/xvasprintf-tests: New file.
28001         * tests/test-xvasprintf.c: New file.
28002
28003         * modules/vasprintf-tests: New file.
28004         * tests/test-vasprintf.c: New file.
28005
28006         * modules/vasnprintf-tests: New file.
28007         * tests/test-vasnprintf.c: New file.
28008
28009         * modules/vsnprintf-tests: New file.
28010         * tests/test-vsnprintf.c: New file.
28011
28012         * modules/snprintf-tests: New file.
28013         * tests/test-snprintf.c: New file.
28014
28015 2007-03-04  Bruno Haible  <bruno@clisp.org>
28016
28017         Compile relocatable.c only if --enable-relocatable is specified.
28018         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
28019         gl_RELOCATABLE_LIBRARY.
28020         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
28021         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
28022         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
28023         gl_RELOCATABLE_LIBRARY.
28024         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
28025         (Makefile.am): Remove lib_SOURCES.
28026         * modules/relocatable-lib-lgpl (configure.ac): Invoke
28027         gl_RELOCATABLE_LIBRARY.
28028         (Makefile.am): Remove lib_SOURCES.
28029         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
28030         always.
28031         * modules/relocatable-prog-wrapper (configure.ac): Invoke
28032         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
28033
28034 2007-03-04  Bruno Haible  <bruno@clisp.org>
28035
28036         * modules/argmatch-tests: New file.
28037         * tests/test-argmatch.c: New file.
28038
28039         * tests/test-allocsa.c (main): Halve the number of loop runs.
28040
28041         * modules/alloca-opt-tests: New file.
28042         * tests/test-alloca-opt.c: New file.
28043
28044 2007-03-04  Jim Meyering  <jim@meyering.net>
28045
28046         Work around difference between Linux ACLs and Solaris 10 ZFS.
28047         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
28048         for EINVAL.
28049
28050 2007-03-03  Bruno Haible  <bruno@clisp.org>
28051
28052         * modules/relocatable-prog (Depends-on): Add back progreloc's
28053         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
28054
28055 2007-03-03  Bruno Haible  <bruno@clisp.org>
28056
28057         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
28058         * modules/relocatable-lib: New file.
28059
28060 2007-03-03  Bruno Haible  <bruno@clisp.org>
28061
28062         * modules/relocatable-prog: Renamed from modules/relocatable.
28063         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
28064
28065 2007-03-03  Bruno Haible  <bruno@clisp.org>
28066
28067         * modules/relocatable-script (Files): Add doc/relocatable.texi,
28068         m4/relocatable-lib.m4.
28069         (Depends-on): Remove 'relocatable'.
28070         (configure.ac): Add gl_RELOCATABLE_NOP.
28071
28072 2007-03-03  Bruno Haible  <bruno@clisp.org>
28073
28074         * modules/relocatable-prog-wrapper: New file.
28075         * modules/relocatable (Depends-on): Add it. Remove all other
28076         dependencies except progname.
28077         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
28078
28079         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
28080         (gl_FUNC_STRERROR): Nop.
28081         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
28082
28083         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
28084         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
28085
28086         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
28087         (gl_FUNC_READLINK): Update.
28088
28089         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
28090
28091 2007-03-03  Bruno Haible  <bruno@clisp.org>
28092
28093         * lib/xreadlink.c: Include <unistd.h> unconditionally.
28094         * modules/xreadlink (Depends-on): Add unistd.
28095         * modules/xreadlink-with-size (Depends-on): Likewise.
28096
28097 2007-03-03  Bruno Haible  <bruno@clisp.org>
28098
28099         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
28100         extracted from gt_FUNC_SETENV.
28101         (gt_FUNC_SETENV): Remove macro.
28102         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
28103         remove gt_FUNC_SETENV.
28104
28105 2007-03-03  Bruno Haible  <bruno@clisp.org>
28106
28107         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
28108         ENABLE_RELOCATABLE here.
28109         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
28110
28111 2007-03-03  Bruno Haible  <bruno@clisp.org>
28112
28113         * modules/rbtreehash-list-tests (Depends-on): Add progname.
28114         * tests/test-rbtreehash_list.c: Include progname.h.
28115         (main): Call set_program_name.
28116
28117         * modules/rbtree-oset-tests (Depends-on): Add progname.
28118         * tests/test-rbtree_oset.c: Include progname.h.
28119         (main): Call set_program_name.
28120
28121         * modules/rbtree-list-tests (Depends-on): Add progname.
28122         * tests/test-rbtree_list.c: Include progname.h.
28123         (main): Call set_program_name.
28124
28125         * modules/linked-list-tests (Depends-on): Add progname.
28126         * tests/test-linked_list.c: Include progname.h.
28127         (main): Call set_program_name.
28128
28129 2007-03-03  Bruno Haible  <bruno@clisp.org>
28130
28131         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
28132         All uses of __restrict changed to _Restrict_.
28133         * lib/glob_.h (__restrict): Remove macro.
28134
28135 2007-03-02  Bruno Haible  <bruno@clisp.org>
28136
28137         * modules/gettext (configure.ac): Require gettext infrastructure
28138         from version 0.16.1.
28139
28140 2007-03-02  Bruno Haible  <bruno@clisp.org>
28141
28142         * modules/linkedhash-list-tests (Depends-on): Add progname.
28143         * tests/test-linkedhash_list.c: Include progname.h.
28144         (main): Call set_program_name.
28145
28146         * modules/carray-list-tests (Depends-on): Add progname.
28147         * tests/test-carray_list.c: Include progname.h.
28148         (main): Call set_program_name.
28149
28150         * modules/avltreehash-list-tests (Depends-on): Add progname.
28151         * tests/test-avltreehash_list.c: Include progname.h.
28152         (main): Call set_program_name.
28153
28154         * modules/avltree-oset-tests (Depends-on): Add progname.
28155         * tests/test-avltree_oset.c: Include progname.h.
28156         (main): Call set_program_name.
28157
28158         * modules/avltree-list-tests (Depends-on): Add progname.
28159         * tests/test-avltree_list.c: Include progname.h.
28160         (main): Call set_program_name.
28161
28162         * modules/array-oset-tests (Depends-on): Add progname.
28163         * tests/test-array_oset.c: Include progname.h.
28164         (main): Call set_program_name.
28165
28166         * modules/array-list-tests (Depends-on): Add progname.
28167         * tests/test-array_list.c: Include progname.h.
28168         (main): Call set_program_name.
28169
28170         * modules/argp-tests (Depends-on): Add progname.
28171         * tests/test-argp.c: Include argp.h first. Include progname.h.
28172         (main): Call set_program_name.
28173
28174 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
28175
28176         * doc/gnulib-tool.texi (Initial import): Reword description of
28177         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
28178         limited effect even if defined after the first system include.
28179
28180 2007-03-01  Bruno Haible  <bruno@clisp.org>
28181
28182         * build-aux/config.libpath: Update to libtool-1.5.22.
28183         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28184
28185 2007-03-01  Bruno Haible  <bruno@clisp.org>
28186
28187         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
28188         foo_CFLAGS.
28189         Reported by Ralf Wildenhues.
28190
28191 2007-03-01  Bruno Haible  <bruno@clisp.org>
28192
28193         * build-aux/install-reloc: Remove object files left over by some
28194         compilers.
28195         Reported by Ralf Wildenhues.
28196
28197 2007-03-01  Bruno Haible  <bruno@clisp.org>
28198
28199         * build-aux/install-reloc: Break long lines.
28200
28201 2007-03-01  Bruno Haible  <bruno@clisp.org>
28202
28203         * doc/relocatable.texi: Document that it may not work on OpenBSD.
28204         Reported by Ralf Wildenhues.
28205
28206 2007-03-01  Bruno Haible  <bruno@clisp.org>
28207
28208         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
28209         include ordering constraints.
28210
28211 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
28212
28213         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
28214         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
28215         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
28216         as another example.
28217         * lib/time_.h: Fix misspelling.
28218         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
28219         Require gl_HEADER_TIME_H_DEFAULTS.
28220         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
28221         * m4/time_r.m4 (gl_TIME_R): Likewise.
28222         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
28223
28224 2007-03-01  Bruno Haible  <bruno@clisp.org>
28225
28226         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
28227         * m4/utimens.m4 (gl_UTIMENS): Likewise.
28228
28229 2007-03-01  Jim Meyering  <jim@meyering.net>
28230
28231         * modules/xreadlink (Maintainer): Add my name.
28232         * modules/xreadlink-with-size (Depends-on): Alphabetize.
28233
28234 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
28235             Bruno Haible  <bruno@clisp.org>
28236
28237         * build-aux/install-reloc: Compile also c-ctype.c.
28238         * build-aux/relocatable.sh.in: New file.
28239         * doc/relocatable.texi: New file.
28240         * doc/relocatable-maint.texi: New file.
28241         * doc/gnulib.texi: Include relocatable-maint.texi.
28242         * lib/progreloc.c: Include unistd.h unconditionally.
28243         * lib/relocwrapper.c: Include unistd.h unconditionally.
28244         Include c-ctype.h.
28245         (add_dotbin): Use c_tolower.
28246         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
28247         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
28248         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
28249         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
28250         to m4/relocatable-lib.m4.
28251         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
28252         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
28253         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
28254         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
28255         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
28256         * modules/relocatable: New file.
28257         * modules/relocatable-lib: New file.
28258         * modules/relocatable-script: New file.
28259
28260 2007-02-28  Bruno Haible  <bruno@clisp.org>
28261
28262         Import --enable-relocatable infrastructure.
28263         * build-aux/config.libpath: New file, from GNU gettext.
28264         * build-aux/install-reloc: New file, from GNU gettext.
28265         * build-aux/reloc-ldflags: New file, from GNU gettext.
28266         * lib/relocatable.h: New file, from GNU gettext.
28267         * lib/relocatable.c: New file, from GNU gettext.
28268         * lib/relocwrapper.c: New file, from GNU gettext.
28269         * m4/relocatable.m4: New file, from GNU gettext.
28270
28271 2007-02-28  Bruno Haible  <bruno@clisp.org>
28272
28273         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
28274
28275         * modules/xreadlink: New file, from GNU gettext with modifications.
28276         * lib/xreadlink.c: New file, from GNU gettext.
28277         * lib/xreadlink.h: Add comments.
28278         (xreadlink): New declaration.
28279
28280         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
28281         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
28282         lib/xreadlink-with-size.c.
28283         (configure.ac): Remove gl_XREADLINK invocation.
28284         (Makefile.am): Augment lib_SOURCES.
28285         * m4/xreadlink.m4: Remove file.
28286         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
28287         (xreadlink_with_size): Renamed from xreadink.
28288         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
28289         * modules/canonicalize (Depends-on): Replace xreadlink with
28290         xreadlink-with-size.
28291         * lib/canonicalize.c (canonicalize_filename_mode): Update.
28292
28293 2007-02-25  Jim Meyering  <jim@meyering.net>
28294
28295         * build-aux/announce-gen: When complaining about excess arguments,
28296         list them.
28297
28298 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
28299
28300         * README: Document signed integer overflow situation more
28301         accurately.
28302
28303 2007-02-25  Bruno Haible  <bruno@clisp.org>
28304
28305         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
28306         'a' or 'A' conversion.
28307
28308 2007-02-25  Bruno Haible  <bruno@clisp.org>
28309
28310         * modules/filename: Renamed from modules/pathname.
28311         (Files): Replace lib/pathname.h with lib/filename.h. Replace
28312         lib/concatpath.c with lib/concat-filename.c.
28313         (Makefile.am): Update.
28314         (Include): Replace pathname.h with filename.h.
28315         * lib/filename.h: Renamed from lib/pathname.h.
28316         (concatenated_filename): Renamed from concatenated_pathname.
28317         * lib/concat-filename.c: Renamed from lib/concatpath.c.
28318         (concatenated_filename): Renamed from concatenated_pathname.
28319         * lib/findprog.c: Include filename.h instead of pathname.h.
28320         (find_in_path): Update.
28321         * lib/javacomp.c: Include filename.h instead of pathname.h.
28322         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
28323         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
28324         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
28325         is_oldgcj_14_13_usable, is_javac_usable): Update.
28326         * lib/javaexec.c: Include filename.h instead of pathname.h.
28327         (execute_java_class): Update.
28328         * modules/findprog: Update.
28329         * modules/javacomp: Update.
28330         * modules/javaexec: Update.
28331         * MODULES.html.sh (File system functions): Add 'filename', remove
28332         'pathname'.
28333
28334 2007-02-25  Bruno Haible  <bruno@clisp.org>
28335
28336         * modules/printf-frexpl-tests: New file.
28337         * tests/test-printf-frexpl.c: New file.
28338
28339         * modules/printf-frexpl: New file.
28340         * lib/printf-frexpl.h: New file.
28341         * lib/printf-frexpl.c: New file.
28342         * m4/printf-frexpl.m4: New file.
28343
28344 2007-02-25  Bruno Haible  <bruno@clisp.org>
28345
28346         * modules/printf-frexp-tests: New file.
28347         * tests/test-printf-frexp.c: New file.
28348
28349         * modules/printf-frexp: New file.
28350         * lib/printf-frexp.h: New file.
28351         * lib/printf-frexp.c: New file.
28352         * m4/printf-frexp.m4: New file.
28353
28354 2007-02-25  Bruno Haible  <bruno@clisp.org>
28355
28356         Assume automake >= 1.10 for the tests.
28357         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
28358         * modules/arctwo-tests: Likewise.
28359         * modules/argp-tests: Likewise.
28360         * modules/avltree-list-tests: Likewise.
28361         * modules/avltree-oset-tests: Likewise.
28362         * modules/avltreehash-list-tests: Likewise.
28363         * modules/carray-list-tests: Likewise.
28364         * modules/crc-tests: Likewise.
28365         * modules/des-tests: Likewise.
28366         * modules/gc-arcfour-tests: Likewise.
28367         * modules/gc-arctwo-tests: Likewise.
28368         * modules/gc-des-tests: Likewise.
28369         * modules/gc-hmac-md5-tests: Likewise.
28370         * modules/gc-hmac-sha1-tests: Likewise.
28371         * modules/gc-md2-tests: Likewise.
28372         * modules/gc-md4-tests: Likewise.
28373         * modules/gc-md5-tests: Likewise.
28374         * modules/gc-pbkdf2-sha1-tests: Likewise.
28375         * modules/gc-rijndael-tests: Likewise.
28376         * modules/gc-sha1-tests: Likewise.
28377         * modules/gc-tests: Likewise.
28378         * modules/getaddrinfo-tests: Likewise.
28379         * modules/hmac-md5-tests: Likewise.
28380         * modules/hmac-sha1-tests: Likewise.
28381         * modules/linked-list-tests: Likewise.
28382         * modules/linkedhash-list-tests: Likewise.
28383         * modules/lock-tests: Likewise.
28384         * modules/md2-tests: Likewise.
28385         * modules/md4-tests: Likewise.
28386         * modules/md5-tests: Likewise.
28387         * modules/rbtree-list-tests: Likewise.
28388         * modules/rbtree-oset-tests: Likewise.
28389         * modules/rbtreehash-list-tests: Likewise.
28390         * modules/read-file-tests: Likewise.
28391         * modules/rijndael-tests: Likewise.
28392         * modules/stdint-tests: Likewise.
28393         * modules/tls-tests: Likewise.
28394
28395 2007-02-24  Bruno Haible  <bruno@clisp.org>
28396
28397         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
28398         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
28399         function; instead check whether isnan with a double argument links.
28400         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
28401         function; instead check whether isnan with a 'long double' argument
28402         links.
28403         Reported by Eric Blake <ebb9@byu.net>.
28404
28405 2007-02-24  Bruno Haible  <bruno@clisp.org>
28406
28407         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
28408         defined.
28409         * lib/isnanl.c: Remove all code. Just include isnan.c.
28410         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
28411
28412 2007-02-25  Jim Meyering  <jim@meyering.net>
28413
28414         Avoid conflicting types for 'unsetenv' on FreeBSD.
28415         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
28416         conflicting with FreeBSD's (5.0 and 6.1) function declaration
28417         in stdlib.h.
28418
28419 2007-02-24  Bruno Haible  <bruno@clisp.org>
28420
28421         * modules/isnanl-nolibm-tests: New file.
28422         * tests/test-isnanl.c: New file.
28423
28424         * modules/isnanl-nolibm: New file.
28425         * lib/isnanl.h: New file.
28426         * lib/isnanl.c: New file.
28427         * m4/isnanl.m4: New file.
28428
28429 2007-02-24  Bruno Haible  <bruno@clisp.org>
28430
28431         * modules/isnan-nolibm-tests: New file.
28432         * tests/test-isnan.c: New file.
28433
28434         * modules/isnan-nolibm: New file.
28435         * lib/isnan.h: New file.
28436         * lib/isnan.c: New file.
28437         * m4/isnan.m4: New file.
28438
28439 2007-02-24  Bruno Haible  <bruno@clisp.org>
28440
28441         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
28442         assume that an exponent fits in 20 bits.
28443
28444 2007-02-24  Jim Meyering  <jim@meyering.net>
28445
28446         * m4/regex.m4: Update the description of the configure-time option,
28447         --without-included-regex, to state accurately what the defaults are,
28448         and perhaps to give people an idea why using this option is risky.
28449
28450 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
28451
28452         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
28453         loops on small arguments.  This attempts to avoid the problem
28454         Bruno Haible reported for AIX 4.3.2 in
28455         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
28456
28457 2007-02-23  Bruno Haible  <bruno@clisp.org>
28458
28459         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
28460         Needed for help2man.
28461
28462 2007-02-23  Karl Berry  <karl@gnu.org>
28463
28464         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
28465         exists, foo.h should be cvs-ignored, not committed.
28466
28467 2007-02-23  Eric Blake  <ebb9@byu.net>
28468
28469         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
28470         * lib/stat-time.h (includes): Likewise.
28471         * lib/utimecmp.c (includes): Likewise.
28472         * lib/utimens.h (includes): Likewise.
28473         * lib/getdate.y (includes): Also include "timespec.h" for use
28474         internal to the module.
28475         * modules/utimens (Depends-on): Revert yesterday's patch.
28476         * modules/nanosleep (Depends-on): Add missing dependency.
28477
28478 2007-02-22  Bruno Haible  <bruno@clisp.org>
28479
28480         * lib/glob.c: Don't include getlogin_r.h.
28481
28482 2007-02-22  Jim Meyering  <jim@meyering.net>
28483
28484         * modules/utimens (Depends-on): Add timespec, required for
28485         utimens.h's inclusion of timespec.h.
28486
28487 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
28488
28489         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
28490         long unreadable paths in GNU/Linux.  Problem reported by Andreas
28491         Schwab in
28492         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
28493         I'll try to think of a better way to fix the Solaris problem.
28494
28495         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
28496         like glibc; on Solaris 10, it fails with errno == EINVAL.
28497         POSIX says the behavior is unspecified if the first argument is NULL,
28498         so play it safe and never pass NULL to the system getcwd.
28499
28500 2007-02-21  Jim Meyering  <jim@meyering.net>
28501
28502         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
28503         of gettimeofday.  It would conflict with the one now always
28504         provided via sys_time_.h.  Reported by Matthew Woehlke, as
28505         an IRIX 6.5 build failure.
28506
28507 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
28508
28509         Minor fixups to port to Solaris 10 with Sun C 5.8.
28510         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
28511         * modules/getcwd (Depends-on): Add dirfd.
28512         * lib/putenv.c (putenv): #undef it.
28513         (rpl_putenv): New decl.
28514         (malloc, free): Include <stdlib.h> rather than prototyping separately.
28515
28516 2007-02-20  Bruno Haible  <bruno@clisp.org>
28517
28518         * modules/stdio-tests: New file.
28519         * tests/test-stdio.c: New file.
28520
28521         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
28522         (Depends-on): Add stdio.
28523         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
28524         (Include): Use <stdio.h> instead of vsnprintf.h.
28525         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
28526         HAVE_DECL_VSNPRINTF.
28527         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
28528
28529         * modules/snprintf (Files): Remove lib/snprintf.h.
28530         (Depends-on): Add stdio.
28531         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
28532         (Include): Use <stdio.h> instead of snprintf.h.
28533         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
28534         HAVE_DECL_SNPRINTF.
28535         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
28536         * lib/getaddrinfo.c: Likewise.
28537
28538         * modules/stdio: New file.
28539         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
28540         * lib/snprintf.h: Remove file.
28541         * lib/vsnprintf.h: Remove file.
28542         * lib/.cppi-disable: Remove snprintf.h.
28543         * m4/stdio_h.m4: New file.
28544         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
28545
28546 2007-02-20  Jim Meyering  <jim@meyering.net>
28547
28548         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
28549         used by e.g., mingw.  From Bruno Haible.
28550
28551 2007-02-19  Bruno Haible  <bruno@clisp.org>
28552
28553         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
28554         warnings.
28555         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28556
28557 2007-02-19  Bruno Haible  <bruno@clisp.org>
28558
28559         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
28560         from mingw users.
28561
28562 2007-02-19  Bruno Haible  <bruno@clisp.org>
28563
28564         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
28565         warnings.
28566         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
28567
28568 2007-02-19  Jim Meyering  <jim@meyering.net>
28569
28570         Don't use FD after a successful "fdopendir (fd)".
28571         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
28572         Reset it by calling dirfd on the just-obtained DIR*.
28573
28574         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
28575         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
28576
28577 2007-02-18  Bruno Haible  <bruno@clisp.org>
28578
28579         * lib/readlink.c: Include <unistd.h>.
28580         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
28581         HAVE_READLINK.
28582         * modules/readlink (Depends-on): Add unistd.
28583         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28584         (Include): Add <unistd.h>.
28585
28586         * lib/getlogin_r.h: Remove file.
28587         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
28588         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
28589         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
28590         HAVE_DECL_GETLOGIN_R.
28591         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
28592         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28593         (Include): Use <unistd.h> instead of getlogin_r.h.
28594
28595         * lib/getcwd.h: Remove file.
28596         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
28597         * lib/xgetcwd.c: Likewise.
28598         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
28599         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
28600         * modules/getcwd (Files): Remove lib/getcwd.h.
28601         (Depends-on): Add unistd.
28602         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28603         (Include): Use <unistd.h> instad of getcwd.h.
28604
28605         * lib/ftruncate.c: Include <unistd.h> first.
28606         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
28607         Set HAVE_FTRUNCATE.
28608         * modules/ftruncate (Depends-on): Add unistd.
28609         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28610
28611         * lib/fchdir.c: Include <unistd.h> first.
28612         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
28613         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
28614         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
28615         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28616         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
28617
28618         * lib/dup2.c: Include <unistd.h> first.
28619         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
28620         HAVE_DUP2.
28621         * modules/dup2 (Depends-on): Add unistd.
28622         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28623
28624         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
28625         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
28626         REPLACE_CHOWN. Don't define chown as a macro here.
28627         * modules/chown (Depends-on): Add unistd.
28628         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28629
28630         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
28631         Add definition for GL_LINK_WARNING.
28632         (chown, dup2): New declarations.
28633         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
28634         link warning.
28635         (ftruncate): New declaration.
28636         (getcwd): New declaration, taken from old getcwd.h.
28637         (getlogin_r): New declaration, taken from old getlogin_r.h.
28638         (readlink): New declaration.
28639         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
28640         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
28641         (gl_PREREQ_UNISTD): Remove macro.
28642         (gl_UNISTD_MODULE_INDICATOR): New macro.
28643         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
28644         many new variables. Don't set UNISTD_H.
28645         * modules/unistd (Description): Change.
28646         (Depends-on): Add link-warning.
28647         (configure.ac): Update.
28648         (Makefile.am): Create unistd.h always. Substitute many new variables
28649         into it.
28650
28651 2007-02-18  Bruno Haible  <bruno@clisp.org>
28652
28653         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
28654         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
28655         HAVE_GETSUBOPT.
28656         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
28657         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
28658         * lib/getsubopt.h: Remove file.
28659         * modules/getsubopt (Files): Remove lib/getsubopt.h.
28660         (Depends-on): Add stdlib.
28661         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
28662         (Includes): Use <stdlib.h> instead of getsubopt.h.
28663         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
28664         Set HAVE_GETSUBOPT.
28665         * lib/getsubopt.c: Don't include getsubopt.h.
28666
28667 2007-02-18  Bruno Haible  <bruno@clisp.org>
28668
28669         * modules/fchdir (Depends-on): Add dup2.
28670
28671 2007-02-18  Bruno Haible  <bruno@clisp.org>
28672
28673         * lib/stdlib_.h: Handle glibc's special invocation convention
28674         specially.
28675
28676 2007-02-18  Bruno Haible  <bruno@clisp.org>
28677
28678         * modules/stdlib-tests: New file.
28679         * tests/test-stdlib.c: New file.
28680
28681         * modules/mkstemp (Files): Remove lib/mkstemp.h.
28682         (Depends-on): Add stdlib.
28683         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
28684         (Includes): Use <stdlib.h> instead of mkstemp.h.
28685         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
28686         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
28687         * lib/mkstemp.c: Don't include mkstemp.h.
28688         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
28689         * lib/stdlib--.h: Don't include mkstemp.h.
28690
28691         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
28692         (Depends-on): Add stdlib.
28693         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
28694         (Includes): Use <stdlib.h> instead of mkdtemp.h.
28695         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
28696         HAVE_MKDTEMP.
28697         * lib/mkdtemp.c: Don't include mkdtemp.h.
28698         * lib/clean-temp.c: Don't include mkdtemp.h.
28699
28700         * modules/exit (Files): Remove lib/exit.h.
28701         (Depends-on): Add stdlib.
28702         (Makefile.am): Remove lib_SOURCES.
28703         (Include): Use <stdlib.h> instead of exit.h.
28704         * lib/argmatch.c: Don't include exit.h.
28705         * lib/execute.c: Likewise.
28706         * lib/pagealign_alloc.c: Likewise.
28707         * lib/pipe.c: Likewise.
28708         * lib/wait-process.c: Likewise.
28709         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
28710         * lib/exitfail.c: Likewise.
28711         * lib/savewd.c: Likewise.
28712         * lib/xsetenv.c: Likewise.
28713
28714         * modules/stdlib: New file.
28715         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
28716         and extra comments about mkstemp().
28717         * lib/exit.h: Remove file.
28718         * lib/mkdtemp.h: Remove file.
28719         * lib/mkstemp.h: Remove file.
28720         * m4/stdlib_h.m4: New file.
28721         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
28722
28723 2007-02-18  Bruno Haible  <bruno@clisp.org>
28724
28725         * modules/math-tests: New file.
28726         * tests/test-math.c: New file.
28727
28728         * modules/math: New file.
28729         * modules/mathl (Files): Remove lib/mathl.h.
28730         (Depends-on): Add math.
28731         (Makefile.am): Don't mention mathl.h.
28732         (Include): Use <math.h> instead of mathl.h.
28733         * lib/math_.h: New file.
28734         * lib/mathl.h: Remove file.
28735         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
28736         mathl.h.
28737         * lib/asinl.c: Likewise.
28738         * lib/atanl.c: Likewise.
28739         * lib/ceill.c: Likewise.
28740         * lib/cosl.c: Likewise.
28741         * lib/expl.c: Likewise.
28742         * lib/floorl.c: Likewise.
28743         * lib/frexpl.c: Likewise.
28744         * lib/ldexpl.c: Likewise.
28745         * lib/logl.c: Likewise.
28746         * lib/sincosl.c: Likewise.
28747         * lib/sinl.c: Likewise.
28748         * lib/sqrtl.c: Likewise.
28749         * lib/tanl.c: Likewise.
28750         * lib/trigl.c: Likewise.
28751         * m4/math_h.m4: New file.
28752         * MODULES.html.sh (Mathematics): Add math.
28753
28754 2007-02-17  Bruno Haible  <bruno@clisp.org>
28755
28756         * modules/wctype-tests: New file.
28757         * tests/test-wctype.c: New file.
28758
28759         * modules/wchar-tests: New file.
28760         * tests/test-wchar.c: New file.
28761
28762         * modules/unistd-tests: New file.
28763         * tests/test-unistd.c: New file.
28764
28765         * modules/time-tests: New file.
28766         * tests/test-time.c: New file.
28767
28768         * modules/sysexits-tests: New file.
28769         * tests/test-sysexits.c: New file.
28770
28771         * modules/sys_time-tests: New file.
28772         * tests/test-sys_time.c: New file.
28773
28774         * modules/sys_stat-tests: New file.
28775         * tests/test-sys_stat.c: New file.
28776
28777         * modules/sys_socket-tests: New file.
28778         * tests/test-sys_socket.c: New file.
28779
28780         * modules/sys_select-tests: New file.
28781         * tests/test-sys_select.c: New file.
28782
28783         * modules/string-tests: New file.
28784         * tests/test-string.c: New file.
28785
28786         * modules/stdbool-tests: New file.
28787         * tests/test-stdbool.c: New file.
28788
28789         * modules/netinet_in-tests: New file.
28790         * tests/test-netinet_in.c: New file.
28791
28792         * modules/inttypes-tests: New file.
28793         * tests/test-inttypes.c: New file.
28794
28795         * modules/fcntl-tests: New file.
28796         * tests/test-fcntl.c: New file.
28797
28798         * modules/byteswap-tests: New file.
28799         * tests/test-byteswap.c: New file.
28800
28801         * modules/arpa_inet-tests: New file.
28802         * tests/test-arpa_inet.c: New file.
28803
28804 2007-02-17  Bruno Haible  <bruno@clisp.org>
28805
28806         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
28807         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
28808         if the corresponding module is not enabled. Emit link warnings if
28809         the function is used nevertheless.
28810         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
28811         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
28812         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
28813         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
28814         * modules/inttypes (Depends-on): Add link-warning.
28815         (Makefile.am): Copy the contents of build-aux/link-warning.h into
28816         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
28817         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
28818         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
28819         * modules/imaxdiv (configure.ac): Likewise.
28820         * modules/strtoimax (configure.ac): Likewise.
28821         * modules/strtoumax (configure.ac): Likewise.
28822
28823 2007-02-17  Bruno Haible  <bruno@clisp.org>
28824
28825         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
28826         gl_STRING_MODULE_INDICATOR_DEFAULTS.
28827         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
28828         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
28829
28830 2007-02-17  Bruno Haible  <bruno@clisp.org>
28831
28832         * modules/link-warning: New file.
28833         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
28834         * lib/string_.h (GL_LINK_WARNING): Remove definition.
28835         * modules/string (Depends-on): Add link-warning.
28836         (Makefile.am): Copy the contents of build-aux/link-warning.h into
28837         string.h.
28838         * MODULES.html.sh (Support for building libraries and executables): Add
28839         link-warning.
28840
28841 2007-02-17  Bruno Haible  <bruno@clisp.org>
28842
28843         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
28844         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
28845         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
28846         long lines.
28847
28848 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
28849             Bruno Haible  <bruno@clisp.org>
28850
28851         * modules/tmpfile: New file.
28852         * lib/tmpfile.c: New file.
28853         * m4/tmpfile.m4: New file.
28854         * MODULES.html.sh (func_all_modules): New section "Input/output".
28855
28856 2007-02-15  Bruno Haible  <bruno@clisp.org>
28857
28858         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
28859         (supports_delete_on_close): New function.
28860         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
28861
28862 2007-02-14  Bruno Haible  <bruno@clisp.org>
28863
28864         * modules/mbspcasecmp-tests: New file.
28865         * tests/test-mbspcasecmp.sh: New file.
28866         * tests/test-mbspcasecmp.c: New file.
28867
28868         New module mbspcasecmp.
28869         * modules/mbspcasecmp: New file.
28870         * lib/mbspcasecmp.c: New file.
28871         * lib/string_.h (strncasecmp): Change warning message.
28872         (mbspcasecmp): New declaration.
28873         * m4/mbspcasecmp.m4: New file.
28874         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
28875         GNULIB_MBSPCASECMP.
28876         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
28877         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
28878
28879 2007-02-14  Bruno Haible  <bruno@clisp.org>
28880
28881         * modules/mbsncasecmp-tests: New file.
28882         * tests/test-mbsncasecmp.sh: New file.
28883         * tests/test-mbsncasecmp.c: New file.
28884
28885         New module mbsncasecmp.
28886         * modules/mbsncasecmp: New file.
28887         * lib/mbsncasecmp.c: New file.
28888         * lib/string_.h (mbsncasecmp): New declaration.
28889         * m4/mbsncasecmp.m4: New file.
28890         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
28891         GNULIB_MBSNCASECMP.
28892         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
28893         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
28894
28895 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
28896
28897         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
28898         Verify that it doesn't overlap with our flags.
28899         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
28900         do not have the desired effect in multibyte locales; instead, use
28901         mbscasecmp.
28902         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
28903         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
28904         we don't require GNU fnmatch ourselves (if our users require it, they
28905         should do so explicitly).
28906
28907         Fix regex code so it doesn't rely on strcasecmp.
28908         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
28909         Otherwise, include gnulib's langinfo.h.
28910         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
28911         undesirable behavior in non-C locales.  Instead, rely on localecharset.
28912         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
28913         * modules/regex (FILES): Remove m4/codeset.m4.
28914         (Depends-on): Add localcharset.  Remove strcase.
28915
28916 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28917
28918         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
28919         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
28920
28921 2007-02-13  Bruno Haible  <bruno@clisp.org>
28922
28923         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
28924         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28925
28926 2007-02-12  Bruno Haible  <bruno@clisp.org>
28927
28928         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
28929         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
28930         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
28931         time warning rather than a link error.
28932
28933 2007-02-12  Bruno Haible  <bruno@clisp.org>
28934
28935         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
28936         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28937         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28938
28939 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
28940
28941         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
28942         args, not 2.
28943
28944 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
28945
28946         New module 'time', so that apps can include <time.h> as per
28947         POSIX and GNU instead of separate include files like time_r.h
28948         and timegm.h.  This implementation tries out a simpler approach
28949         for replacing decls in standard include files (as compared to
28950         the string module), somewhat as an experiment.
28951
28952         * config/srclist.txt: Comment out mktime.c for now.
28953         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
28954         since it doesn't apply any more.  Use generic wording instead.
28955         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
28956         'time'.
28957         * lib/time_.h, m4/time_h.m4, modules/time: New files.
28958         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
28959         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
28960         Don't include <sys/types.h>; no longer needed since we assume C89.
28961         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
28962         * lib/strftime.c: Likewise.
28963         * lib/time_r.c: Likewise.
28964         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
28965         * lib/nanosleep.c: Include <time.h> first, to check interface.
28966         * lib/strptime.c: Likewise.
28967         * lib/time_r.c: Likewise.
28968         * lib/timegm.c: Likewise.
28969         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
28970         needed.
28971         * lib/timegm.c: Don't include timegm.h; no longer needed.
28972         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
28973         time.h now handles any problems in that area.
28974         (struct timespec, nanosleep): Remove; time.h now arranges for these.
28975         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
28976         that time.h defines struct timespec.
28977         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
28978         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
28979         handles that.
28980         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
28981         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
28982         needed.  Set REPLACE_LOCALTIME.
28983         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
28984         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
28985         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
28986         nanosleep; time_h.m4 now does that.  Don't require
28987         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
28988         module handles this now.
28989         * modules/getdate (Depends-on): Remove timespec.  Add time.
28990         * modules/nanosleep (Depends-on): Likewise.
28991         * modules/stat-time (Depends-on): Likewise.
28992         * modules/nanosleep (Include): Include time.h, not timespec.h.
28993         * modules/strptime (Files): Remove lib/strptime.h.
28994         (Depends-on): Add extensions, time.
28995         (Include): Include time.h, not strptime.h.
28996         * modules/time_r (Files): Remove lib/time_r.h.
28997         (Depends-on): Add time.
28998         (Include): Include time.h, not time_r.h.
28999         * modules/timegm: Likewise.
29000         * modules/timespec (Description): Now does timespec-related decls
29001         of our own, instead of struct timespec itself.
29002         (Depends-on): Add time; remove extensions.
29003         (Maintainer): Add self.
29004         * modules/utimecmp (Depends-on): Add time; remove timespec.
29005         * modules/utimens (Depends-on): Likewise.
29006         * modules/xnanosleep (Depends-on): Likewise.
29007
29008 2007-02-11  Bruno Haible  <bruno@clisp.org>
29009
29010         * lib/c-strstr.c: Include allocsa.h.
29011         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
29012         * lib/c-strcasestr.c: Include allocsa.h.
29013         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
29014         * lib/strcasestr.c: Include allocsa.h.
29015         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
29016         * lib/mbsstr.c: Include allocsa.h.
29017         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
29018         allocsa/freesa instead of malloc/free.
29019         * lib/mbscasestr.c: Include allocsa.h.
29020         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
29021         allocsa/freesa instead of malloc/free.
29022         * modules/c-strstr (Depends-on): Add allocsa.
29023         * modules/c-strcasestr (Depends-on): Likewise.
29024         * modules/strcasestr (Depends-on): Likewise.
29025         * modules/mbsstr (Depends-on): Likewise.
29026         * modules/mbscasestr (Depends-on): Likewise.
29027
29028 2007-02-11  Bruno Haible  <bruno@clisp.org>
29029
29030         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
29031
29032         * modules/mbsspn-tests: New file.
29033         * tests/test-mbsspn.sh: New file.
29034         * tests/test-mbsspn.c: New file.
29035
29036 2007-02-11  Bruno Haible  <bruno@clisp.org>
29037
29038         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
29039
29040         * modules/mbspbrk-tests: New file.
29041         * tests/test-mbspbrk.sh: New file.
29042         * tests/test-mbspbrk.c: New file.
29043
29044 2007-02-11  Bruno Haible  <bruno@clisp.org>
29045
29046         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
29047         unneeded cast.
29048
29049         * modules/mbscspn-tests: New file.
29050         * tests/test-mbscspn.sh: New file.
29051         * tests/test-mbscspn.c: New file.
29052
29053 2007-02-11  Bruno Haible  <bruno@clisp.org>
29054
29055         * modules/mbscasecmp-tests: New file.
29056         * tests/test-mbscasecmp.sh: New file.
29057         * tests/test-mbscasecmp.c: New file.
29058
29059 2007-02-11  Bruno Haible  <bruno@clisp.org>
29060
29061         Ensure O(n) worst-case complexity of mbscasestr.
29062         * lib/mbscasestr.c: Include stdbool.h.
29063         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
29064         functions.
29065         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
29066         the bookkeeping indicates that it's worth it.
29067         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
29068
29069         * modules/mbscasestr-tests: New file.
29070         * tests/test-mbscasestr1.c: New file.
29071         * tests/test-mbscasestr2.sh: New file.
29072         * tests/test-mbscasestr2.c: New file.
29073         * tests/test-mbscasestr3.sh: New file.
29074         * tests/test-mbscasestr3.c: New file.
29075         * tests/test-mbscasestr4.sh: New file.
29076         * tests/test-mbscasestr4.c: New file.
29077         * m4/locale-tr.m4: New file.
29078
29079 2007-02-11  Bruno Haible  <bruno@clisp.org>
29080
29081         Ensure O(n) worst-case complexity of mbsstr.
29082         * lib/mbsstr.c: Include stdbool.h.
29083         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
29084         functions.
29085         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
29086         bookkeeping indicates that it's worth it.
29087         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
29088
29089         * modules/mbsstr-tests: New file.
29090         * tests/test-mbsstr1.c: New file.
29091         * tests/test-mbsstr2.sh: New file.
29092         * tests/test-mbsstr2.c: New file.
29093         * tests/test-mbsstr3.sh: New file.
29094         * tests/test-mbsstr3.c: New file.
29095         * m4/locale-fr.m4: New file.
29096
29097 2007-02-11  Bruno Haible  <bruno@clisp.org>
29098
29099         * lib/mbsrchr.c (mbsrchr): Fix bug.
29100
29101         * modules/mbsrchr-tests: New file.
29102         * tests/test-mbsrchr.sh: New file.
29103         * tests/test-mbsrchr.c: New file.
29104
29105 2007-02-11  Bruno Haible  <bruno@clisp.org>
29106
29107         * lib/mbschr.c (mbschr): Fix bug.
29108
29109         * modules/mbschr-tests: New file.
29110         * tests/test-mbschr.sh: New file.
29111         * tests/test-mbschr.c: New file.
29112         * m4/locale-zh.m4: New file.
29113
29114 2007-02-11  Bruno Haible  <bruno@clisp.org>
29115
29116         Support for copying multibyte string iterators.
29117         * lib/mbiter.h: Include <string.h>.
29118         (mbiter_multi_copy): New function.
29119         (mbi_copy): New macro.
29120         * lib/mbuiter.h: Include <string.h>.
29121         (mbuiter_multi_copy): New function.
29122         (mbui_copy): New macro.
29123
29124 2007-02-11  Bruno Haible  <bruno@clisp.org>
29125
29126         New module mbslen.
29127         * modules/mbslen: New file.
29128         * lib/mbslen.c: New file.
29129         * lib/string_.h (mbslen): New declaration.
29130         * m4/mbslen.m4: New file.
29131         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
29132         GNULIB_MBSLEN.
29133         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
29134         * MODULES.html.sh (Internationalization functions): Add mbslen.
29135
29136 2007-02-11  Bruno Haible  <bruno@clisp.org>
29137
29138         Ensure O(n) worst-case complexity of strcasestr substitute.
29139         * lib/strcasestr.c: Include stdbool.h.
29140         (knuth_morris_pratt): New function.
29141         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
29142         bookkeeping indicates that it's worth it.
29143         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
29144
29145         * modules/strcasestr-tests: New file.
29146         * tests/test-strcasestr.c: New file.
29147
29148 2007-02-11  Bruno Haible  <bruno@clisp.org>
29149
29150         Ensure O(n) worst-case complexity of c_strcasestr.
29151         * lib/c-strcasestr.c: Include stdbool.h, string.h.
29152         (knuth_morris_pratt): New function.
29153         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
29154         the bookkeeping indicates that it's worth it.
29155         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
29156
29157         * modules/c-strcasestr-tests: New file.
29158         * tests/test-c-strcasestr.c: New file.
29159
29160 2007-02-11  Bruno Haible  <bruno@clisp.org>
29161
29162         Ensure O(n) worst-case complexity of c_strstr.
29163         * lib/c-strstr.c: Include stdbool.h, string.h.
29164         (knuth_morris_pratt): New function.
29165         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
29166         bookkeeping indicates that it's worth it.
29167         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
29168
29169         * lib/c-strstr.c: Complete rewrite for maintainability.
29170
29171         * modules/c-strstr-tests: New file.
29172         * tests/test-c-strstr.c: New file.
29173
29174 2007-02-11  Bruno Haible  <bruno@clisp.org>
29175
29176         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
29177         5.2.1 and earlier, whereby \055 was treated just like the range
29178         delimiter '-'.
29179         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
29180
29181 2007-02-08  Bruno Haible  <bruno@clisp.org>
29182
29183         * modules/regex (Depends-on): Add stdbool.
29184         Reported by Dalibor Topic <robilad@kaffe.org>.
29185
29186 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
29187
29188         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
29189         Prefer returning from main to exiting from it.
29190         Remove unnecessary parens after sizeof.
29191
29192 2007-02-05  Bruno Haible  <bruno@clisp.org>
29193
29194         New module mbssep.
29195         * modules/mbssep: New file.
29196         * lib/mbssep.c: New file.
29197         * lib/string_.h (strsep): Add a conditional link warning.
29198         (mbssep): New declaration.
29199         * m4/mbssep.m4: New file.
29200         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
29201         GNULIB_MBSSEP.
29202         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
29203         * MODULES.html.sh (Internationalization functions): Add mbssep.
29204
29205 2007-02-05  Bruno Haible  <bruno@clisp.org>
29206
29207         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
29208         Optimize search in case of 1 delimiter.
29209
29210 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
29211
29212         * lib/acl.h: Include sys/types.h before sys/acl.h.
29213
29214 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
29215
29216         Merge upstream fix for glibc bugzilla #3957:
29217
29218         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
29219
29220         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
29221         bit for RE_HAT_LISTS_NOT_NEWLINE.
29222         (build_charclass_op): Remove bogus comment.
29223
29224 2007-02-05  Simon Josefsson  <simon@josefsson.org>
29225
29226         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
29227
29228 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
29229
29230         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
29231         * lib/memmem.c [!defined _LIBC]: Include config.h.
29232
29233 2007-02-04  Bruno Haible  <bruno@clisp.org>
29234
29235         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
29236         warning message.
29237
29238 2007-02-04  Bruno Haible  <bruno@clisp.org>
29239
29240         New module mbstok_r.
29241         * modules/mbstok_r: New file.
29242         * lib/mbstok_r.c: New file.
29243         * lib/string_.h (strtok_r): Change argument names to match the
29244         comments. Add a conditional link warning.
29245         (mbstok_r): New declaration.
29246         * m4/mbstok_r.m4: New file.
29247         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
29248         GNULIB_MBSTOK_R.
29249         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
29250         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
29251
29252 2007-02-04  Bruno Haible  <bruno@clisp.org>
29253
29254         New module mbsspn.
29255         * modules/mbsspn: New file.
29256         * lib/mbsspn.c: New file.
29257         * lib/string_.h (strspn): Add a conditional link warning.
29258         (mbsspn): New declaration.
29259         * m4/mbsspn.m4: New file.
29260         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
29261         GNULIB_MBSSPN.
29262         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
29263         * MODULES.html.sh (Internationalization functions): Add mbsspn.
29264
29265 2007-02-04  Bruno Haible  <bruno@clisp.org>
29266
29267         New module mbspbrk.
29268         * modules/mbspbrk: New file.
29269         * lib/mbspbrk.c: New file.
29270         * lib/string_.h (strpbrk): Add a conditional link warning.
29271         (mbspbrk): New declaration.
29272         * m4/mbspbrk.m4: New file.
29273         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
29274         GNULIB_MBSPBRK.
29275         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
29276         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
29277
29278 2007-02-04  Bruno Haible  <bruno@clisp.org>
29279
29280         New module mbscspn.
29281         * modules/mbscspn: New file.
29282         * lib/mbscspn.c: New file.
29283         * lib/string_.h (strcspn): Add a conditional link warning.
29284         (mbscspn): New declaration.
29285         * m4/mbscspn.m4: New file.
29286         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
29287         GNULIB_MBSCSPN.
29288         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
29289         * MODULES.html.sh (Internationalization functions): Add mbscspn.
29290
29291 2007-02-04  Bruno Haible  <bruno@clisp.org>
29292
29293         New module mbscasestr, reduced goal of strcasestr.
29294         * modules/mbscasestr: New file.
29295         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
29296         (mbscasestr): Renamed from strcasestr.
29297         * lib/strcasestr.c: Don't include mbuiter.h.
29298         (strcasestr): Remove support for multibyte locales.
29299         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
29300         Change the conditional link warning.
29301         (mbscasestr): New declaration.
29302         * m4/mbscasestr.m4: New file.
29303         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
29304         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
29305         REPLACE_STRCASESTR.
29306         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
29307         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
29308         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
29309         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
29310         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
29311         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
29312         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
29313         (Depends-on): Remove mbuiter.
29314         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
29315
29316 2007-02-04  Bruno Haible  <bruno@clisp.org>
29317
29318         Simplify handling of strncasecmp.
29319         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
29320         the conditional link warning.
29321         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
29322         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
29323         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
29324         * modules/strcase (configure.ac): Don't invoke
29325         gl_STRING_MODULE_INDICATOR.
29326         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
29327
29328 2007-02-04  Bruno Haible  <bruno@clisp.org>
29329
29330         New module mbscasecmp, reduced goal of strcasecmp.
29331         * modules/mbscasecmp: New file.
29332         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
29333         (mbscasecmp): Renamed from strcasecmp.
29334         * lib/strcasecmp.c: Don't include mbuiter.h.
29335         (strcasecmp): Remove support for multibyte locales.
29336         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
29337         Change the conditional link warning.
29338         (mbscasecmp): New declaration.
29339         * m4/mbscasecmp.m4: New file.
29340         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
29341         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
29342         REPLACE_STRCASECMP.
29343         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
29344         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
29345         GNULIB_MBSCASECMP.
29346         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
29347         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
29348         * modules/strcase (Files): Remove m4/mbrtowc.m4.
29349         (Depends-on): Remove mbuiter.
29350         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
29351
29352 2007-02-04  Bruno Haible  <bruno@clisp.org>
29353
29354         New module mbsstr. Remove module strstr.
29355         * modules/mbsstr: New file.
29356         * modules/strstr: Remove file.
29357         * lib/mbsstr.c: Renamed from lib/strstr.c.
29358         (mbsstr): Renamed from strstr.
29359         * lib/string_.h (strstr): Remove declaration. Change the conditional
29360         link warning.
29361         (mbsstr): New declaration.
29362         * m4/mbsstr.m4: New file.
29363         * m4/strstr.m4: Remove file.
29364         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
29365         REPLACE_STRSTR.
29366         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
29367         Don't initialize GNULIB_STRSTR.
29368         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
29369         substitute GNULIB_STRSTR and REPLACE_STRSTR.
29370         * MODULES.html.sh (Internationalization functions): Add mbsstr.
29371         (Support for systems lacking ANSI C 89): Remove strstr.
29372
29373 2007-02-04  Bruno Haible  <bruno@clisp.org>
29374
29375         New module mbsrchr.
29376         * modules/mbsrchr: New file.
29377         * lib/mbsrchr.c: New file.
29378         * lib/string_.h (strrchr): Add a conditional link warning.
29379         (mbsrchr): New declaration.
29380         * m4/mbsrchr.m4: New file.
29381         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
29382         GNULIB_MBSRCHR.
29383         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
29384         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
29385
29386 2007-02-04  Bruno Haible  <bruno@clisp.org>
29387
29388         New module mbschr.
29389         * modules/mbschr: New file.
29390         * lib/mbschr.c: New file.
29391         * lib/string_.h (strchr): Add a conditional link warning.
29392         (mbschr): New declaration.
29393         * m4/mbschr.m4: New file.
29394         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
29395         GNULIB_MBSCHR.
29396         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
29397         * MODULES.html.sh (Internationalization functions): Add mbschr.
29398
29399 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
29400
29401         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
29402
29403         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
29404
29405 2007-02-04  Bruno Haible  <bruno@clisp.org>
29406
29407         New module description section 'configure.ac-early'.
29408         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
29409         (func_get_autoconf_early_snippet): New function.
29410         (func_import, func_create_testdir): Use it. Remove special cases for
29411         modules 'extensions' and 'lock'.
29412         * modules/extensions (configure.ac-early): Require
29413         gl_USE_SYSTEM_EXTENSIONS.
29414         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
29415
29416 2007-02-04  Bruno Haible  <bruno@clisp.org>
29417
29418         Make use of gcj-4.3's -fsource and -ftarget option.
29419         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
29420         and if so try the options -fsource and -ftarget.
29421         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
29422         source_version, ftarget_option, target_version arguments.
29423         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
29424         (is_envjavac_oldgcj_14_14_usable): Renamed from
29425         is_envjavac_gcj_14_14_usable.
29426         (is_envjavac_oldgcj_14_13_usable): Renamed from
29427         is_envjavac_gcj_14_13_usable.
29428         (is_gcj_present): Update.
29429         (is_gcj_43, is_gcj43_usable): New functions.
29430         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
29431         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
29432         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
29433         try the options -fsource and -ftarget.
29434
29435 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
29436
29437         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
29438         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
29439         larger value.
29440
29441 2007-02-03  Jim Meyering  <jim@meyering.net>
29442
29443         Give tools a better chance to allocate space for very large buffers.
29444         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
29445
29446         Make pwd and readlink work also when run with an unreadable parent dir
29447         on systems with openat support.
29448         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
29449         provided getcwd function, even when we have openat support.
29450         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
29451
29452 2007-02-02  Bruno Haible  <bruno@clisp.org>
29453
29454         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
29455         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
29456         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
29457         portability problems if one of these functions is only used on specific
29458         platforms.
29459         Reported by Paul Eggert.
29460
29461 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
29462
29463         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
29464         is causing more trouble than it's curing.
29465         * lib/regex_internal.h (__mempcpy): Remove.
29466         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
29467         (and make the code a tad smaller to boot).
29468         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
29469
29470 2007-02-02  Jim Meyering  <jim@meyering.net>
29471
29472         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
29473         section, not in the Makefile.am: one.
29474
29475 2007-02-02  Eric Blake  <ebb9@byu.net>
29476
29477         * lib/strchrnul.c: Always include config.h first.
29478
29479         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
29480         gnulib strstr is not necessary here.
29481
29482 2007-02-02  Simon Josefsson  <simon@josefsson.org>
29483
29484         * m4/socklen.m4: Fix typo.
29485
29486 2007-02-02  Eric Blake  <ebb9@byu.net>
29487
29488         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
29489         * modules/netinet_in (Makefile.am): Likewise.
29490
29491 2007-02-01  Bruno Haible  <bruno@clisp.org>
29492
29493         * lib/string_.h (GL_LINK_WARNING): New macro.
29494         (strcasecmp, strstr, strcasestr): If provided by the system,
29495         conditionally define as a macro that leads to a warning instead of to
29496         an error.
29497         (strncasecmp): Conditionally define as a macro that leads to a warning.
29498
29499 2007-02-01  Karl Berry  <karl@gnu.org>
29500
29501         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
29502
29503 2007-02-01  Bruno Haible  <bruno@clisp.org>
29504
29505         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
29506         renamings.
29507
29508 2007-02-01  Eric Blake  <ebb9@byu.net>
29509
29510         * modules/regex (Depends-on): Revert dependence on mempcpy.
29511         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
29512         module's definition of mempcpy.
29513         Reported by Paul Eggert.
29514
29515 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
29516
29517         * lib/string_.h: If the gnulib module XYZ is not present, undefine
29518         the symbol XYZ before redefining it.  This fixes a problem with
29519         programs that don't use XYZ, when compiled on systems that define
29520         XYZ to something else.
29521
29522 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
29523
29524         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
29525         occurs when "mkdir -m foo" creates a setgid directory that is (1)
29526         writeable to group or other and (2) is intended to have a special
29527         mode bit that is set or cleared.  In such a case, the directory
29528         should be neither group- nor other-writeable until the special
29529         mode bits are right.
29530
29531 2007-01-31  Eric Blake  <ebb9@byu.net>
29532
29533         * modules/mountlist (Depends-on): Add strstr.
29534
29535         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
29536         bug.
29537         * modules/string (Makefile.am): Remove redundant replacement.
29538         * modules/regex (Depends-on): Add mempcpy.
29539
29540 2007-01-31  Bruno Haible  <bruno@clisp.org>
29541
29542         New module description field 'Link'.
29543         * gnulib-tool (func_usage): Document --extract-link-directive.
29544         (sed_extract_prog): Recognize 'Link' directive.
29545         (func_get_link_directive): New function.
29546         (func_import): Show summary of link directives.
29547         Handle --extract-link-directive option.
29548         * modules/acl (Link): New section.
29549         * modules/clock-time (Link): New section.
29550         * modules/euidaccess (Link): New section.
29551         * modules/gettext (Link): New section.
29552         * modules/iconv (Link): New section.
29553         * modules/lock (Link): New section.
29554         * modules/nanosleep (Link): New section.
29555         * modules/readline (Link): New section.
29556
29557 2007-01-27  Bruno Haible  <bruno@clisp.org>
29558
29559         Enforce the use of gnulib modules for unportable <string.h> functions.
29560         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
29561         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
29562         (gl_HEADER_STRING_H_BODY): Require it.
29563         * lib/string_.h: If the gnulib module XYZ is not present, redefine
29564         the symbol XYZ to one that gives a link error.
29565         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
29566         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
29567         * modules/mempcpy (configure.ac): Likewise.
29568         * modules/memrchr (configure.ac): Likewise.
29569         * modules/stpcpy (configure.ac): Likewise.
29570         * modules/stpncpy (configure.ac): Likewise.
29571         * modules/strcase (configure.ac): Likewise.
29572         * modules/strcasestr (configure.ac): Likewise.
29573         * modules/strchrnul (configure.ac): Likewise.
29574         * modules/strdup (configure.ac): Likewise.
29575         * modules/strndup (configure.ac): Likewise.
29576         * modules/strnlen (configure.ac): Likewise.
29577         * modules/strpbrk (configure.ac): Likewise.
29578         * modules/strsep (configure.ac): Likewise.
29579         * modules/strstr (configure.ac): Likewise.
29580         * modules/strtok_r (configure.ac): Likewise.
29581
29582 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
29583
29584         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
29585
29586 2007-01-30  Jim Meyering  <jim@meyering.net>
29587
29588         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
29589
29590 2007-01-29  Bruno Haible  <bruno@clisp.org>
29591
29592         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
29593         * lib/execute.c: Likewise.
29594         * lib/pipe.c: Likewise.
29595         * lib/printf-args.h: Likewise.
29596         * lib/printf-args.c: Likewise.
29597         * lib/printf-parse.c: Likewise.
29598         * lib/vasnprintf.c: Likewise.
29599
29600 2007-01-29  Eric Blake  <ebb9@byu.net>
29601
29602         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
29603         declaration.
29604
29605 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
29606
29607         * lib/strptime.h (strptime): Use 'restrict' for args where
29608         POSIX requires this.
29609         * lib/strptime.c (strptime): Likewise.
29610         Change license notice from LGPL to GPL, since gnulib-tool will
29611         change this as needed.
29612         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
29613         defined.
29614         Include "strptime.h" first, to check interface.
29615         Do not #undef _LIBC and _NL_CURRENT.
29616         Do not include <stdlib.h>; no longer needed.
29617         Include "time_r.h" and declare ptime_locale_status
29618         only if _LIBC is not defined.
29619         (__P): Remove unused macro.
29620         (match_string): Bring back glibc version, but use it only if _LIBC
29621         is defined.
29622         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
29623         Remove unnecessary assertion and abort() call.
29624         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
29625         * m4/strptime.m4: Fix serial number comment.
29626         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
29627         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
29628         (Depends-on): Add time_r.
29629
29630 2007-01-29  Bruno Haible  <bruno@clisp.org>
29631
29632         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
29633         strptime.
29634         * modules/strptime (Depends-on): Add stdbool.
29635         * lib/strptime.h: Include <time.h> always. Add comments.
29636
29637 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
29638
29639         * modules/strptime: New file.
29640         * lib/strptime.h: New file.
29641         * lib/strptime.c: New file.
29642         * m4/strptime.m4: New file.
29643
29644 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
29645
29646         * MODULES.html.sh: New module mpsort.
29647         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
29648
29649         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
29650         a circularity problem with HP-UX ia64 reported by Bob Proulx in
29651         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
29652         All uses changed.
29653         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
29654         All uses changed.
29655         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
29656         to _Restrict_.
29657         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
29658         the parameter matches the prototype.
29659
29660 2007-01-28  Jim Meyering  <jim@meyering.net>
29661
29662         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
29663         sys/time.h here, reverting that part of the previous patch:
29664         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
29665
29666 2007-01-28  Bruno Haible  <bruno@clisp.org>
29667
29668         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
29669         value of $(SYS_TIME_H).
29670         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
29671         remove it conditionally, too. [added by Jim Meyering]
29672         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
29673         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
29674         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
29675         GETTIMEOFDAY_REPLACEMENT to 1.
29676
29677 2007-01-28  Bruno Haible  <bruno@clisp.org>
29678
29679         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
29680         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
29681         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
29682         Set UNISTD_H instead of UNISTD_H2.
29683         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
29684
29685 2007-01-28  Bruno Haible  <bruno@clisp.org>
29686
29687         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
29688         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
29689
29690 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29691
29692         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
29693         (func_create_testdir): Ensure C locale for `grep' and `tr'
29694         character ranges.
29695         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
29696         ACLOCAL_AMFLAGS parsing state machine.
29697
29698 2007-01-27  Bruno Haible  <bruno@clisp.org>
29699
29700         * modules/unistr/base: Update.
29701
29702 2007-01-27  Bruno Haible  <bruno@clisp.org>
29703
29704         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
29705         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
29706         * modules/unistr/u32-mbtouc-unsafe: Renamed from
29707         modules/unistr/u32-mbtouc.
29708         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
29709         * lib/unistr.h: Update.
29710         * lib/linebreak.c: Update.
29711         * modules/unistr/u32-mbtouc: Renamed from
29712         modules/unistr/u32-mbtouc-safe.
29713         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
29714         * lib/unistr.h: Update.
29715         * lib/unistr/u32-to-u8.c: Update.
29716         * lib/unistr/u32-to-u16.c: Update.
29717
29718 2007-01-27  Bruno Haible  <bruno@clisp.org>
29719
29720         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
29721         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
29722         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
29723         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
29724         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
29725         * modules/unistr/u16-mbtouc-unsafe: Renamed from
29726         modules/unistr/u16-mbtouc.
29727         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
29728         * lib/unistr.h: Update.
29729         * lib/linebreak.c: Update.
29730         * modules/linebreak: Update.
29731         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
29732         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
29733         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
29734         * modules/unistr/u16-mbtouc: Renamed from
29735         modules/unistr/u16-mbtouc-safe.
29736         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
29737         * lib/unistr.h: Update.
29738         * lib/unistr/u16-to-u8.c: Update.
29739         * modules/unistr/u16-to-u8: Update.
29740         * lib/unistr/u16-to-u32.c: Update.
29741         * modules/unistr/u16-to-u32: Update.
29742
29743 2007-01-27  Bruno Haible  <bruno@clisp.org>
29744
29745         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
29746         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
29747         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
29748         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
29749         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
29750         * modules/unistr/u8-mbtouc-unsafe: Renamed from
29751         modules/unistr/u8-mbtouc.
29752         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
29753         * lib/unistr.h: Update.
29754         * lib/striconveh.c: Update.
29755         * modules/striconveh: Update.
29756         * lib/linebreak.c: Update.
29757         * modules/linebreak: Update.
29758         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
29759         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
29760         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
29761         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
29762         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
29763         * lib/unistr.h: Update.
29764         * lib/striconveh.c: Update.
29765         * modules/striconveh: Update.
29766         * lib/unistr/u8-to-u16.c: Update.
29767         * modules/unistr/u8-to-u16: Update.
29768         * lib/unistr/u8-to-u32.c: Update.
29769         * modules/unistr/u8-to-u32: Update.
29770
29771 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29772
29773         Sync from Libtool.
29774         * lib/argz.c: Do not include strings.h nor memory.h, include
29775         string.h unconditionally.  Patch by Simon Josefsson.
29776
29777 2007-01-27  Bruno Haible  <bruno@clisp.org>
29778
29779         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
29780         from gl_HEADER_STRING_H_BODY.
29781         (gl_HEADER_STRING_H_BODY): Require it.
29782         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
29783         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
29784         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
29785         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
29786         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
29787         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
29788         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
29789         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
29790         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
29791         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
29792         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
29793         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
29794         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
29795         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
29796         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
29797
29798 2007-01-27  Bruno Haible  <bruno@clisp.org>
29799
29800         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
29801         check_PROGRAMS into noinst_PROGRAMS.
29802         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
29803         check_PROGRAMS in this case.
29804         (func_import): Set for_test to false.
29805         (func_create_testdir): Set for_test to true.
29806
29807 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
29808             Bruno Haible  <bruno@clisp.org>
29809
29810         * modules/strcasestr (Files): Remove lib/strcasestr.h.
29811         (Depends-on): Add string.
29812         (Includes): Use <string.h> instead of strcasestr.h.
29813         * modules/string (Makefile.am): Also substitute the value of
29814         REPLACE_STRCASESTR.
29815         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
29816         assume strcasestr is declared in <string.h> not <strings.h>. Also
29817         set REPLACE_STRCASESTR.
29818         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
29819         REPLACE_STRCASESTR.
29820         * lib/strcasestr.h: Remove file.
29821         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
29822         * lib/string_.h (strcasestr): New declaration.
29823
29824 2007-01-27  Bruno Haible  <bruno@clisp.org>
29825
29826         * lib/string_.h: Use 'extern'.
29827
29828 2007-01-27  Jim Meyering  <jim@meyering.net>
29829
29830         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
29831         of set-but-not-used local, "q".
29832
29833         * lib/mempcpy.c: Include <config.h> before <string.h>.
29834         This fixes a compilation error on HP-UX, due to the system's
29835         "restrict"-using mempcpy prototype.
29836
29837 2007-01-26  Bruno Haible  <bruno@clisp.org>
29838
29839         Small optimization.
29840         * lib/javacomp.c: Include c-strstr.h.
29841          (is_envjavac_gcj): Use c_strstr instead of strstr.
29842         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
29843
29844 2007-01-26  Bruno Haible  <bruno@clisp.org>
29845
29846         * MODULES.html.sh (Unicode string functions): Add the new modules.
29847
29848         * modules/uniconv/u32-strconv-to-locale: New file.
29849         * lib/uniconv/u32-strconv-to-locale.c: New file.
29850
29851         * modules/uniconv/u16-strconv-to-locale: New file.
29852         * lib/uniconv/u16-strconv-to-locale.c: New file.
29853
29854         * modules/uniconv/u8-strconv-to-locale: New file.
29855         * lib/uniconv/u8-strconv-to-locale.c: New file.
29856
29857         * modules/uniconv/u32-strconv-from-locale: New file.
29858         * lib/uniconv/u32-strconv-from-locale.c: New file.
29859
29860         * modules/uniconv/u16-strconv-from-locale: New file.
29861         * lib/uniconv/u16-strconv-from-locale.c: New file.
29862
29863         * modules/uniconv/u8-strconv-from-locale: New file.
29864         * lib/uniconv/u8-strconv-from-locale.c: New file.
29865
29866         * modules/uniconv/u32-strconv-to-enc: New file.
29867         * lib/uniconv/u32-strconv-to-enc.c: New file.
29868         * modules/uniconv/u32-strconv-to-enc-tests: New file.
29869         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
29870
29871         * modules/uniconv/u16-strconv-to-enc: New file.
29872         * lib/uniconv/u16-strconv-to-enc.c: New file.
29873         * lib/uniconv/u-strconv-to-enc.h: New file.
29874         * modules/uniconv/u16-strconv-to-enc-tests: New file.
29875         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
29876
29877         * modules/uniconv/u8-strconv-to-enc: New file.
29878         * lib/uniconv/u8-strconv-to-enc.c: New file.
29879         * modules/uniconv/u8-strconv-to-enc-tests: New file.
29880         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
29881
29882         * modules/uniconv/u32-strconv-from-enc: New file.
29883         * lib/uniconv/u32-strconv-from-enc.c: New file.
29884         * modules/uniconv/u32-strconv-from-enc-tests: New file.
29885         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
29886
29887         * modules/uniconv/u16-strconv-from-enc: New file.
29888         * lib/uniconv/u16-strconv-from-enc.c: New file.
29889         * modules/uniconv/u16-strconv-from-enc-tests: New file.
29890         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
29891
29892         * modules/uniconv/u8-strconv-from-enc: New file.
29893         * lib/uniconv/u8-strconv-from-enc.c: New file.
29894         * lib/uniconv/u-strconv-from-enc.h: New file.
29895         * modules/uniconv/u8-strconv-from-enc-tests: New file.
29896         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
29897
29898         * modules/uniconv/u32-conv-from-enc: New file.
29899         * lib/uniconv/u32-conv-from-enc.c: New file.
29900         * modules/uniconv/u32-conv-from-enc-tests: New file.
29901         * tests/uniconv/test-u32-conv-from-enc.c: New file.
29902
29903         * modules/uniconv/u16-conv-from-enc: New file.
29904         * lib/uniconv/u16-conv-from-enc.c: New file.
29905         * lib/uniconv/u-conv-from-enc.h: New file.
29906         * modules/uniconv/u16-conv-from-enc-tests: New file.
29907         * tests/uniconv/test-u16-conv-from-enc.c: New file.
29908
29909         * modules/uniconv/u8-conv-from-enc: New file.
29910         * lib/uniconv/u8-conv-from-enc.c: New file.
29911         * modules/uniconv/u8-conv-from-enc-tests: New file.
29912         * tests/uniconv/test-u8-conv-from-enc.c: New file.
29913
29914         * modules/uniconv/base: New file.
29915         * lib/uniconv.h: New file.
29916
29917 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
29918
29919         * doc/gnulib-tool.texi (Initial import): Update to match current
29920         behavior with strdup module.
29921         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
29922         * lib/memmem.h: Remove; all uses removed.  This is now done
29923         by <string.h>.
29924         * lib/mempcpy.h: Likewise.
29925         * lib/memrchr.h: Likewise.
29926         * lib/stpcpy.h: Likewise.
29927         * lib/stpncpy.h: Likewise.
29928         * lib/strcase.h: Likewise.
29929         * lib/strchrnul.h: Likewise.
29930         * lib/strdup.h: Likewise.
29931         * lib/strndup.h: Likewise.
29932         * lib/strnlen.h: Likewise.
29933         * lib/strpbrk.h: Likewise.
29934         * lib/strsep.h: Likewise.
29935         * lib/strstr.h: Likewise.
29936         * lib/strtok_r.h: Likewise.
29937         * lib/string_.h: New file.
29938         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
29939         Rely on <string.h> instead.
29940         * lib/canon-host.c: Likewise.
29941         * lib/chdir-long.c: Likewise.
29942         * lib/concatpath.c: Likewise.
29943         * lib/exclude.c: Likewise.
29944         * lib/fchdir.c: Likewise.
29945         * lib/getaddrinfo.c: Likewise.
29946         * lib/getcwd.c: Likewise.
29947         * lib/getsubopt.c: Likewise.
29948         * lib/glob.c: Likewise.
29949         * lib/hard-locale.c: Likewise.
29950         * lib/iconvme.c: Likewise.
29951         * lib/javacomp.c: Likewise.
29952         * lib/mempcpy.c: Likewise.
29953         * lib/memrchr.c: Likewise.
29954         * lib/regex_internal.h: Likewise.
29955         * lib/stpncpy.c: Likewise.
29956         * lib/strcasecmp.c: Likewise.
29957         * lib/strchrnul.c: Likewise.
29958         * lib/strdup.c: Likewise.
29959         * lib/striconv.c: Likewise.
29960         * lib/striconveh.c: Likewise.
29961         * lib/striconveha.c: Likewise.
29962         * lib/strncasecmp.c: Likewise.
29963         * lib/strndup.c: Likewise.
29964         * lib/strnlen.c: Likewise.
29965         * lib/strsep.c: Likewise.
29966         * lib/strstr.c: Likewise.
29967         * lib/strtok_r.c: Likewise.
29968         * lib/userspec.c: Likewise.
29969         * lib/w32spawn.h: Likewise.
29970         * lib/xstrndup.c: Likewise.
29971         * lib/mountlist.c (strstr): Remove decl.
29972         * m4/string_h.m4: New file.
29973         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
29974         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
29975         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
29976         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
29977         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
29978         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
29979         Set REPLACE_STRCASECMP if necessary.
29980         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
29981         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
29982         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
29983         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
29984         HAVE_DECL_STRDUP if necessary.
29985         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
29986         since gl_FUNC_STRNDUP does that now.
29987         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
29988         Check for decl here...
29989         (gl_PREREQ_STRNLEN): ... not here.
29990         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
29991         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
29992         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
29993         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
29994         necessary.
29995         * modules/string: New file.
29996         * modules/memmem (Files): Remove special-purpose include file.
29997         (Depends-on): Add string.
29998         (Include): Include <string.h>, not the removed file.
29999         * modules/mempcpy: Likewise.
30000         * modules/memrchr: Likewise.
30001         * modules/stpcpy: Likewise.
30002         * modules/stpncpy: Likewise.
30003         * modules/strcase: Likewise.
30004         * modules/strchrnul: Likewise.
30005         * modules/strdup: Likewise.
30006         * modules/strndup: Likewise.
30007         * modules/strnlen: Likewise.
30008         * modules/strpbrk: Likewise.
30009         * modules/strsep: Likewise.
30010         * modules/strstr: Likewise.
30011         * modules/strtok_r: Likewise.
30012         * tests/test-dirname.c: Don't include "strdup.h", since
30013         <string.h> now suffices.
30014         * tests/test-memmem.c: Don't include "memmem.h", since
30015         <string.h> now suffices.
30016
30017 2007-01-25  Bruno Haible  <bruno@clisp.org>
30018
30019         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
30020         *resultp is 0.
30021
30022         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
30023         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
30024         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
30025         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
30026
30027         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
30028         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
30029         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
30030         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
30031         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
30032         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
30033
30034 2007-01-24  Bruno Haible  <bruno@clisp.org>
30035
30036         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
30037         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
30038         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
30039         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
30040         gl_FUNC_FTS_CORE.
30041         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
30042         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
30043         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
30044         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
30045         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
30046         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
30047         gl_FUNC_FCHOWNAT.
30048         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
30049         gl_FUNC_STRFTIME.
30050         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
30051         Reported by Ralf Wildenhues.
30052
30053 2007-01-24  Bruno Haible  <bruno@clisp.org>
30054
30055         Drop AC_REQUIRE calls that are redundant with the module dependencies.
30056         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
30057         gl_GETADDRINFO.
30058         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
30059         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
30060         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
30061
30062 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
30063
30064         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
30065         Don't use 'exit'; just return from 'main'.
30066         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
30067
30068         * lib/fnmatch_.h: Readjust white space and comments to match
30069         glibc, to avoid spurious diffs.
30070
30071 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
30072
30073         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
30074         2004-12-01 change by Jakub Jelinek, since this code won't compile
30075         if !LIBC.  Problem reported by Bob Proulx.
30076
30077 2007-01-23  Bruno Haible  <bruno@clisp.org>
30078
30079         * lib/striconveh.c: Include c-strcaseeq.h.
30080         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
30081         * modules/striconveh (Depends-on): Add c-strcaseeq.
30082
30083 2007-01-23  Bruno Haible  <bruno@clisp.org>
30084
30085         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
30086
30087         * modules/c-strcaseeq: New file.
30088         * lib/c-strcaseeq.h: New file.
30089
30090         * modules/streq: New file.
30091         * lib/streq.h: New file.
30092
30093 2007-01-23  Bruno Haible  <bruno@clisp.org>
30094
30095         * modules/striconveha-tests: New file.
30096         * tests/test-striconveha.c: New file.
30097
30098         * lib/striconveha.h: Include <stdbool.h>.
30099         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
30100         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
30101         (mem_iconveha_notranslit): Renamed from mem_iconveha.
30102         (mem_iconveha): New function.
30103         (str_iconveha_notranslit): Renamed from str_iconveha.
30104         (str_iconveha): New function.
30105         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
30106         c-strcase.
30107
30108 2007-01-23  Bruno Haible  <bruno@clisp.org>
30109
30110         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
30111         encodings without forgiving before trying any encoding with handler.
30112         (str_iconveha): Try all encodings without forgiving before trying any
30113         encoding with handler.
30114
30115 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
30116
30117         Import the following changes from libc.
30118
30119         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
30120
30121         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
30122
30123         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
30124
30125         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
30126         normal_bracket label.
30127
30128         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
30129
30130         [BZ #361]
30131         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
30132         to normal_bracket after fetching the next character.
30133
30134 2007-01-22  Bruno Haible  <bruno@clisp.org>
30135
30136         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
30137         argument.
30138         * lib/striconveh.c (iconv_carefully_1): New function.
30139         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
30140         argument.
30141         (str_cd_iconveh): Update.
30142         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
30143         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
30144         * tests/test-striconveh.c (MAGIC): New macro.
30145         (new_offsets): New function.
30146         (main): Test call with and without offsets.
30147
30148 2007-01-22  Bruno Haible  <bruno@clisp.org>
30149
30150         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
30151         * modules/sys_select (Makefile.am): Likewise.
30152         * modules/sys_socket (Makefile.am): Likewise.
30153         * modules/sys_time (Makefile.am): Likewise.
30154
30155 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
30156
30157         * modules/gettimeofday (License): Change from GPL to LGPL, since
30158         gettimeofday is a library function.
30159
30160 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30161
30162         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
30163
30164 2007-01-21  Bruno Haible  <bruno@clisp.org>
30165
30166         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
30167
30168 2007-01-21  Bruno Haible  <bruno@clisp.org>
30169
30170         * modules/striconveha: New file.
30171         * lib/striconveha.h: New file.
30172         * lib/striconveha.c: New file.
30173         * MODULES.html.sh (Internationalization functions): Add striconveha.
30174         * lib/striconv.c (str_iconv): Optimize the case of an empty input
30175         string.
30176         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
30177
30178 2007-01-21  Bruno Haible  <bruno@clisp.org>
30179
30180         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
30181         * lib/striconveh.c (str_iconveh): Likewise.
30182
30183 2007-01-21  Bruno Haible  <bruno@clisp.org>
30184
30185         * lib/striconveh.h (mem_iconveh): New declaration.
30186         * lib/striconveh.c (mem_iconveh): New function.
30187         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
30188
30189 2007-01-21  Bruno Haible  <bruno@clisp.org>
30190
30191         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
30192
30193         * lib/striconveh.h (mem_cd_iconveh): Change specification.
30194         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
30195         original result buffer.
30196         (str_cd_iconveh): Update.
30197         * tests/test-striconveh.c (main): Update.
30198
30199         * lib/striconv.h (mem_cd_iconv): Change specification.
30200         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
30201         result buffer.
30202         (str_cd_iconv): Update.
30203         * tests/test-striconv.c (main): Update.
30204
30205 2007-01-21  Bruno Haible  <bruno@clisp.org>
30206
30207         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
30208
30209 2007-01-20  Jim Meyering  <jim@meyering.net>
30210
30211         * lib/userspec.c (parse_with_separator): If a user or group string
30212         starts with "+", skip the corresponding name-to-ID look-up, since
30213         such a look-up must fail: user and group names may not include "+".
30214
30215 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
30216
30217         * lib/poll.c: Include sys/time.h and time.h unconditionally,
30218         since we now assume the sys_time module.
30219         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
30220         check for sys/time.h; no longer needed.
30221         * modules/poll (Depends-on): Depend on sys_time.
30222
30223 2007-01-18  Bruno Haible  <bruno@clisp.org>
30224
30225         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
30226         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
30227
30228         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
30229         gettimeofday.
30230
30231         * tests/test-gettimeofday.c: Include <time.h>.
30232         (dummy): Remove variable.
30233
30234         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
30235         gl_HEADER_SYS_TIME_H.
30236         (gl_HEADER_SYS_TIME_H): New macro.
30237
30238         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
30239         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
30240         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
30241         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
30242         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
30243         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
30244         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
30245         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
30246         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
30247         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
30248         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
30249
30250         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
30251         last change; it caused a compilation error when cross-compiling to
30252         Cygwin.
30253
30254 2007-01-18  Jim Meyering  <jim@meyering.net>
30255
30256         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
30257         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
30258         than the race-prone "test -d sys || mkdir sys".
30259         (configure.ac): Use AC_PROG_MKDIR_P.
30260         * modules/sys_select: Likewise.
30261         * modules/sys_socket: Likewise.
30262         * modules/sys_time: Likewise.
30263
30264 2007-01-18  Eric Blake  <ebb9@byu.net>
30265
30266         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
30267         replace gettimeofday.
30268         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
30269         name, to avoid infinite recursion.
30270
30271 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
30272
30273         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
30274         module sys_time.
30275         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
30276         assume timespec.h defines struct timeval.
30277         * lib/settime.c: Likewise.
30278         * lib/utimens.c: Likewise.
30279         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
30280         since we now assume the gettimeofday module.
30281         * lib/tempname.c (__gen_tempname): Likewise.
30282         * lib/gettimeofday.h: Remove.
30283         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
30284         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
30285         Include <time.h>, for 'time()'.
30286         (localtime_buffer_addr): Also use this workaround if
30287         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
30288         to simplify the uses.  All uses changed.
30289         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
30290         that #undef is inside {}, and 'const' follows type name consistently.
30291         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
30292         (gettimeofday): Do not use the maximum possible value for
30293         tv->tv_usec, since that might break usages other than ls.c.
30294         Instead, we'll leave ls.c alone.  This undoes today's patch
30295         by Bruno.  Add a compile-time warning for 1s-clock resolution;
30296         we've never observed the problem but might as well keep the
30297         canary.
30298         * lib/nanosleep.c: Include timespec.h first, for interface check.
30299         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
30300         now assume the sys_time module.
30301         * lib/tempname.c: Likewise.
30302         * lib/timespec.h: Likewise.
30303         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
30304         needed.
30305         * lib/strftime.c: Likewise.
30306         * lib/timespec.h: Likewise.
30307         * lib/posixtm.c: Include posixtm.h first, for interface check.
30308         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
30309         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
30310         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
30311         * lib/sys_time_.h: New file.
30312         * lib/timespec.h (struct timespec): Use long int, not long.
30313         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
30314         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
30315         Remove obsolescent call to AC_HEADER_TIME.
30316         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
30317         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
30318         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
30319         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
30320         Likewise.
30321         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
30322         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
30323         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
30324         into the sys_time module.  Check for gettimeofday just once.
30325         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
30326         for gettimeofday signature to just check the signature.  Merely
30327         compile it, since linking doesn't test signature.  Improve test for
30328         whether gettimeofday.o is actually needed.
30329         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
30330         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
30331         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
30332         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
30333         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
30334         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
30335         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
30336         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
30337         than worrying about sys/time.h.
30338         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
30339         Don't bother worrying about TIME_WITH_SYS_TIME.
30340         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
30341         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
30342         * m4/sys_time_h.m4: New file.
30343         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
30344         Don't include sys/time.h.  Return from main rather than exiting.
30345         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
30346         all uses changed.
30347         * modules/gethrxtime (Depends-on): Add sys_time.
30348         * modules/gettime (Depends-on): Likewise.
30349         * modules/gettimeofday (Depends-on): Likewise.
30350         * modules/nanosleep (Depends-on): Likewise.
30351         * modules/settime (Depends-on): Likewise.
30352         * modules/tempname (Depends-on): Likewise.
30353         * modules/utimens (Depends-on): Likewise.
30354         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
30355         (Include:) Change back to <sys/time.h>.
30356         (Maintainer:) Add self.
30357         * modules/sys_time: New file.
30358         * modules/tempname (Depends-on): Add gettimeofday.
30359         * tests/test-gettimeofday.c: Include <sys/time.h>
30360         rather than gettimeofday.h.
30361
30362 2007-01-17  Bruno Haible  <bruno@clisp.org>
30363
30364         * gnulib-tool (func_get_license): Revert last patch. Instead, let
30365         the license default to GPL.
30366         (func_create_testdir): Don't complain if a module is LGPL and its
30367         tests module depends on GPLed modules.
30368
30369 2007-01-17  Bruno Haible  <bruno@clisp.org>
30370
30371         * lib/gettimeofday.c (gettimeofday): Add code for the case
30372         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
30373         maximum possible value for tv->tv_usec, rather than the minimum one.
30374
30375 2005-10-08  Martin Lambers  <marlam@marlam.de>
30376 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
30377 2007-01-16  Bruno Haible  <bruno@clisp.org>
30378
30379         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
30380         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
30381         gl_FUNC_GETTIMEOFDAY.
30382         (Include): Add gettimeofday.h.
30383         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
30384         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
30385         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
30386         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
30387         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
30388         * lib/gettimeofday.h: New file.
30389         * lib/gettimeofday.c: Include <sys/timeb.h>.
30390         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
30391         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
30392         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
30393         fall back on time().
30394
30395         * tests/test-gettimeofday.c: New file.
30396         * modules/gettimeofday-tests: New file.
30397
30398 2007-01-16  Eric Blake  <ebb9@byu.net>
30399
30400         * modules/fnmatch (Depends-on): Depend on wchar.
30401         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
30402         * m4/fnmatch.m4: Likewise.
30403         * modules/mbchar (Makefile.am): Assume <wchar.h>.
30404         * m4/mbchar.m4: Likewise.
30405         * modules/mbswidth (Depends-on): Depend on wchar.
30406         * lib/mbswidth.c: Assume <wchar.h>.
30407         * m4/mbswidth.m4: Likewise.
30408         * modules/quotearg (Depends-on): Depend on wchar.
30409         * lib/quotearg.c: Assume <wchar.h>.
30410         * m4/quotearg.m4: Likewise.
30411         * modules/regex (Depends-on): Depend on wchar.
30412         * lib/regex_internal.h: Assume <wchar.h>.
30413         * m4/regex.m4: Likewise.
30414         * modules/stdint (Depends-on): Depend on wchar.
30415         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
30416         * m4/stdint.m4: Likewise.
30417         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
30418         * modules/strftime (Depends-on): Depend on wchar.
30419         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
30420         * modules/strtol (Depends-on): Depend on wchar.
30421         * lib/strtol.c: Assume <wchar.h>.
30422         * modules/wcwidth (Depends-on): Depend on wchar.
30423         * lib/wcwidth.h: Assume <wchar.h>.
30424         * m4/wcwidth.m4: Likewise.
30425
30426 2007-01-16  Bruno Haible  <bruno@clisp.org>
30427
30428         * modules/csharpexec-script: New, created from...
30429         * modules/csharpexec: ... this.
30430
30431 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
30432
30433         * modules/javaexec-script: New, created from...
30434         * modules/javaexec: ... this.
30435
30436 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30437
30438         * modules/poll (Dependencies): Add sys_select.
30439
30440 2007-01-15  Jim Meyering  <jim@meyering.net>
30441
30442         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
30443         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
30444         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
30445         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
30446
30447 2007-01-15  Bruno Haible  <bruno@clisp.org>
30448
30449         * modules/striconveh: New file.
30450         * lib/striconveh.h: New file.
30451         * lib/striconveh.c: New file.
30452         * MODULES.html.sh (Internationalization functions): Add striconveh.
30453
30454         * modules/striconveh-tests: New file.
30455         * tests/test-striconveh.c: New file.
30456
30457 2007-01-15  Bruno Haible  <bruno@clisp.org>
30458
30459         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
30460         not from GNU libiconv or GNU libc.
30461
30462 2007-01-15  Bruno Haible  <bruno@clisp.org>
30463
30464         * doc/gnulib-intro.texi (Copyright): Explain the different license
30465         terms for module descriptions, autoconf macros, tests, documentation.
30466
30467 2007-01-14  Bruno Haible  <bruno@clisp.org>
30468
30469         * modules/striconv-tests: New file.
30470         * tests/test-striconv.c: New file.
30471
30472 2007-01-14  Bruno Haible  <bruno@clisp.org>
30473
30474         * modules/iconv-tests: New file.
30475         * tests/test-iconv.c: New file.
30476
30477 2007-01-14  Bruno Haible  <bruno@clisp.org>
30478
30479         * gnulib-tool (func_get_license): For test modules, use the license of
30480         the main module.
30481
30482 2007-01-14  Bruno Haible  <bruno@clisp.org>
30483
30484         * modules/iconv (Include): Clarify that <iconv.h> can only be included
30485         if iconv is found to exist.
30486
30487 2007-01-14  Bruno Haible  <bruno@clisp.org>
30488
30489         * modules/c-ctype-tests: New file.
30490         * tests/test-c-ctype.c: New file.
30491
30492 2007-01-14  Bruno Haible  <bruno@clisp.org>
30493
30494         * modules/binary-io-tests: New file.
30495         * tests/test-binary-io.sh: New file.
30496         * tests/test-binary-io.c: New file.
30497
30498 2007-01-14  Bruno Haible  <bruno@clisp.org>
30499
30500         * modules/array-oset-tests: New file.
30501         * tests/test-array_oset.c: New file.
30502
30503 2007-01-14  Bruno Haible  <bruno@clisp.org>
30504
30505         * modules/array-list-tests: New file.
30506         * tests/test-array_list.c: New file.
30507
30508 2007-01-14  Bruno Haible  <bruno@clisp.org>
30509
30510         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
30511         and make.
30512         Reported by Simon Josefsson in
30513         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
30514
30515 2007-01-14  Bruno Haible  <bruno@clisp.org>
30516
30517         * modules/allocsa-tests: New file.
30518         * tests/test-allocsa.c: New file.
30519
30520 2007-01-14  Bruno Haible  <bruno@clisp.org>
30521
30522         * modules/fchdir (Depends-on): Add absolute-header.
30523         * modules/unistd (Depends-on): Likewise.
30524
30525 2006-12-30  Bruno Haible  <bruno@clisp.org>
30526
30527         * modules/fchdir: New file.
30528         * modules/unistd (Files): Add lib/unistd_.h.
30529         (Makefile.am): Generate unistd.h from unistd_.h.
30530         * lib/fchdir.c: New file.
30531         * lib/dirent_.h: New file.
30532         * lib/unistd_.h: New file.
30533         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
30534         * m4/fchdir.m4: New file.
30535         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
30536         (gl_HEADER_UNISTD): Invoke it.
30537         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
30538         function.
30539         * lib/backupfile.c (opendir, closedir): Undefine.
30540         * lib/chown.c (open, close): Undefine.
30541         * lib/clean-temp.c (open, close): Undefine.
30542         * lib/copy-file.c (open, close): Undefine.
30543         * lib/execute.c (open, close): Undefine.
30544         * lib/fsusage.c (open, close): Undefine.
30545         * lib/gc-gnulib.c (open, close): Undefine.
30546         * lib/getcwd.c (opendir, closedir): Undefine.
30547         * lib/glob.c (opendir, closedir): Undefine.
30548         * lib/javacomp.c (open, close): Undefine.
30549         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
30550         * lib/openat-proc.c (open, close): Undefine.
30551         * lib/pagealign_alloc.c (open, close): Undefine.
30552         * lib/pipe.c (open, close): Undefine.
30553         * lib/progreloc.c (open, close): Undefine.
30554         * lib/savedir.c (opendir, closedir): Undefine.
30555         * lib/utime.c (open, close): Undefine.
30556         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
30557
30558 2007-01-10  Bruno Haible  <bruno@clisp.org>
30559
30560         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
30561
30562 2007-01-12  Eric Blake  <ebb9@byu.net>
30563
30564         Provide a robust <wchar.h>.  Further simplifications are now
30565         possible in other modules, but not included here.
30566         * modules/wchar: New module.
30567         * m4/wchar.m4: New file.
30568         * lib/wchar_.h: Likewise.
30569         * modules/mbchar (Depends-on): Depend on wchar, as the first use
30570         of the new module.
30571         * MODULES.html.sh (Extended multibyte and wide character utilities):
30572         New section.
30573
30574 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
30575
30576         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
30577         to a reasonable default for memory allocation.
30578         (xreadlink): Don't allocate a huge buffer, to work around a buggy
30579         file system that reports garbage st_size values for symlinks.
30580         Problem reported by Liyang Hu.
30581
30582 2007-01-11  Simon Josefsson  <simon@josefsson.org>
30583
30584         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
30585         Emacs .#* auto-save files).
30586
30587 2007-01-11  Bruno Haible  <bruno@clisp.org>
30588
30589         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
30590         directory.
30591
30592 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
30593
30594         Use @...@ consistently in lib/wctype_.h.
30595         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
30596         on it being set to 1 or 0.
30597         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
30598         go back to AC_SUBSTing it.
30599         * modules/wctype (Makefile.am): Undo previous change.
30600
30601 2007-01-10  Eric Blake  <ebb9@byu.net>
30602
30603         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
30604         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
30605         * modules/wctype (Makefile.am): Likewise.
30606         Reported by Chris McGuire.
30607
30608 2007-01-10  Jim Meyering  <jim@meyering.net>
30609
30610         fts.c: a small readability/maintainability improvement
30611         * lib/fts.c (fts_read): Make this code slightly more readable and
30612         maintainable by hoisting the "sp->fts_cur = p" assignments to
30613         immediately follow the statements that set P.  Derived from
30614         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
30615
30616 2007-01-10  Eric Blake  <ebb9@byu.net>
30617
30618         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
30619         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
30620         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30621         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
30622         Reported by Chris McGuire.
30623
30624 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30625
30626         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
30627         in sed script.
30628
30629 2007-01-09  Bruno Haible  <bruno@clisp.org>
30630
30631         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
30632         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
30633         variables.
30634         (func_module): Use them.
30635
30636 2007-01-09  Bruno Haible  <bruno@clisp.org>
30637
30638         * modules/unistr/base: New file.
30639         * lib/unistr.h: New file.
30640
30641         * modules/unistr/u8-to-u16: New file.
30642         * lib/unistr/u8-to-u16.c: New file.
30643
30644         * modules/unistr/u8-to-u32: New file.
30645         * lib/unistr/u8-to-u32.c: New file.
30646
30647         * modules/unistr/u16-to-u8: New file.
30648         * lib/unistr/u16-to-u8.c: New file.
30649
30650         * modules/unistr/u16-to-u32: New file.
30651         * lib/unistr/u16-to-u32.c: New file.
30652
30653         * modules/unistr/u32-to-u8: New file.
30654         * lib/unistr/u32-to-u8.c: New file.
30655
30656         * modules/unistr/u32-to-u16: New file.
30657         * lib/unistr/u32-to-u16.c: New file.
30658
30659         * modules/unistr/u8-check: New file.
30660         * modules/unistr/u16-check: New file.
30661         * modules/unistr/u32-check: New file.
30662         * lib/unistr/u8-check.c: New file.
30663         * lib/unistr/u16-check.c: New file.
30664         * lib/unistr/u32-check.c: New file.
30665
30666         * modules/unistr/u8-chr: New file.
30667         * modules/unistr/u16-chr: New file.
30668         * modules/unistr/u32-chr: New file.
30669         * lib/unistr/u8-chr.c: New file.
30670         * lib/unistr/u16-chr.c: New file.
30671         * lib/unistr/u32-chr.c: New file.
30672
30673         * modules/unistr/u8-cmp: New file.
30674         * modules/unistr/u16-cmp: New file.
30675         * modules/unistr/u32-cmp: New file.
30676         * lib/unistr/u8-cmp.c: New file.
30677         * lib/unistr/u16-cmp.c: New file.
30678         * lib/unistr/u32-cmp.c: New file.
30679
30680         * modules/unistr/u8-cpy: New file.
30681         * modules/unistr/u16-cpy: New file.
30682         * modules/unistr/u32-cpy: New file.
30683         * lib/unistr/u8-cpy.c: New file.
30684         * lib/unistr/u16-cpy.c: New file.
30685         * lib/unistr/u32-cpy.c: New file.
30686         * lib/unistr/u-cpy.h: New file.
30687
30688         * modules/unistr/u8-cpy-alloc: New file.
30689         * modules/unistr/u16-cpy-alloc: New file.
30690         * modules/unistr/u32-cpy-alloc: New file.
30691         * lib/unistr/u8-cpy-alloc.c: New file.
30692         * lib/unistr/u16-cpy-alloc.c: New file.
30693         * lib/unistr/u32-cpy-alloc.c: New file.
30694         * lib/unistr/u-cpy-alloc.h: New file.
30695
30696         * modules/unistr/u8-endswith: New file.
30697         * modules/unistr/u16-endswith: New file.
30698         * modules/unistr/u32-endswith: New file.
30699         * lib/unistr/u8-endswith.c: New file.
30700         * lib/unistr/u16-endswith.c: New file.
30701         * lib/unistr/u32-endswith.c: New file.
30702         * lib/unistr/u-endswith.h: New file.
30703
30704         * modules/unistr/u8-mblen: New file.
30705         * modules/unistr/u16-mblen: New file.
30706         * modules/unistr/u32-mblen: New file.
30707         * lib/unistr/u8-mblen.c: New file.
30708         * lib/unistr/u16-mblen.c: New file.
30709         * lib/unistr/u32-mblen.c: New file.
30710
30711         * modules/unistr/u8-mbtouc: New file.
30712         * modules/unistr/u16-mbtouc: New file.
30713         * modules/unistr/u32-mbtouc: New file.
30714         * lib/unistr/u8-mbtouc.c: New file.
30715         * lib/unistr/u16-mbtouc.c: New file.
30716         * lib/unistr/u32-mbtouc.c: New file.
30717
30718         * modules/unistr/u8-mbtouc-safe: New file.
30719         * modules/unistr/u16-mbtouc-safe: New file.
30720         * modules/unistr/u32-mbtouc-safe: New file.
30721         * lib/unistr/u8-mbtouc-safe.c: New file.
30722         * lib/unistr/u16-mbtouc-safe.c: New file.
30723         * lib/unistr/u32-mbtouc-safe.c: New file.
30724
30725         * modules/unistr/u8-move: New file.
30726         * modules/unistr/u16-move: New file.
30727         * modules/unistr/u32-move: New file.
30728         * lib/unistr/u8-move.c: New file.
30729         * lib/unistr/u16-move.c: New file.
30730         * lib/unistr/u32-move.c: New file.
30731         * lib/unistr/u-move.h: New file.
30732
30733         * modules/unistr/u8-next: New file.
30734         * modules/unistr/u16-next: New file.
30735         * modules/unistr/u32-next: New file.
30736         * lib/unistr/u8-next.c: New file.
30737         * lib/unistr/u16-next.c: New file.
30738         * lib/unistr/u32-next.c: New file.
30739
30740         * modules/unistr/u8-prev: New file.
30741         * modules/unistr/u16-prev: New file.
30742         * modules/unistr/u32-prev: New file.
30743         * lib/unistr/u8-prev.c: New file.
30744         * lib/unistr/u16-prev.c: New file.
30745         * lib/unistr/u32-prev.c: New file.
30746
30747         * modules/unistr/u8-set: New file.
30748         * modules/unistr/u16-set: New file.
30749         * modules/unistr/u32-set: New file.
30750         * lib/unistr/u8-set.c: New file.
30751         * lib/unistr/u16-set.c: New file.
30752         * lib/unistr/u32-set.c: New file.
30753         * lib/unistr/u-set.h: New file.
30754
30755         * modules/unistr/u8-startswith: New file.
30756         * modules/unistr/u16-startswith: New file.
30757         * modules/unistr/u32-startswith: New file.
30758         * lib/unistr/u8-startswith.c: New file.
30759         * lib/unistr/u16-startswith.c: New file.
30760         * lib/unistr/u32-startswith.c: New file.
30761         * lib/unistr/u-startswith.h: New file.
30762
30763         * modules/unistr/u8-stpcpy: New file.
30764         * modules/unistr/u16-stpcpy: New file.
30765         * modules/unistr/u32-stpcpy: New file.
30766         * lib/unistr/u8-stpcpy.c: New file.
30767         * lib/unistr/u16-stpcpy.c: New file.
30768         * lib/unistr/u32-stpcpy.c: New file.
30769         * lib/unistr/u-stpcpy.h: New file.
30770
30771         * modules/unistr/u8-stpncpy: New file.
30772         * modules/unistr/u16-stpncpy: New file.
30773         * modules/unistr/u32-stpncpy: New file.
30774         * lib/unistr/u8-stpncpy.c: New file.
30775         * lib/unistr/u16-stpncpy.c: New file.
30776         * lib/unistr/u32-stpncpy.c: New file.
30777         * lib/unistr/u-stpncpy.h: New file.
30778
30779         * modules/unistr/u8-strcat: New file.
30780         * modules/unistr/u16-strcat: New file.
30781         * modules/unistr/u32-strcat: New file.
30782         * lib/unistr/u8-strcat.c: New file.
30783         * lib/unistr/u16-strcat.c: New file.
30784         * lib/unistr/u32-strcat.c: New file.
30785         * lib/unistr/u-strcat.h: New file.
30786
30787         * modules/unistr/u8-strchr: New file.
30788         * modules/unistr/u16-strchr: New file.
30789         * modules/unistr/u32-strchr: New file.
30790         * lib/unistr/u8-strchr.c: New file.
30791         * lib/unistr/u16-strchr.c: New file.
30792         * lib/unistr/u32-strchr.c: New file.
30793
30794         * modules/unistr/u8-strcmp: New file.
30795         * modules/unistr/u16-strcmp: New file.
30796         * modules/unistr/u32-strcmp: New file.
30797         * lib/unistr/u8-strcmp.c: New file.
30798         * lib/unistr/u16-strcmp.c: New file.
30799         * lib/unistr/u32-strcmp.c: New file.
30800
30801         * modules/unistr/u8-strcpy: New file.
30802         * modules/unistr/u16-strcpy: New file.
30803         * modules/unistr/u32-strcpy: New file.
30804         * lib/unistr/u8-strcpy.c: New file.
30805         * lib/unistr/u16-strcpy.c: New file.
30806         * lib/unistr/u32-strcpy.c: New file.
30807         * lib/unistr/u-strcpy.h: New file.
30808
30809         * modules/unistr/u8-strcspn: New file.
30810         * modules/unistr/u16-strcspn: New file.
30811         * modules/unistr/u32-strcspn: New file.
30812         * lib/unistr/u8-strcspn.c: New file.
30813         * lib/unistr/u16-strcspn.c: New file.
30814         * lib/unistr/u32-strcspn.c: New file.
30815         * lib/unistr/u-strcspn.h: New file.
30816
30817         * modules/unistr/u8-strdup: New file.
30818         * modules/unistr/u16-strdup: New file.
30819         * modules/unistr/u32-strdup: New file.
30820         * lib/unistr/u8-strdup.c: New file.
30821         * lib/unistr/u16-strdup.c: New file.
30822         * lib/unistr/u32-strdup.c: New file.
30823         * lib/unistr/u-strdup.h: New file.
30824
30825         * modules/unistr/u8-strlen: New file.
30826         * modules/unistr/u16-strlen: New file.
30827         * modules/unistr/u32-strlen: New file.
30828         * lib/unistr/u8-strlen.c: New file.
30829         * lib/unistr/u16-strlen.c: New file.
30830         * lib/unistr/u32-strlen.c: New file.
30831         * lib/unistr/u-strlen.h: New file.
30832
30833         * modules/unistr/u8-strmblen: New file.
30834         * modules/unistr/u16-strmblen: New file.
30835         * modules/unistr/u32-strmblen: New file.
30836         * lib/unistr/u8-strmblen.c: New file.
30837         * lib/unistr/u16-strmblen.c: New file.
30838         * lib/unistr/u32-strmblen.c: New file.
30839
30840         * modules/unistr/u8-strmbtouc: New file.
30841         * modules/unistr/u16-strmbtouc: New file.
30842         * modules/unistr/u32-strmbtouc: New file.
30843         * lib/unistr/u8-strmbtouc.c: New file.
30844         * lib/unistr/u16-strmbtouc.c: New file.
30845         * lib/unistr/u32-strmbtouc.c: New file.
30846
30847         * modules/unistr/u8-strncat: New file.
30848         * modules/unistr/u16-strncat: New file.
30849         * modules/unistr/u32-strncat: New file.
30850         * lib/unistr/u8-strncat.c: New file.
30851         * lib/unistr/u16-strncat.c: New file.
30852         * lib/unistr/u32-strncat.c: New file.
30853         * lib/unistr/u-strncat.h: New file.
30854
30855         * modules/unistr/u8-strncmp: New file.
30856         * modules/unistr/u16-strncmp: New file.
30857         * modules/unistr/u32-strncmp: New file.
30858         * lib/unistr/u8-strncmp.c: New file.
30859         * lib/unistr/u16-strncmp.c: New file.
30860         * lib/unistr/u32-strncmp.c: New file.
30861
30862         * modules/unistr/u8-strncpy: New file.
30863         * modules/unistr/u16-strncpy: New file.
30864         * modules/unistr/u32-strncpy: New file.
30865         * lib/unistr/u8-strncpy.c: New file.
30866         * lib/unistr/u16-strncpy.c: New file.
30867         * lib/unistr/u32-strncpy.c: New file.
30868         * lib/unistr/u-strncpy.h: New file.
30869
30870         * modules/unistr/u8-strnlen: New file.
30871         * modules/unistr/u16-strnlen: New file.
30872         * modules/unistr/u32-strnlen: New file.
30873         * lib/unistr/u8-strnlen.c: New file.
30874         * lib/unistr/u16-strnlen.c: New file.
30875         * lib/unistr/u32-strnlen.c: New file.
30876         * lib/unistr/u-strnlen.h: New file.
30877
30878         * modules/unistr/u8-strpbrk: New file.
30879         * modules/unistr/u16-strpbrk: New file.
30880         * modules/unistr/u32-strpbrk: New file.
30881         * lib/unistr/u8-strpbrk.c: New file.
30882         * lib/unistr/u16-strpbrk.c: New file.
30883         * lib/unistr/u32-strpbrk.c: New file.
30884         * lib/unistr/u-strpbrk.h: New file.
30885
30886         * modules/unistr/u8-strrchr: New file.
30887         * modules/unistr/u16-strrchr: New file.
30888         * modules/unistr/u32-strrchr: New file.
30889         * lib/unistr/u8-strrchr.c: New file.
30890         * lib/unistr/u16-strrchr.c: New file.
30891         * lib/unistr/u32-strrchr.c: New file.
30892
30893         * modules/unistr/u8-strspn: New file.
30894         * modules/unistr/u16-strspn: New file.
30895         * modules/unistr/u32-strspn: New file.
30896         * lib/unistr/u8-strspn.c: New file.
30897         * lib/unistr/u16-strspn.c: New file.
30898         * lib/unistr/u32-strspn.c: New file.
30899         * lib/unistr/u-strspn.h: New file.
30900
30901         * modules/unistr/u8-strstr: New file.
30902         * modules/unistr/u16-strstr: New file.
30903         * modules/unistr/u32-strstr: New file.
30904         * lib/unistr/u8-strstr.c: New file.
30905         * lib/unistr/u16-strstr.c: New file.
30906         * lib/unistr/u32-strstr.c: New file.
30907         * lib/unistr/u-strstr.h: New file.
30908
30909         * modules/unistr/u8-strtok: New file.
30910         * modules/unistr/u16-strtok: New file.
30911         * modules/unistr/u32-strtok: New file.
30912         * lib/unistr/u8-strtok.c: New file.
30913         * lib/unistr/u16-strtok.c: New file.
30914         * lib/unistr/u32-strtok.c: New file.
30915         * lib/unistr/u-strtok.h: New file.
30916
30917         * modules/unistr/u8-uctomb: New file.
30918         * modules/unistr/u16-uctomb: New file.
30919         * modules/unistr/u32-uctomb: New file.
30920         * lib/unistr/u8-uctomb.c: New file.
30921         * lib/unistr/u16-uctomb.c: New file.
30922         * lib/unistr/u32-uctomb.c: New file.
30923
30924         * MODULES.html.sh (Unicode string functions): Add the new modules.
30925
30926 2007-01-08  Bruno Haible  <bruno@clisp.org>
30927
30928         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
30929         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
30930         subdirectories.
30931
30932 2007-01-08  Karl Berry  <karl@gnu.org>
30933
30934         * doc/error.texi: mention that main() fns must set program_name
30935         when progname is used.
30936
30937 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
30938
30939         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
30940         WCTYPE_H is empty, for the benefit of builds from non-distclean
30941         directories.  Problem reported by Eric Blake in
30942         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
30943
30944 2007-01-08  Bruno Haible  <bruno@clisp.org>
30945
30946         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
30947         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
30948         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
30949         PROVIDE_CANONICALIZE_FILENAME_MODE.
30950         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
30951
30952 2007-01-08  Bruno Haible  <bruno@clisp.org>
30953
30954         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
30955         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
30956         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
30957         * lib/fts.c: Likewise.
30958         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
30959
30960 2006-12-25  Bruno Haible  <bruno@clisp.org>
30961
30962         * modules/utf8-ucs4-safe: New file.
30963         * lib/utf8-ucs4-safe.h: New file.
30964         * lib/unistr/utf8-ucs4-safe.c: New file.
30965
30966         * modules/utf16-ucs4-safe: New file.
30967         * lib/utf16-ucs4-safe.h: New file.
30968         * lib/unistr/utf16-ucs4-safe.c: New file.
30969
30970         * MODULES.html.sh (Unicode string functions): Add the new modules.
30971
30972 2007-01-08  Bruno Haible  <bruno@clisp.org>
30973
30974         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
30975         (Depends-on): Add unitypes.
30976         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
30977         (u8_mbtouc_aux): Move out to separate file.
30978         (u8_mbtouc): Use ucs4_t, uint8_t types.
30979         * lib/unistr/utf8-ucs4.c: New file.
30980
30981         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
30982         (Depends-on): Add unitypes.
30983         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
30984         (u16_mbtouc_aux): Move out to separate file.
30985         (u16_mbtouc): Use ucs4_t, uint16_t types.
30986         * lib/unistr/utf16-ucs4.c: New file.
30987
30988         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
30989         (Depends-on): Add unitypes.
30990         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
30991         (u8_uctomb_aux): Move out to separate file.
30992         (u8_uctomb): Use ucs4_t, uint8_t types.
30993         * lib/unistr/ucs4-utf8.c: New file.
30994
30995         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
30996         (Depends-on): Add unitypes.
30997         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
30998         (u16_uctomb_aux): Move out to separate file.
30999         (u16_uctomb): Use ucs4_t, uint16_t types.
31000         * lib/unistr/ucs4-utf16.c: New file.
31001
31002 2006-12-25  Bruno Haible  <bruno@clisp.org>
31003
31004         * modules/unitypes: New file.
31005         * lib/unitypes.h: New file.
31006         * MODULES.html.sh (func_all_modules): New section "Unicode string
31007         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
31008         this section. Add unitypes.
31009
31010 2007-01-08  Bruno Haible  <bruno@clisp.org>
31011
31012         Avoid variable names that conflict with those from libtool.
31013         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
31014         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
31015         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
31016         library_names_spec to acl_library_names_spec, hardcode_* to
31017         acl_hardcode_*.
31018         Reported by Ralf Wildenhues.
31019
31020 2007-01-08  Bruno Haible  <bruno@clisp.org>
31021
31022         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
31023         definition.
31024         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
31025         definition.
31026         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
31027         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
31028         definition.
31029         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
31030         definition.
31031         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
31032         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
31033         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
31034         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
31035         definition.
31036         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
31037         definition.
31038         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
31039         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
31040         GC_USE_<algorithm>.
31041         * lib/gc-libgcrypt.c: Likewise.
31042         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
31043         * modules/gc-arctwo (configure.ac): Likewise.
31044         * modules/gc-des (configure.ac): Likewise.
31045         * modules/gc-hmac-md5 (configure.ac): Likewise.
31046         * modules/gc-hmac-sha1 (configure.ac): Likewise.
31047         * modules/gc-md2 (configure.ac): Likewise.
31048         * modules/gc-md4 (configure.ac): Likewise.
31049         * modules/gc-md5 (configure.ac): Likewise.
31050         * modules/gc-random (configure.ac): Likewise.
31051         * modules/gc-rijndael (configure.ac): Likewise.
31052         * modules/gc-sha1 (configure.ac): Likewise.
31053
31054 2007-01-08  Bruno Haible  <bruno@clisp.org>
31055
31056         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
31057         macro definition.
31058         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
31059         definition.
31060         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
31061         definition.
31062         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
31063         * modules/fcntl-safer (configure.ac): Likewise.
31064         * modules/fopen-safer (configure.ac): Likewise.
31065         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
31066         GNULIB_FWRITEERROR macro definition.
31067
31068 2007-01-08  Bruno Haible  <bruno@clisp.org>
31069
31070         * m4/gnulib-common.m4: New file.
31071         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
31072         (func_get_filelist): Add m4/gnulib-common.m4.
31073
31074 2007-01-08  Bruno Haible  <bruno@clisp.org>
31075
31076         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
31077         command.
31078
31079 2007-01-08  Jim Meyering  <jim@meyering.net>
31080
31081         Use a more robust test for a "can't happen" condition.
31082         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
31083         narrowed the st_size value.  Presuming the "can't happen" condition
31084         is true, that narrowing could conceivably convert an invalid st_size
31085         value into a valid one.  Instead, use a change based on Matthew
31086         Woehlke's original patch.
31087
31088         Slight readability improvement: use an assert-like macro
31089         in place of literal "abort ()" uses.
31090         * lib/fts.c (fts_assert): Define.
31091         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
31092         Use this macro instead of a bare 'abort'.
31093
31094 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
31095
31096         Don't worry about using IRIX 5.3's wctype.h broken definitions;
31097         simply work around them.
31098         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
31099         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
31100         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
31101         declaring.
31102         Don't bother to define as macros, since the standard doesn't require it.
31103         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
31104         longer worry about IRIX 5.3.
31105         (HAVE_WCTYPE_CTMP_BUG): Remove.
31106
31107 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
31108
31109         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
31110         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
31111         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
31112         Problems reported by Georg Schwarz for IRIX 5.3.
31113
31114         * gnulib-tool (autoconf_minversion): Take the maximum version number
31115         found, not the minimum.  Problem reported by James Youngman.
31116
31117 2007-01-03  Karl Berry  <karl@gnu.org>
31118
31119         * doc/error.texi: new file, explaining interaction with progname.
31120         * doc/gnulib.texi: include it.  Update copyright.
31121
31122 2007-01-03  Simon Josefsson  <simon@josefsson.org>
31123
31124         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
31125         AC_CANONICAL_HOST, to improve autobuild outputs.
31126
31127 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
31128             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
31129
31130         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
31131         sockets, server sockets, and other file descriptors.  Count errors
31132         to compute the return value.  Reorder the code a bit to be easier
31133         to follow.  Don't set event bits that were not requested (except
31134         POLLERR and POLLHUP).
31135
31136 2007-01-01  Bruno Haible  <bruno@clisp.org>
31137
31138         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
31139
31140 2007-01-03  Jim Meyering  <jim@meyering.net>
31141
31142         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
31143
31144 2007-01-02  Bruno Haible  <bruno@clisp.org>
31145
31146         * modules/settime (Include): Require timespec.h.
31147         * modules/nanosleep (Include): Likewise.
31148
31149 2007-01-01  Bruno Haible  <bruno@clisp.org>
31150
31151         * gnulib-tool (func_emit_copyright_notice): Bump year.
31152         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
31153
31154 2007-01-01  Bruno Haible  <bruno@clisp.org>
31155
31156         Improve support for OpenBSD.
31157         * build-aux/config.rpath (libname_spec): Export.
31158         (library_names_spec): New variable. Export.
31159         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
31160         library_names_spec from the config.rpath output. Locate shared library
31161         through the name pattern in library_names_spec.
31162
31163 2007-01-01  Eric Blake  <ebb9@byu.net>
31164
31165         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
31166
31167 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
31168
31169         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
31170         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
31171         assume the C locale, and avoid an "eval" that could cause trouble.
31172         Problem with SORT reported by Bob Proulx.
31173
31174         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
31175         Define.  Trivial patch from Henning Nielsen Lund, originally
31176         sent to bug-grep@gnu.org today.
31177
31178 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
31179
31180         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
31181         struct stat.  Problem reported by Henning Nielsen Lund.
31182         * lib/acl.c: Include acl.h first, to check interface.  Don't
31183         bother to include sys/types.h and sys/stat.h again.
31184
31185 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
31186
31187         Import the following change from libc; problem reported by
31188         Sven Verdoolaege.
31189
31190         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
31191
31192         [BZ #1373]
31193         * lib/argp.h: Remove __NTH for __argp_usage inline function.
31194
31195 2006-12-28  Jim Meyering  <jim@meyering.net>
31196
31197         * build-aux/announce-gen: Do not assume that the package
31198         builds any of tar.gz, tar.bz2, and .xdelta files.
31199         Suggestion from Simon Josefsson.
31200
31201 2006-12-28  Simon Josefsson  <simon@josefsson.org>
31202
31203         * modules/announce-gen: New file.
31204
31205 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
31206
31207         * lib/mbchar.h: Just include <wctype.h>; the wctype module
31208         handles its gotchas now.
31209         * lib/mbswidth.c: Likewise.
31210         * lib/wcwidth.h: Likewise.
31211         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
31212         and iswcntrl; the wctype module does this stuff now.
31213         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
31214         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
31215         * modules/mbchar (Depends-on): Add wctype.
31216         * modules/mbswidth (Depends-on): Likewise.
31217         * modules/wcwidth (Depends-on): Likewise.
31218
31219 2006-12-27  Eric Blake  <ebb9@byu.net>
31220
31221         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
31222         module uses more than what <wctype.h> is required to provide.
31223
31224 2006-12-26  Eric Blake  <ebb9@byu.net>
31225
31226         * gnulib-tool (sed_extract_prog): Avoid space-tab.
31227
31228 2006-12-26  Eric Blake  <ebb9@byu.net>
31229
31230         * modules/absolute-header: New module.
31231         * modules/fcntl (Depends-on): Depend on it.
31232         * modules/inttypes (Depends-on): Likewise.
31233         * modules/stdint (Depends-on): Likewise.
31234         * modules/sys_stat (Depends-on): Likewise.
31235         * modules/wctype (Depends-on): Likewise.
31236         * MODULES.html.sh (Support for building libraries and
31237         executables): Document it.
31238
31239 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
31240
31241         * gnulib-tool (SED): Remove, undoing previous change.
31242         The problem was that it broke coreutils on Solaris, because
31243         "sed --posix" leaked into a makefile.
31244         (sed): New alias, if 'alias' and GNU sed.
31245
31246 2006-12-24  Jim Meyering  <jim@meyering.net>
31247
31248         Work around an fchownat bug in glibc-2.4:
31249         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
31250         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
31251         in spite of the -P option.
31252         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
31253         New macros.
31254         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
31255         * modules/openat (Files): Add lib/fchownat.c.
31256         * lib/openat.c (fchownat): Don't define here.  Move to...
31257         * lib/fchownat.c: ...this new file.
31258
31259 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
31260
31261         Fix bug reported by Bruno Haible in
31262         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
31263         where quotearg.c didn't compile on Mac OS X 10.2 because it
31264         lacks <wchar.h> and wint_t.
31265         * lib/wctype_.h (__wctype_wint_t): New type.
31266         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
31267         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
31268         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
31269         Arg is now of type __wctype_wint_t, not wint_t.
31270         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
31271         substitute HAVE_WINT_T.
31272         * modules/wctype (Files): Add m4/wint_t.m4.
31273         (wctype.h): Substitute HAVE_WINT_T.
31274
31275 2006-12-23  Bruno Haible  <bruno@clisp.org>
31276
31277         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
31278
31279 2006-12-23  Bruno Haible  <bruno@clisp.org>
31280
31281         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
31282         S_ISLNK.
31283         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
31284         mingw.
31285
31286 2006-12-22  Bruno Haible  <bruno@clisp.org>
31287
31288         * lib/copy-file.c: Include acl.h.
31289         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
31290         Close the file descriptors only after being done with copy_acl.
31291         * modules/copy-file (Depends-on): Add acl.
31292
31293 2006-12-22  Bruno Haible  <bruno@clisp.org>
31294
31295         * gnulib-tool (SED): New variable.
31296         Use $SED instead of sed everywhere.
31297
31298 2006-12-22  Bruno Haible  <bruno@clisp.org>
31299
31300         * modules/no-c++: New file.
31301         * m4/no-c++.m4: New file.
31302         * MODULES.html.sh (Support for building libraries and executables):
31303         Add no-c++.
31304
31305 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
31306
31307         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
31308         Include <limits.h>, and use its INT_MAX to rewrite the
31309         j loop so that it does not overflow 'int'.  Problem reported by
31310         Ralf Wildenhues in
31311         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
31312         Play it safe by shifting left by 1 rather than multiplying by 2,
31313         as GCC is less likely to optimize this away when the value
31314         is signed (when it assumes overflow leads to undefined behavior).
31315         Also, don't assume time_t uses two's complement.
31316
31317 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
31318
31319         * MODULES.html.sh: New module wctype.
31320         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
31321         * lib/fnmatch.c: Don't bother to include <wchar.h> before
31322         <wctype.h>, since the new wctype module should fix this.
31323         * lib/quotearg.c: Include <wctype.h> unconditionally, since
31324         the wctype module should arrange for it.
31325         * lib/regex_internal.h: Likewise.
31326         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
31327         since the wctype module should handle this now.
31328         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
31329         * modules/fnmatch (Depends-on): Add wctype.
31330         * modules/quotearg (Depends-on): Likewise.
31331         * modules/regex (Depends-on): Likewise.
31332
31333 2006-12-19  Bruno Haible  <bruno@clisp.org>
31334
31335         * lib/strdup.h [C++]: Wrap definitions in extern "C".
31336         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
31337
31338 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31339
31340         * modules/savewd (Depends-on): Fix dependency on fcntl.
31341
31342 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
31343
31344         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
31345         conforms to C99, rather than relying on the user's environment
31346         setting of STDINT_H.
31347
31348 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
31349         and Eric Blake  <ebb9@byu.net>
31350
31351         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
31352         This is more consistent with the other defines here.
31353         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
31354         Port to z/OS.  Problem reported by Paul Gilmartin.
31355         Change local vars to use gl_ prefix rather than ac_.
31356         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
31357         with other defines.
31358         * modules/double-slash-root: New module.
31359         * modules/dirname (Files): Remove m4/double-slash-root.m4.
31360         (Depends-on): Add double-slash-root.
31361         * MODULES.html.sh (File system functions): Mention new module.
31362
31363 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
31364
31365         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
31366         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
31367         This is for the benefit of gzip, which doesn't do i18n.
31368
31369 2006-12-12  Jim Meyering  <jim@meyering.net>
31370
31371         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
31372         Reported by Andreas Schwab <schwab@suse.de>.
31373
31374 2006-12-12  Bruno Haible  <bruno@clisp.org>
31375
31376         Merge these changes.
31377         2006-09-05  Bruno Haible  <bruno@clisp.org>
31378         * lib/iconvme.c (iconv_string): No need to save and restore errno when
31379         iconv_alloc succeeded.
31380         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
31381         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
31382         test for " && dest " at the end - dest is always != NULL there. Call
31383         iconv with 4xNULL arguments initially, to reset the state. Call iconv
31384         with 2xNULL arguments, also to flush the state storage. Handle the
31385         IRIX iconv behaviour. Realloc the final result, to throw away unused
31386         memory.
31387
31388 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
31389
31390         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
31391         and fchmodat unconditionally, since glibc 2.4 has them.
31392         Problem reported by Arkadiusz Miskiewicz.
31393
31394 2006-12-10  Bruno Haible  <bruno@clisp.org>
31395
31396         * gnulib-tool (func_import): Show the include files only for those
31397         modules that are copied and specified.
31398         Reported by Karl Berry.
31399
31400 2006-12-08  Jim Meyering  <jim@meyering.net>
31401
31402         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
31403         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
31404
31405         * build-aux/announce-gen: Add two new options, both optional:
31406         --bootstrap-tools=TOOL_LIST
31407               a comma-separated list of tools, e.g.,
31408               autoconf,automake,bison,gnulib
31409         --gnulib-snapshot-date=DATE
31410               if gnulib is in the bootstrap tool list,
31411               then report this as the snapshot date.
31412               If not specified, use the current date/time.
31413               If you specify a date here, be sure it's UTC.
31414
31415 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31416
31417         * tests/test-argp-2.sh: Fix test to match actual output.
31418         (func_compare): Fix sed script to be portable.
31419
31420 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
31421
31422         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
31423         workaround for this case.  It is not autoconfigured now; offhand
31424         it's hard to see how to autoconfigure it.
31425
31426 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
31427
31428         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
31429         a directory that is about to be chowned.  Such a directory's
31430         initial file permissions should permit the owner only and this
31431         should not be changed until after the chown, since the group and
31432         other bits would be incorrect if they granted permission before
31433         the chown.
31434
31435         Fix porting problem for iswctype reported by Georg Schwarz in:
31436         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
31437         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
31438         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
31439         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
31440         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
31441
31442 2006-12-03  Jim Meyering  <jim@meyering.net>
31443
31444         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
31445         p->fts_statp may not yet be defined.
31446         (fts_read): Instead, set it in the caller, once p->fts_statp is
31447         sure to be defined, and corresponds to a top-level directory.
31448         This bug made du -x fail.  Here's the coreutils test case:
31449         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
31450         Reported by Mike Frysinger.
31451
31452 2006-12-01  Jim Meyering  <jim@meyering.net>
31453
31454         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
31455         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
31456         Reported by Simon Josefsson.
31457
31458 2006-11-30  Jim Meyering  <jim@meyering.net>
31459
31460         * m4/warning.m4: Use the all-permissive copyright notice
31461         recommended by RMS (rather than LGPL).
31462         * m4/vararrays.m4: Likewise.
31463         * m4/flexmember.m4: Likewise.
31464
31465 2006-11-29  Bruno Haible  <bruno@clisp.org>
31466
31467         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
31468         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
31469         using +=.
31470         Reported by Simon Josefsson <simon@josefsson.org>.
31471
31472 2006-11-28  James Youngman <jay@gnu.org>
31473
31474         * README: Advise users that they might find the bug-gnulib@gnu.org
31475         and autotools-announce@gnu.org mailing lists useful.
31476
31477 2006-11-28  Bruno Haible  <bruno@clisp.org>
31478
31479         * m4/ptrdiff_max.m4: Remove file.
31480
31481 2006-11-21  Bruno Haible  <bruno@clisp.org>
31482
31483         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
31484         _AC_COMPUTE_INT.
31485         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
31486         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
31487         _AC_COMPUTE_INT.
31488         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
31489         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
31490         _AC_COMPUTE_INT.
31491         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
31492
31493 2006-11-28  Jim Meyering  <jim@meyering.net>
31494
31495         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
31496         warning from "gcc -Wshadow" about shadowing the builtin.
31497
31498 2006-11-27  Bruno Haible  <bruno@clisp.org>
31499
31500         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
31501         _AC_COMPUTE_INT.
31502         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
31503
31504 2006-11-27  Bruno Haible  <bruno@clisp.org>
31505             Paul Eggert  <eggert@cs.ucla.edu>
31506
31507         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
31508
31509 2006-11-26  Bruno Haible  <bruno@clisp.org>
31510
31511         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
31512         noinst_LTLIBRARIES.
31513
31514 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
31515             Bruno Haible  <bruno@clisp.org>
31516
31517         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
31518         if compiling with "gcc -ansi".
31519
31520 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
31521
31522         Fix some incompatibilities with gcc -ansi -pedantic.
31523         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
31524         if compiling pedantically with GCC, unless it's C99 or later.
31525         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
31526         it mishandles gcc -ansi -pedantic as well.
31527         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
31528         if gcc -pedantic.
31529         * lib/regexec.c (check_node_accept_bytes): Don't use auto
31530         initializers for struct if -pedantic, unless it's C99 or later.
31531
31532 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
31533
31534         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
31535         Don't close an fd more than once. Identical atimes indicate
31536         success, not failure.
31537
31538 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
31539
31540         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
31541
31542 2006-11-23  Jim Meyering  <jim@meyering.net>
31543
31544         * build-aux/announce-gen: New file.  From coreutils.
31545
31546 2006-11-22  Jim Meyering  <jim@meyering.net>
31547
31548         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
31549         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
31550         (fts_read): Use a temporary to narrow the overused st_size member
31551         before using it in a switch statement.  Reported by Matthew Woehlke.
31552
31553         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
31554         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
31555
31556 2006-11-20  Bruno Haible  <bruno@clisp.org>
31557
31558         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
31559         changequote instead of pairs of brackets.
31560         Reported by Andreas Schwab <schwab@suse.de>.
31561
31562 2006-11-21  Jim Meyering  <jim@meyering.net>
31563
31564         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
31565         so as to remain compatible with older compilers.
31566         Patch from Michael Deutschmann.
31567
31568 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
31569
31570         * MODULES.html.sh (File system functions): Add openat.
31571
31572         * lib/openat.h (rpl_fstatat): New macro, if
31573         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
31574         (fstatat): Define to rpl_fstatat under the same conditions,
31575         unless COMPILING_FSTATAT.
31576         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
31577         seems to have the bug.
31578         * lib/fstatat.c: New file.
31579         * modules/openat (Files): Add it.
31580
31581 2006-11-20  Bruno Haible  <bruno@clisp.org>
31582
31583         * Makefile: New file.
31584
31585 2006-11-20  Jim Meyering  <jim@meyering.net>
31586
31587         The beginnings of syntax-related checks for gnulib.
31588         * lib/Makefile: New file.
31589         * lib/t-idcache: New script.  Ensure that the two halves of
31590         idcache.c stay in sync.
31591
31592         * lib/idcache.c: Adjust comments in user- and group- portions to
31593         be more accurate, and to be consistent with one another.
31594
31595 2006-11-20  Jim Meyering  <jim@meyering.net>
31596
31597         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
31598         continue using the flexible array member (thus, this module performs
31599         half as many malloc calls), with the addition that...
31600         (getgroup, getuser): Consistently record a non-match via an empty
31601         "name" string, and map an empty string match to a NULL return value.
31602         * modules/idcache (Depends-on): Re-add flexmember.
31603
31604         * lib/idcache.c (getuser): Remove all uses of the register keyword.
31605         (getuidbyname, getgroup, getgidbyname): Likewise.
31606
31607         Use cleaner syntax: NULL rather than 0.
31608         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
31609
31610 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
31611
31612         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
31613         It mishandled the case where the group was missing.
31614         Problem reported by Greg Schafer.
31615         * modules/idcache: Likewise.
31616
31617 2006-11-18  Jim Meyering  <jim@meyering.net>
31618
31619         * check-module (%exempt_header): Add exception for some
31620         conditionally-included headers.
31621
31622         * modules/i-ring (Depends-on): Add verify.
31623         (License): Change to LGPL.
31624
31625 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
31626
31627         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
31628         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
31629         and inttostr.h.  Use snprintf rather than uinttostr, so that
31630         LGPLed code doesn't depend on GPLed.
31631
31632 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
31633
31634         * modules/inline (License): Change from GPL to LGPL.
31635
31636 2006-11-17  Jim Meyering  <jim@meyering.net>
31637
31638         * modules/d-type (License): Switch to LGPL.
31639
31640 2006-11-15  Bruno Haible  <bruno@clisp.org>
31641
31642         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
31643
31644 2006-11-15  Eric Blake  <ebb9@byu.net>
31645
31646         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
31647         the module dependency.
31648
31649 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31650             Bruno Haible  <bruno@clisp.org>
31651
31652         * gnulib-tool (func_create_testdir): Add license consistency check.
31653
31654 2006-11-15  Eric Blake  <ebb9@byu.net>
31655
31656         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
31657         random "(cached)" in configure output.
31658
31659 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31660
31661         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
31662         test for conforming inttypes.h is both announced and cached.
31663
31664         * MODULES.html.sh (seen_modules, seen_files): New variables.
31665         (func_module): Rewrite to use a few less gnulib-tool and sed
31666         invocations.  Avoid a couple of quadratic algorithms for ...
31667         (missed_modules, missed_files): ... these, with ...
31668         (func_append, func_tmpdir): ... these new functions, from
31669         gnulib-tool.  Analogously, install traps for cleanup.
31670
31671         * tests/test-gc.c (main): Remove unused variables.
31672         * tests/test-read-file.c: Include stdlib.h, for 'free'.
31673
31674 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
31675
31676         * modules/inttostr (License): Change to LGPL.
31677
31678 2006-11-14  Eric Blake  <ebb9@byu.net>
31679
31680         * modules/tempname (License): Change to LGPL.
31681
31682 2006-11-14  Eric Blake  <ebb9@byu.net>
31683
31684         * doc/functions.texi (Function Portability): *printf functions on
31685         Cygwin now understand all POSIX size specifiers.
31686
31687 2006-11-14  Bruno Haible  <bruno@clisp.org>
31688
31689         * modules/c-ctype (License): Change to LGPL.
31690
31691 2006-11-12  Bruno Haible  <bruno@clisp.org>
31692
31693         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
31694         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
31695         for GNOME libraries, for which the include files are installed in
31696         subdirectories of $prefix/include.
31697
31698 2006-11-12  Bruno Haible  <bruno@clisp.org>
31699
31700         * m4/lib-link.m4: Require at least autoconf-2.54.
31701         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
31702         name to underscores for the --with option.
31703
31704 2006-11-13  Bruno Haible  <bruno@clisp.org>
31705
31706         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
31707         the tests directory.
31708         Reported by Ralf Wildenhues.
31709
31710 2006-11-13  Bruno Haible  <bruno@clisp.org>
31711
31712         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
31713         (func_emit_initmacro_end): Undo the override here.
31714         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
31715         Works around the famous automake error in coreutils.
31716
31717 2006-11-13  Eric Blake  <ebb9@byu.net>
31718
31719         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
31720         element, not its node.
31721
31722 2006-11-12  Bruno Haible  <bruno@clisp.org>
31723
31724         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
31725         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
31726
31727 2006-11-12  Bruno Haible  <bruno@clisp.org>
31728
31729         * gnulib-tool: New option --local-symlink.
31730         (func_usage): Document it.
31731         (lsymbolic): New variable.
31732         (func_import, func_create_testdir): If --symlink was not specified,
31733         test whether --local-symlink was specified and the file comes from
31734         the local_gnulib_dir.
31735
31736 2006-11-12  Bruno Haible  <bruno@clisp.org>
31737
31738         * gnulib-tool (func_ln): New function.
31739         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
31740
31741 2006-11-12  Bruno Haible  <bruno@clisp.org>
31742
31743         Finish support for source files in subdirectories.
31744         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
31745         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
31746         AUTOMAKE_OPTIONS.
31747         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
31748
31749 2006-11-12  Bruno Haible  <bruno@clisp.org>
31750
31751         * gnulib-tool (func_get_automake_snippet): Synthesize also an
31752         EXTRA_lib_SOURCES augmentation.
31753         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
31754
31755 2006-11-12  Jim Meyering  <jim@meyering.net>
31756
31757         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
31758         file descriptors.  This also averts a failure on systems with
31759         native openat support when a traversed directory lacks "x" access.
31760         * lib/fts_.h: Include "i-ring.h"
31761         (struct FTS) [fts_fd_ring]: New member.
31762         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
31763         (FCHDIR): Add parentheses.
31764         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
31765         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
31766         When descending, rather than simply closing the previous
31767         fts_cwd_fd value, push that file descriptor onto the ring.
31768         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
31769         (fts_open): Initialize the new fd_ring member.
31770         (fts_close): Clear the ring.
31771         (fts_safe_changedir): When possible, use our new fd_ring to skip
31772         the diropen and fstat and dev/ino comparison that would normally
31773         accompany a virtual `chdir ("..")'.
31774
31775         * modules/fts (Depends-on): Add i-ring.
31776         * modules/i-ring: New module.
31777         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
31778         * m4/i-ring.m4: New file.
31779
31780 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31781
31782         * gnulib-tool (func_create_testdir): Fix replacement of
31783         `build-aux' in configure.ac.  Run autotools in gltests
31784         subdirectory.
31785         (func_create_testdir, func_create_megatestdir, test): There is
31786         no need for '--force' in most autotool invocations in a new
31787         tree.  Actually fail the whole test if any of the tools, or the
31788         configure or make stages fail.
31789
31790         Sync from Automake.
31791         * build-aux/gnupload: Revert last change.  Add pointer to upload
31792         instructions of the GNU Maintenance Instructions.
31793         Suggestion by Karl Berry.
31794
31795 2006-11-10  Jim Meyering  <jim@meyering.net>
31796
31797         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
31798
31799 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
31800
31801         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
31802         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
31803         (bind_textdomain_codeset) [! ENABLE_NLS]:
31804         Evaluate all the arguments.  That way, callers get compatible behavior
31805         if the arguments have side effects.  Also, it avoids some GCC
31806         diagnostics in some cases; Joel E. Denny reported problems when Bison
31807         was configured with --enable-gcc-warnigs.
31808
31809 2006-11-10  Jim Meyering  <jim@meyering.net>
31810
31811         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
31812         relevant options in CFLAGS (like -O, -fno-inline) are taken into
31813         account.
31814
31815 2006-11-10  Jim Meyering  <jim@meyering.net>
31816
31817         * modules/inline: New file/module.
31818         * modules/xalloc (Files): Remove m4/inline.m4.
31819         (Depends-on): Add inline, instead.
31820         * modules/oset: Likewise.
31821         * modules/list: Likewise.
31822
31823 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
31824
31825         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
31826         Problem reported by Matthew Woehlke.
31827
31828 2006-11-09  Bruno Haible  <bruno@clisp.org>
31829
31830         * lib/tempname.c (gen_tempname): Remove variant that invokes
31831         __gen_tempname.
31832         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
31833         __gen_tempname.
31834
31835 2006-11-08  Bruno Haible  <bruno@clisp.org>
31836
31837         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
31838         to 'yes' instead of 'cross-compiling'.
31839
31840 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
31841
31842         * lib/quotearg.h (quotearg_free): New decl.
31843         * lib/quotearg.c (quotearg_free): New function.
31844         (slot0, nslots, slotvec0, slotvec):
31845         Now file-scope so that quotearg_free can get at them.
31846
31847 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31848
31849         Sync from Automake.
31850         * build-aux/gnupload: Add missing 'gnu' to example URL.
31851         Report by Karl Berry.
31852
31853 2006-11-08  Bruno Haible  <bruno@clisp.org>
31854
31855         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
31856         Suggested by Paul Eggert.
31857
31858 2006-11-08  Jim Meyering  <jim@meyering.net>
31859
31860         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
31861         It's already included if !_LIBC.
31862         (fts_safe_changedir): Add a comment.
31863
31864 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
31865
31866         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
31867         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
31868         Matthew Woehlke.
31869
31870         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
31871         definitions up, to avoid colliding with change below.
31872         (static_inline) [HAVE_INLINE]: New macro.
31873         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
31874         Provide extern decls when !HAVE_INLINE.  Do not define unless
31875         static_inline is defined, either by us or by xmalloc.c.  Use
31876         static_inline rather than static inline.
31877         (XCALLOC): Optimize sizeof(T) = 1 case.
31878         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
31879
31880 2006-11-07  Bruno Haible  <bruno@clisp.org>
31881
31882         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
31883         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
31884         AC_C_INLINE.
31885         * modules/xalloc (Files): Add m4/inline.m4.
31886
31887 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31888
31889         * README: Fix typo.
31890         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
31891         (Miscellanous Notes): ...from this.
31892
31893 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
31894
31895         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
31896         Mention that offsetof should be used instead of sizeof.
31897         From Bruno Haible.
31898
31899 2006-11-07  Bruno Haible  <bruno@clisp.org>
31900
31901         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
31902
31903 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
31904
31905         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
31906         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
31907         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
31908         (gl_tree_add_before, gl_tree_add_after):
31909         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
31910         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
31911         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
31912         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
31913         (gl_linked_add_after, gl_linked_add_at): Likewise.
31914         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
31915         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
31916         (gl_tree_add_before, gl_tree_add_after): Likewise.
31917         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
31918         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
31919         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
31920
31921 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31922
31923         * lib/gl_oset.h: Use C comment style, not C++ comment style.
31924
31925 2006-11-06  Bruno Haible  <bruno@clisp.org>
31926
31927         * m4/inline.m4: New file.
31928         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
31929         * modules/list (Files): Add m4/inline.m4.
31930         * modules/oset (Files): Likewise.
31931
31932 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
31933
31934         * lib/idcache.c: Include <stddef.h>, for offsetof.
31935         (struct userid.name): Change from char * to a flexible array member.
31936         All uses changed.
31937         * modules/idcache (Depends-on): Add flexmember.
31938
31939         * MODULES.html.sh (Core language properties): New module flexmember.
31940         * modules/flexmember, m4/flexmember.m4: New files.
31941
31942         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
31943         inline functions that are identical with the old xnmalloc_inline,
31944         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
31945         that we can avoid some unnecessary integer multiplications and
31946         divisions in the common case where the element size is known at
31947         compile time.
31948         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
31949         needed.
31950         (xnboundedmalloc): Remove.
31951         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
31952         arguments, for consistency with rest of this header.
31953         (xcharalloc): Rewrite using XNMALLOC.
31954         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
31955         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
31956         versions have been moved to lib/xalloc.h and renamed to be the
31957         non-*_inline versions.
31958         (xmalloc, xrealloc): Implement without reference to the xnmalloc
31959         and xnrealloc functions, since those functions are now inline and
31960         now call us.
31961         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
31962         renaming described above.
31963         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
31964         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
31965         captures the dependency in AC_C_INLINE.
31966
31967         New module canonicalize-lgpl, proposed by Charles Wilson in
31968         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
31969         with a few small changes afterwards.
31970         * MODULES.html.sh (File system functions): New module
31971         canonicalize-lgpl.
31972         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
31973         and canonicalize_file_name.
31974         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
31975         * modules/canonicalize-lgpl: New files.
31976
31977 2006-11-05  Bruno Haible  <bruno@clisp.org>
31978
31979         * gnulib-tool (func_import, func_create_testdir): Create directories
31980         also for files in subdirectories of lib/.
31981
31982 2006-11-05  Bruno Haible  <bruno@clisp.org>
31983
31984         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
31985         ANSI C compliant.
31986
31987 2006-11-03  Bruno Haible  <bruno@clisp.org>
31988
31989         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
31990         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
31991         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
31992         (xnboundedmalloc): New inline function.
31993         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
31994         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
31995         xmalloc.
31996         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
31997         xmalloc.
31998         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
31999         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
32000         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
32001         xmalloc.
32002         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
32003         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
32004         xmalloc.
32005         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
32006         gl_tree_add_after): Use XMALLOC instead of xmalloc.
32007         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
32008         xmalloc.
32009         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
32010         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
32011         gl_tree_add_after): Use XMALLOC instead of xmalloc.
32012         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
32013         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
32014         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
32015         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
32016
32017 2006-11-03  Bruno Haible  <bruno@clisp.org>
32018
32019         * lib/c-ctype.h [C++]: Define functions without name mangling.
32020         * lib/fwriteerror.h [C++]: Likewise.
32021         * lib/gcd.h [C++]: Likewise.
32022         * lib/linebreak.h [C++]: Likewise.
32023
32024 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
32025
32026         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
32027         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
32028         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
32029         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
32030         Check for functions and headers just once.
32031         Check for declaration of canonicalize_file_name.
32032         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
32033
32034 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
32035
32036         * gnulib-tool (func_import): Fix typo in actioncmd.
32037
32038 2006-11-02  Bruno Haible  <bruno@clisp.org>
32039
32040         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
32041         newline sequence in the Makefile.am snippet as a space, like "make"
32042         does.
32043         Reported by Roger Persson <perrog@gmail.com>.
32044
32045 2006-11-01  Bruno Haible  <bruno@clisp.org>
32046
32047         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
32048         already declared in <string.h>.
32049         * lib/strcase.h (strncasecmp): Don't declare it if yes.
32050
32051 2006-11-01  Bruno Haible  <bruno@clisp.org>
32052
32053         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
32054         * lib/strcase.h: Include <string.h>.
32055         (strcasecmp): Define to rpl_strcasecmp here.
32056
32057 2006-11-01  Bruno Haible  <bruno@clisp.org>
32058
32059         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
32060
32061 2006-11-01  Eric Blake  <ebb9@byu.net>
32062
32063         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
32064
32065         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
32066
32067 2006-10-29  Bruno Haible  <bruno@clisp.org>
32068
32069         Make it compile in C++ mode.
32070         * lib/full-write.c (full_rw): Add a cast.
32071
32072 2006-11-01  Bruno Haible  <bruno@clisp.org>
32073
32074         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
32075         be POSIX compliant.
32076         Reported by Roger Persson <perrog@gmail.com>.
32077
32078 2006-11-01  Eric Blake  <ebb9@byu.net>
32079
32080         * lib/getopt_.h: Fix comments.
32081
32082 2006-10-31  Eric Blake  <ebb9@byu.net>
32083
32084         * modules/tmpdir (Depends-on): Add sys_stat.
32085         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
32086         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
32087         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
32088         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
32089         tempname.
32090
32091 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
32092
32093         Avoid some C++ diagnostics reported by Bruno Haible.
32094         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
32095         xmalloc.
32096         (quotearg_alloc): Use xcharalloc rather than xmalloc.
32097         (struct slotvec): Move to top level.
32098         (quotearg_n_options): Rewrite to avoid xmalloc.
32099         * lib/xalloc.h (xcharalloc): New function.
32100         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
32101         [defined __cplusplus]: Add function template that provides result
32102         type propagation.  This part of the change is from Bruno Haible.
32103
32104 2006-10-29  Bruno Haible  <bruno@clisp.org>
32105
32106         Make it compile in C++ mode.
32107         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
32108         * lib/strnlen1.c (strnlen1): Cast memchr result.
32109         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
32110         * lib/clean-temp.c (string_equals, string_hash): Add casts.
32111         (create_temp_dir): Rename local variable 'template'.
32112         (compile_csharp_using_sscli): Add cast.
32113         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
32114         * lib/findprog.c (find_in_path): Likewise.
32115         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
32116         * lib/wait-process.c (register_slave_subprocess): Likewise.
32117
32118 2006-10-22  Bruno Haible  <bruno@clisp.org>
32119
32120         * modules/tsearch: New file.
32121         * lib/tsearch.h: New file.
32122         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
32123         * m4/tsearch.m4: New file.
32124         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
32125
32126 2006-10-29  Eric Blake  <ebb9@byu.net>
32127
32128         * lib/arcfour.c: Assume config.h.
32129         * lib/arctwo.c: Likewise.
32130         * lib/base64.c: Likewise.
32131         * lib/check-version.c: Likewise.
32132         * lib/crc.c: Likewise.
32133         * lib/des.c: Likewise.
32134         * lib/gc-gnulib.c: Likewise.
32135         * lib/gc-libgcrypt.c: Likewise.
32136         * lib/gc-pbkdf2-sha1.c: Likewise.
32137         * lib/getaddrinfo.c: Likewise.
32138         * lib/getdelim.c: Likewise.
32139         * lib/getline.c: Likewise.
32140         * lib/hmac-md5.c: Likewise.
32141         * lib/hmac-sha1.c: Likewise.
32142         * lib/iconvme.c: Likewise.
32143         * lib/md2.c: Likewise.
32144         * lib/md4.c: Likewise.
32145         * lib/memxor.c: Likewise.
32146         * lib/read-file.c: Likewise.
32147         * lib/readline.c: Likewise.
32148         * lib/rijndael-alg-fst.c: Likewise.
32149         * lib/rijndael-api-fst.c: Likewise.
32150         * lib/xgetdomainname.c: Likewise.
32151
32152 2006-10-28  Eric Blake  <ebb9@byu.net>
32153
32154         * lib/xstrndup.c: Assume config.h.
32155
32156 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
32157
32158         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
32159         stat-macros.h is now for our own macros, whereas stat_h is for
32160         macros in the <sys/stat.h> name space.
32161         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
32162         (STAT_MACROS_H): Remove.
32163         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
32164         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
32165         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
32166         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
32167         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
32168         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
32169         Move these macros to ...
32170         * lib/stat_.h: here.  Don't include stat-macros.h.
32171         * lib/canonicalize.c: Don't include stat-macros.h.
32172         * lib/chown.c: Likewise.
32173         * lib/euidaccess.c: Likewise.
32174         * lib/file-type.c: Likewise.
32175         * lib/filemode.c: Likewise.
32176         * lib/glob.c: Likewise.
32177         * lib/isapipe.c: Likewise.
32178         * lib/lchown.c: Likewise.
32179         * lib/lstat.c: Likewise.
32180         * lib/mkdir-p.c: Likewise.
32181         * lib/rmdir.c: Likewise.
32182         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
32183         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
32184         unless mkdir isn't declared, to speed up 'configure'.
32185         Always create sys/stat.h, since it's unlikely any real sys/stat.h
32186         would define all the S_* symbols.
32187         * modules/canonicalize (Depends-on):
32188         Depend on sys_stat, not stat-macros.
32189         * modules/chown: Likewise.
32190         * modules/euidaccess: Likewise.
32191         * modules/filemode: Likewise.
32192         * modules/file-type: Likewise.
32193         * modules/glob: Likewise.
32194         * modules/isapipe: Likewise.
32195         * modules/lchown: Likewise.
32196         * modules/lstat: Likewise.
32197         * modules/mkancesdirs: Likewise.
32198         * modules/rmdir: Likewise.
32199         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
32200         * modules/modechange: Likewise.
32201         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
32202         (configure.ac): Remove gl_STAT_MACROS.
32203         * modules/sys_stat (Depends-on): Remove stat-macros.
32204
32205 2006-10-27  Bruno Haible  <bruno@clisp.org>
32206
32207         * m4/signed.m4: Remove file.
32208         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
32209         invocation.
32210         * modules/vasnprintf (Files): Remove m4/signed.m4.
32211
32212 2006-10-27  Bruno Haible  <bruno@clisp.org>
32213
32214         Update to GNU gettext 0.16.
32215         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
32216         m4/inttypes-h.m4, m4/signed.m4.
32217         * m4/gettext.m4: Update to GNU gettext 0.16.
32218         * m4/intl.m4: New file, from GNU gettext.
32219         * m4/intldir.m4: New file, from GNU gettext.
32220         * config/srclist.txt: Update
32221
32222 2006-10-27  Eric Blake  <ebb9@byu.net>
32223
32224         * MODULES.html.sh: Document tempname.
32225         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
32226         dependencies.
32227         (Files): Move lib/tempname.c...
32228         * modules/tempname: ...to this new module.
32229         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
32230         (gl_PREREQ_TEMPNAME): Move...
32231         * m4/tempname.m4: ...to this new file.
32232         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
32233         * modules/sys_stat (Depends-on): Add stat-macros.
32234         * lib/stat_.h (includes): Pick up stat macros.
32235         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
32236         if stat macros are broken.
32237         * lib/tempname.c (includes): No need to include "stat-macros.h".
32238         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
32239         (direxists, __path_search) [!_LIBC]: Don't compile these in
32240         gnulib; the tmpdir module covers that.
32241         * lib/tempname.h: New file.
32242
32243 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
32244
32245         * COPYING: Explain how gnulib-tool converts licence headers.
32246         Almost all wording by Eric Blake.
32247
32248 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
32249
32250         * lib/mbchar.h (is_basic_table): Make read-only.
32251         * lib/mbchar.c (is_basic_table): Likewise.
32252         Reported by John Darrington.
32253
32254 2006-10-25  Bruno Haible  <bruno@clisp.org>
32255
32256         * lib/progname.h (set_program_name): Undefine before defining.
32257
32258 2006-10-25  Bruno Haible  <bruno@clisp.org>
32259
32260         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
32261         false for non-gcc C++ compilers.
32262         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
32263
32264 2006-10-24  Bruno Haible  <bruno@clisp.org>
32265
32266         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
32267         iconv implementations like Irix iconv.
32268
32269 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
32270
32271         * modules/vararrays: New file.
32272         * m4/vararrays.m4: New file, taken from diffutils.
32273         * MODULES.html.sh: New module vararrays.
32274
32275 2006-10-24  Karl Berry  <karl@gnu.org>
32276
32277         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
32278         Don't call GNU Unix.
32279
32280 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32281
32282         * users.txt: Add Libtool.
32283
32284         Sync from Libtool:
32285
32286         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
32287
32288         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
32289         to gnulib's policy of including config.h unconditionally.
32290
32291 2006-10-24  Bruno Haible  <bruno@clisp.org>
32292
32293         * modules/wcwidth (Files): Add m4/wint_t.m4.
32294         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
32295         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
32296
32297 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
32298
32299         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
32300         to pacify GCC with some -W flags enabled.  Problem reported by
32301         Bruno Haible.
32302
32303 2006-10-24  Jim Meyering  <jim@meyering.net>
32304
32305         * MODULES.html.sh: Remove uinttostr.  It's not a module.
32306         Reported by Karl Berry.
32307
32308 2006-10-23  Bruno Haible  <bruno@clisp.org>
32309
32310         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
32311
32312 2006-10-24  Bruno Haible  <bruno@clisp.org>
32313
32314         * lib/gl_list.h: Use C comment style, not C++ comment style.
32315
32316 2006-10-23  Eric Blake  <ebb9@byu.net>
32317
32318         * lib/getaddrinfo.c (includes): Add missing include.
32319
32320 2006-10-23  Bruno Haible  <bruno@clisp.org>
32321             Paul Eggert  <eggert@cs.ucla.edu>
32322
32323         Ability to rename obstack_free.
32324         * lib/obstack.h (__obstack_free): New macro. Declare instead of
32325         obstack_free.
32326         (obstack_free): Invoke the __obstack_free macro.
32327         * lib/obstack.c (obstack_free): Use __obstack_free macro.
32328
32329 2006-10-23  Bruno Haible  <bruno@clisp.org>
32330             Paul Eggert  <eggert@cs.ucla.edu>
32331
32332         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
32333         __argc, __argv from the declaration. (They are defined as macros on
32334         mingw.)
32335
32336 2006-10-22  Bruno Haible  <bruno@clisp.org>
32337
32338         * doc/gnulib-intro.texi: New file.
32339         * doc/gnulib.texi: Include it.
32340
32341 2006-10-21  Bruno Haible  <bruno@clisp.org>
32342
32343         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
32344         "Introduction", "Miscellanous Notes", "Particular Modules".
32345
32346 2006-10-21  Bruno Haible  <bruno@clisp.org>
32347
32348         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
32349         Change mostlyclean-local rule to avoid sh syntax error from bash
32350         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
32351
32352 2006-10-23  Jim Meyering  <jim@meyering.net>
32353
32354         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
32355         in place of snprintf.
32356
32357         * modules/inttostr (Files): Add lib/uinttostr.c.
32358         * lib/uinttostr.c (inttostr): New file/function.
32359         * lib/inttostr.h (uinttostr): Declare.
32360         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
32361         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
32362         Add uinttostr.
32363         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
32364
32365 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
32366
32367         * lib/canonicalize.c (ELOOP): Define if not already defined.
32368         Problem reported by Bruno Haible in
32369         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
32370
32371 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
32372
32373         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
32374         Problem reported by Perry Smith and Ville Laurikari.
32375
32376         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
32377         uses.
32378
32379 2006-10-19  Bruno Haible  <bruno@clisp.org>
32380
32381         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
32382         for mingw.
32383
32384 2006-10-19  Bruno Haible  <bruno@clisp.org>
32385
32386         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
32387         Needed for mingw.
32388
32389 2006-10-19  Bruno Haible  <bruno@clisp.org>
32390
32391         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
32392
32393 2006-10-19  Bruno Haible  <bruno@clisp.org>
32394
32395         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
32396         it.
32397
32398 2006-10-19  Bruno Haible  <bruno@clisp.org>
32399
32400         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
32401         invocation.
32402
32403 2006-10-19  Bruno Haible  <bruno@clisp.org>
32404
32405         * gnulib-tool (func_create_testdir): Don't include ftruncate and
32406         mountlist by default.
32407
32408 2006-10-16  Bruno Haible  <bruno@clisp.org>
32409
32410         * lib/c-strstr.c: Include c-strstr.h.
32411
32412 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
32413
32414         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
32415         in a slash.
32416
32417 2006-10-18  Bruno Haible  <bruno@clisp.org>
32418
32419         * lib/lock.h [C++]: Wrap definitions in extern "C".
32420
32421 2006-10-18  Bruno Haible  <bruno@clisp.org>
32422
32423         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
32424         gl_LIBOBJS list.
32425
32426 2006-10-18  Bruno Haible  <bruno@clisp.org>
32427
32428         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
32429
32430 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
32431
32432         * lib/xstrtol.h: Include gettext.h.
32433         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
32434         Problem reported by Eric Blake.
32435         * modules/xstrtol (Depends-on): Add gettext-h.
32436
32437 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
32438
32439         * lib/strftime.c (advance): New macro.
32440         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
32441         incomplete type, so you can't add 0 to it.  Problem and patch
32442         reported by Eelco Dolstra for dietlibc.
32443
32444 2006-10-18  Jim Meyering  <jim@meyering.net>
32445
32446         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
32447         type for a local, and rename it: s/up/user_proc/.
32448
32449 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
32450
32451         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
32452         READ_UTMP_USER_PROCESS.
32453         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
32454
32455 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
32456
32457         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
32458         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
32459
32460 2006-10-17  Eric Blake  <ebb9@byu.net>
32461
32462         * lib/sigprocmask.c (sigprocmask): Fix typo.
32463
32464         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
32465
32466         * modules/clean-temp (Makefile.am): Don't add to make output...
32467         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
32468         config.h.
32469
32470 2006-10-17  Bruno Haible  <bruno@clisp.org>
32471
32472         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
32473         differently if DEFAULT_TEXT_DOMAIN is set.
32474
32475 2006-10-16  Bruno Haible  <bruno@clisp.org>
32476
32477         * lib/clean-temp.c: Include fwriteerror.h.
32478
32479 2006-10-16  Bruno Haible  <bruno@clisp.org>
32480
32481         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
32482
32483 2006-10-16  Bruno Haible  <bruno@clisp.org>
32484
32485         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
32486         * lib/sigprocmask.h: Include <sys/types.h>.
32487         (sigset_t): Use the system's definition if present.
32488
32489 2006-10-17  Eric Blake  <ebb9@byu.net>
32490
32491         * lib/xvasprintf.c (includes): Assume config.h.
32492         * lib/xasprintf.c (includes): Likewise.
32493
32494 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
32495
32496         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
32497         at least as wide as intmax_t.
32498
32499 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
32500
32501         (Imported from Automake.)
32502         * build-aux/gnupload: Update to version 1.1 of directive file.
32503
32504 2006-10-16  Eric Blake  <ebb9@byu.net>
32505
32506         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
32507         match Automake 1.10a.
32508
32509 2006-10-14  Bruno Haible  <bruno@clisp.org>
32510
32511         * modules/sigprocmask: New file.
32512         * lib/sigprocmask.h: New file.
32513         * lib/sigprocmask.c: New file.
32514         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
32515         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
32516         request sigprocmask.o.
32517         (gl_PREREQ_SIGPROCMASK): New macro.
32518         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
32519         (Depends-on): Add sigprocmask.
32520         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
32521         gt_SIGNALBLOCKING. Test for 'raise' only once.
32522         * lib/fatal-signal.c: Include sigprocmask.h.
32523         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
32524         unblock_fatal_signals): Define always.
32525         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
32526         sigprocmask.
32527
32528 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
32529
32530         Sync from Automake.
32531         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
32532         which incorrectly sets the mode of an existing destination
32533         directory.  In some cases the unpatched install-sh could do the
32534         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
32535         system.  We hope this is rare in practice, but it's clearly worth
32536         fixing.  Problem reported by Alex Unleashed in
32537         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
32538         Also, don't bother to check for -m bugs unless we're using -m;
32539         suggested by Stepan Kasal.
32540
32541 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32542
32543         Sync from Automake.
32544         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
32545         `-c' flag, so they appear at the same position as in %FASTDEP%
32546         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
32547         which ignores unknown options only after the first non-option.
32548         Bug report against M4 by Nelson H. F. Beebe.
32549
32550 2006-10-13  Jim Meyering  <jim@meyering.net>
32551
32552         Fix a bug in yesterday's change.
32553         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
32554         p->fts_statp->st_dev would be used uninitialized.
32555         Ensures that we always call fts_stat on the very first entry.
32556         Miklos Szeredi reported that find -xdev stopped working.
32557
32558 2006-10-12  Bruno Haible  <bruno@clisp.org>
32559
32560         * gnulib-tool (func_get_automake_snippet): Append an automatically
32561         computed EXTRA_DIST augmentation.
32562         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
32563         * modules/alloca-opt (Makefile.am): Likewise.
32564         * modules/allocsa (Makefile.am): Likewise.
32565         * modules/arcfour (Makefile.am): Likewise.
32566         * modules/arctwo (Makefile.am): Likewise.
32567         * modules/argmatch (Makefile.am): Likewise.
32568         * modules/argz (Makefile.am): Likewise.
32569         * modules/atexit (Makefile.am): Likewise.
32570         * modules/backupfile (Makefile.am): Likewise.
32571         * modules/byteswap (Makefile.am): Likewise.
32572         * modules/c-strtod (Makefile.am): Likewise.
32573         * modules/c-strtold (Makefile.am): Likewise.
32574         * modules/calloc (Makefile.am): Likewise.
32575         * modules/canon-host (Makefile.am): Likewise.
32576         * modules/canonicalize (Makefile.am): Likewise.
32577         * modules/chdir-long (Makefile.am): Likewise.
32578         * modules/chdir-safer (Makefile.am): Likewise.
32579         * modules/check-version (Makefile.am): Likewise.
32580         * modules/chown (Makefile.am): Likewise.
32581         * modules/cloexec (Makefile.am): Likewise.
32582         * modules/close-stream (Makefile.am): Likewise.
32583         * modules/closeout (Makefile.am): Likewise.
32584         * modules/crc (Makefile.am): Likewise.
32585         * modules/csharpexec (Makefile.am): Likewise.
32586         * modules/cycle-check (Makefile.am): Likewise.
32587         * modules/des (Makefile.am): Likewise.
32588         * modules/dev-ino (Makefile.am): Likewise.
32589         * modules/dirfd (Makefile.am): Likewise.
32590         * modules/dirname (Makefile.am): Likewise.
32591         * modules/dup2 (Makefile.am): Likewise.
32592         * modules/eealloc (Makefile.am): Likewise.
32593         * modules/error (Makefile.am): Likewise.
32594         * modules/euidaccess (Makefile.am): Likewise.
32595         * modules/exclude (Makefile.am): Likewise.
32596         * modules/exitfail (Makefile.am): Likewise.
32597         * modules/fcntl-safer (Makefile.am): Likewise.
32598         * modules/fcntl (Makefile.am): Likewise.
32599         * modules/file-type (Makefile.am): Likewise.
32600         * modules/fileblocks (Makefile.am): Likewise.
32601         * modules/filemode (Makefile.am): Likewise.
32602         * modules/filenamecat (Makefile.am): Likewise.
32603         * modules/fnmatch (Makefile.am): Likewise.
32604         * modules/fopen-safer (Makefile.am): Likewise.
32605         * modules/fpending (Makefile.am): Likewise.
32606         * modules/fprintftime (Makefile.am): Likewise.
32607         * modules/free (Makefile.am): Likewise.
32608         * modules/fsusage (Makefile.am): Likewise.
32609         * modules/ftruncate (Makefile.am): Likewise.
32610         * modules/fts (Makefile.am): Likewise.
32611         * modules/gc-arcfour (Makefile.am): Likewise.
32612         * modules/gc-des (Makefile.am): Likewise.
32613         * modules/gc-hmac-md5 (Makefile.am): Likewise.
32614         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
32615         * modules/gc-md4 (Makefile.am): Likewise.
32616         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
32617         * modules/gc-sha1 (Makefile.am): Likewise.
32618         * modules/gc (Makefile.am): Likewise.
32619         * modules/getaddrinfo (Makefile.am): Likewise.
32620         * modules/getcwd (Makefile.am): Likewise.
32621         * modules/getdelim (Makefile.am): Likewise.
32622         * modules/getdomainname (Makefile.am): Likewise.
32623         * modules/getgroups (Makefile.am): Likewise.
32624         * modules/gethostname (Makefile.am): Likewise.
32625         * modules/gethrxtime (Makefile.am): Likewise.
32626         * modules/getline (Makefile.am): Likewise.
32627         * modules/getloadavg (Makefile.am): Likewise.
32628         * modules/getlogin_r (Makefile.am): Likewise.
32629         * modules/getndelim2 (Makefile.am): Likewise.
32630         * modules/getopt (Makefile.am): Likewise.
32631         * modules/getpagesize (Makefile.am): Likewise.
32632         * modules/getpass-gnu (Makefile.am): Likewise.
32633         * modules/getpass (Makefile.am): Likewise.
32634         * modules/getsubopt (Makefile.am): Likewise.
32635         * modules/gettime (Makefile.am): Likewise.
32636         * modules/gettimeofday (Makefile.am): Likewise.
32637         * modules/getugroups (Makefile.am): Likewise.
32638         * modules/getusershell (Makefile.am): Likewise.
32639         * modules/glob (Makefile.am): Likewise.
32640         * modules/group-member (Makefile.am): Likewise.
32641         * modules/hard-locale (Makefile.am): Likewise.
32642         * modules/hash (Makefile.am): Likewise.
32643         * modules/hmac-md5 (Makefile.am): Likewise.
32644         * modules/hmac-sha1 (Makefile.am): Likewise.
32645         * modules/human (Makefile.am): Likewise.
32646         * modules/idcache (Makefile.am): Likewise.
32647         * modules/imaxabs (Makefile.am): Likewise.
32648         * modules/imaxdiv (Makefile.am): Likewise.
32649         * modules/inet_ntop (Makefile.am): Likewise.
32650         * modules/inet_pton (Makefile.am): Likewise.
32651         * modules/intprops (Makefile.am): Likewise.
32652         * modules/inttostr (Makefile.am): Likewise.
32653         * modules/inttypes (Makefile.am): Likewise.
32654         * modules/isapipe (Makefile.am): Likewise.
32655         * modules/javaversion (Makefile.am): Likewise.
32656         * modules/lchmod (Makefile.am): Likewise.
32657         * modules/lchown (Makefile.am): Likewise.
32658         * modules/localcharset (Makefile.am): Likewise.
32659         * modules/long-options (Makefile.am): Likewise.
32660         * modules/lstat (Makefile.am): Likewise.
32661         * modules/malloc (Makefile.am): Likewise.
32662         * modules/mathl (Makefile.am): Likewise.
32663         * modules/mbchar (Makefile.am): Likewise.
32664         * modules/md2 (Makefile.am): Likewise.
32665         * modules/md4 (Makefile.am): Likewise.
32666         * modules/md5 (Makefile.am): Likewise.
32667         * modules/memcasecmp (Makefile.am): Likewise.
32668         * modules/memchr (Makefile.am): Likewise.
32669         * modules/memcmp (Makefile.am): Likewise.
32670         * modules/memcoll (Makefile.am): Likewise.
32671         * modules/memcpy (Makefile.am): Likewise.
32672         * modules/memmem (Makefile.am): Likewise.
32673         * modules/memmove (Makefile.am): Likewise.
32674         * modules/mempcpy (Makefile.am): Likewise.
32675         * modules/memrchr (Makefile.am): Likewise.
32676         * modules/memset (Makefile.am): Likewise.
32677         * modules/memxor (Makefile.am): Likewise.
32678         * modules/mkancesdirs (Makefile.am): Likewise.
32679         * modules/mkdir-p (Makefile.am): Likewise.
32680         * modules/mkdir (Makefile.am): Likewise.
32681         * modules/mkdtemp (Makefile.am): Likewise.
32682         * modules/mkstemp (Makefile.am): Likewise.
32683         * modules/mktime (Makefile.am): Likewise.
32684         * modules/modechange (Makefile.am): Likewise.
32685         * modules/mountlist (Makefile.am): Likewise.
32686         * modules/nanosleep (Makefile.am): Likewise.
32687         * modules/obstack (Makefile.am): Likewise.
32688         * modules/openat (Makefile.am): Likewise.
32689         * modules/pagealign_alloc (Makefile.am): Likewise.
32690         * modules/pathmax (Makefile.am): Likewise.
32691         * modules/physmem (Makefile.am): Likewise.
32692         * modules/poll (Makefile.am): Likewise.
32693         * modules/posixtm (Makefile.am): Likewise.
32694         * modules/posixver (Makefile.am): Likewise.
32695         * modules/putenv (Makefile.am): Likewise.
32696         * modules/quote (Makefile.am): Likewise.
32697         * modules/quotearg (Makefile.am): Likewise.
32698         * modules/raise (Makefile.am): Likewise.
32699         * modules/read-file (Makefile.am): Likewise.
32700         * modules/readline (Makefile.am): Likewise.
32701         * modules/readlink (Makefile.am): Likewise.
32702         * modules/readtokens (Makefile.am): Likewise.
32703         * modules/readutmp (Makefile.am): Likewise.
32704         * modules/realloc (Makefile.am): Likewise.
32705         * modules/regex (Makefile.am): Likewise.
32706         * modules/rename-dest-slash (Makefile.am): Likewise.
32707         * modules/rename (Makefile.am): Likewise.
32708         * modules/rijndael (Makefile.am): Likewise.
32709         * modules/rmdir (Makefile.am): Likewise.
32710         * modules/rpmatch (Makefile.am): Likewise.
32711         * modules/safe-read (Makefile.am): Likewise.
32712         * modules/safe-write (Makefile.am): Likewise.
32713         * modules/same-inode (Makefile.am): Likewise.
32714         * modules/same (Makefile.am): Likewise.
32715         * modules/save-cwd (Makefile.am): Likewise.
32716         * modules/savedir (Makefile.am): Likewise.
32717         * modules/setenv (Makefile.am): Likewise.
32718         * modules/settime (Makefile.am): Likewise.
32719         * modules/sha1 (Makefile.am): Likewise.
32720         * modules/sig2str (Makefile.am): Likewise.
32721         * modules/snprintf (Makefile.am): Likewise.
32722         * modules/stat-macros (Makefile.am): Likewise.
32723         * modules/stat-time (Makefile.am): Likewise.
32724         * modules/stdbool (Makefile.am): Likewise.
32725         * modules/stdint (Makefile.am): Likewise.
32726         * modules/stdlib-safer (Makefile.am): Likewise.
32727         * modules/stpcpy (Makefile.am): Likewise.
32728         * modules/stpncpy (Makefile.am): Likewise.
32729         * modules/strcase (Makefile.am): Likewise.
32730         * modules/strcasestr (Makefile.am): Likewise.
32731         * modules/strchrnul (Makefile.am): Likewise.
32732         * modules/strcspn (Makefile.am): Likewise.
32733         * modules/strdup (Makefile.am): Likewise.
32734         * modules/strerror (Makefile.am): Likewise.
32735         * modules/strftime (Makefile.am): Likewise.
32736         * modules/strndup (Makefile.am): Likewise.
32737         * modules/strnlen (Makefile.am): Likewise.
32738         * modules/strpbrk (Makefile.am): Likewise.
32739         * modules/strsep (Makefile.am): Likewise.
32740         * modules/strstr (Makefile.am): Likewise.
32741         * modules/strtod (Makefile.am): Likewise.
32742         * modules/strtoimax (Makefile.am): Likewise.
32743         * modules/strtok_r (Makefile.am): Likewise.
32744         * modules/strtol (Makefile.am): Likewise.
32745         * modules/strtoll (Makefile.am): Likewise.
32746         * modules/strtoul (Makefile.am): Likewise.
32747         * modules/strtoull (Makefile.am): Likewise.
32748         * modules/strtoumax (Makefile.am): Likewise.
32749         * modules/strverscmp (Makefile.am): Likewise.
32750         * modules/sys_socket (Makefile.am): Likewise.
32751         * modules/sys_stat (Makefile.am): Likewise.
32752         * modules/sysexits (Makefile.am): Likewise.
32753         * modules/time_r (Makefile.am): Likewise.
32754         * modules/timegm (Makefile.am): Likewise.
32755         * modules/timespec (Makefile.am): Likewise.
32756         * modules/tmpfile-safer (Makefile.am): Likewise.
32757         * modules/trim (Makefile.am): Likewise.
32758         * modules/unistd-safer (Makefile.am): Likewise.
32759         * modules/unlinkdir (Makefile.am): Likewise.
32760         * modules/unlocked-io (Makefile.am): Likewise.
32761         * modules/userspec (Makefile.am): Likewise.
32762         * modules/utime (Makefile.am): Likewise.
32763         * modules/utimecmp (Makefile.am): Likewise.
32764         * modules/utimens (Makefile.am): Likewise.
32765         * modules/vasnprintf (Makefile.am): Likewise.
32766         * modules/vasprintf (Makefile.am): Likewise.
32767         * modules/vsnprintf (Makefile.am): Likewise.
32768         * modules/xalloc (Makefile.am): Likewise.
32769         * modules/xgetcwd (Makefile.am): Likewise.
32770         * modules/xnanosleep (Makefile.am): Likewise.
32771         * modules/xreadlink (Makefile.am): Likewise.
32772         * modules/xstrtod (Makefile.am): Likewise.
32773         * modules/xstrtol (Makefile.am): Likewise.
32774         * modules/xstrtold (Makefile.am): Likewise.
32775         * modules/yesno (Makefile.am): Likewise.
32776         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
32777
32778 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
32779
32780         * modules/error (Makefile.am): Distribute files through
32781         EXTRA_DIST, not lib_SOURCES.
32782
32783 2006-10-12  Eric Blake  <ebb9@byu.net>
32784
32785         * modules/error (Makefile.am): Distribute files in /lib.
32786         * modules/obstack (Makefile.am): Likewise.
32787
32788 2006-10-12  Bruno Haible  <bruno@clisp.org>
32789
32790         * modules/acl (Makefile.am): Distribute all files in lib/ through
32791         EXTRA_DIST.
32792         * modules/arcfour (Makefile.am): Likewise.
32793         * modules/arctwo (Makefile.am): Likewise.
32794         * modules/argmatch (Makefile.am): Likewise.
32795         * modules/argz (Makefile.am): Likewise.
32796         * modules/atexit (Makefile.am): Likewise.
32797         * modules/backupfile (Makefile.am): Likewise.
32798         * modules/c-strtod (Makefile.am): Likewise.
32799         * modules/c-strtold (Makefile.am): Likewise.
32800         * modules/calloc (Makefile.am): Likewise.
32801         * modules/canon-host (Makefile.am): Likewise.
32802         * modules/canonicalize (Makefile.am): Likewise.
32803         * modules/chdir-long (Makefile.am): Likewise.
32804         * modules/chdir-safer (Makefile.am): Likewise.
32805         * modules/check-version (Makefile.am): Likewise.
32806         * modules/chown (Makefile.am): Likewise.
32807         * modules/cloexec (Makefile.am): Likewise.
32808         * modules/close-stream (Makefile.am): Likewise.
32809         * modules/closeout (Makefile.am): Likewise.
32810         * modules/crc (Makefile.am): Likewise.
32811         * modules/cycle-check (Makefile.am): Likewise.
32812         * modules/des (Makefile.am): Likewise.
32813         * modules/dirfd (Makefile.am): Likewise.
32814         * modules/dirname (Makefile.am): Likewise.
32815         * modules/dup2 (Makefile.am): Likewise.
32816         * modules/euidaccess (Makefile.am): Likewise.
32817         * modules/exclude (Makefile.am): Likewise.
32818         * modules/exitfail (Makefile.am): Likewise.
32819         * modules/fcntl-safer (Makefile.am): Likewise.
32820         * modules/file-type (Makefile.am): Likewise.
32821         * modules/fileblocks (Makefile.am): Likewise.
32822         * modules/filemode (Makefile.am): Likewise.
32823         * modules/filenamecat (Makefile.am): Likewise.
32824         * modules/fnmatch (Makefile.am): Likewise.
32825         * modules/fopen-safer (Makefile.am): Likewise.
32826         * modules/fpending (Makefile.am): Likewise.
32827         * modules/fprintftime (Makefile.am): Likewise.
32828         * modules/free (Makefile.am): Likewise.
32829         * modules/fsusage (Makefile.am): Likewise.
32830         * modules/ftruncate (Makefile.am): Likewise.
32831         * modules/fts (Makefile.am): Likewise.
32832         * modules/gc (Makefile.am): Likewise.
32833         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
32834         * modules/getaddrinfo (Makefile.am): Likewise.
32835         * modules/getcwd (Makefile.am): Likewise.
32836         * modules/getdelim (Makefile.am): Likewise.
32837         * modules/getdomainname (Makefile.am): Likewise.
32838         * modules/getgroups (Makefile.am): Likewise.
32839         * modules/gethostname (Makefile.am): Likewise.
32840         * modules/gethrxtime (Makefile.am): Likewise.
32841         * modules/getline (Makefile.am): Likewise.
32842         * modules/getloadavg (Makefile.am): Likewise.
32843         * modules/getlogin_r (Makefile.am): Likewise.
32844         * modules/getopt (Makefile.am): Likewise.
32845         * modules/getpass (Makefile.am): Likewise.
32846         * modules/getpass-gnu (Makefile.am): Likewise.
32847         * modules/getsubopt (Makefile.am): Likewise.
32848         * modules/gettime (Makefile.am): Likewise.
32849         * modules/gettimeofday (Makefile.am): Likewise.
32850         * modules/getugroups (Makefile.am): Likewise.
32851         * modules/getusershell (Makefile.am): Likewise.
32852         * modules/glob (Makefile.am): Likewise.
32853         * modules/group-member (Makefile.am): Likewise.
32854         * modules/hard-locale (Makefile.am): Likewise.
32855         * modules/hash (Makefile.am): Likewise.
32856         * modules/hmac-md5 (Makefile.am): Likewise.
32857         * modules/hmac-sha1 (Makefile.am): Likewise.
32858         * modules/human (Makefile.am): Likewise.
32859         * modules/idcache (Makefile.am): Likewise.
32860         * modules/imaxabs (Makefile.am): Likewise.
32861         * modules/imaxdiv (Makefile.am): Likewise.
32862         * modules/inet_ntop (Makefile.am): Likewise.
32863         * modules/inet_pton (Makefile.am): Likewise.
32864         * modules/inttostr (Makefile.am): Likewise.
32865         * modules/isapipe (Makefile.am): Likewise.
32866         * modules/lchown (Makefile.am): Likewise.
32867         * modules/long-options (Makefile.am): Likewise.
32868         * modules/lstat (Makefile.am): Likewise.
32869         * modules/malloc (Makefile.am): Likewise.
32870         * modules/mathl (Makefile.am): Likewise.
32871         * modules/mbchar (Makefile.am): Likewise.
32872         * modules/md2 (Makefile.am): Likewise.
32873         * modules/md4 (Makefile.am): Likewise.
32874         * modules/md5 (Makefile.am): Likewise.
32875         * modules/memcasecmp (Makefile.am): Likewise.
32876         * modules/memchr (Makefile.am): Likewise.
32877         * modules/memcmp (Makefile.am): Likewise.
32878         * modules/memcoll (Makefile.am): Likewise.
32879         * modules/memcpy (Makefile.am): Likewise.
32880         * modules/memmem (Makefile.am): Likewise.
32881         * modules/memmove (Makefile.am): Likewise.
32882         * modules/mempcpy (Makefile.am): Likewise.
32883         * modules/memrchr (Makefile.am): Likewise.
32884         * modules/memset (Makefile.am): Likewise.
32885         * modules/memxor (Makefile.am): Likewise.
32886         * modules/mkancesdirs (Makefile.am): Likewise.
32887         * modules/mkdir (Makefile.am): Likewise.
32888         * modules/mkdir-p (Makefile.am): Likewise.
32889         * modules/mkdtemp (Makefile.am): Likewise.
32890         * modules/mkstemp (Makefile.am): Likewise.
32891         * modules/mktime (Makefile.am): Likewise.
32892         * modules/modechange (Makefile.am): Likewise.
32893         * modules/mountlist (Makefile.am): Likewise.
32894         * modules/nanosleep (Makefile.am): Likewise.
32895         * modules/openat (Makefile.am): Likewise.
32896         * modules/pagealign_alloc (Makefile.am): Likewise.
32897         * modules/physmem (Makefile.am): Likewise.
32898         * modules/poll (Makefile.am): Likewise.
32899         * modules/posixtm (Makefile.am): Likewise.
32900         * modules/posixver (Makefile.am): Likewise.
32901         * modules/putenv (Makefile.am): Likewise.
32902         * modules/quote (Makefile.am): Likewise.
32903         * modules/quotearg (Makefile.am): Likewise.
32904         * modules/raise (Makefile.am): Likewise.
32905         * modules/read-file (Makefile.am): Likewise.
32906         * modules/readline (Makefile.am): Likewise.
32907         * modules/readlink (Makefile.am): Likewise.
32908         * modules/readtokens (Makefile.am): Likewise.
32909         * modules/readutmp (Makefile.am): Likewise.
32910         * modules/realloc (Makefile.am): Likewise.
32911         * modules/regex (Makefile.am): Likewise.
32912         * modules/rename (Makefile.am): Likewise.
32913         * modules/rename-dest-slash (Makefile.am): Likewise.
32914         * modules/rijndael (Makefile.am): Likewise.
32915         * modules/rmdir (Makefile.am): Likewise.
32916         * modules/rpmatch (Makefile.am): Likewise.
32917         * modules/safe-read (Makefile.am): Likewise.
32918         * modules/safe-write (Makefile.am): Likewise.
32919         * modules/same (Makefile.am): Likewise.
32920         * modules/save-cwd (Makefile.am): Likewise.
32921         * modules/savedir (Makefile.am): Likewise.
32922         * modules/setenv (Makefile.am): Likewise.
32923         * modules/settime (Makefile.am): Likewise.
32924         * modules/sha1 (Makefile.am): Likewise.
32925         * modules/sig2str (Makefile.am): Likewise.
32926         * modules/snprintf (Makefile.am): Likewise.
32927         * modules/stdlib-safer (Makefile.am): Likewise.
32928         * modules/stpcpy (Makefile.am): Likewise.
32929         * modules/stpncpy (Makefile.am): Likewise.
32930         * modules/strcase (Makefile.am): Likewise.
32931         * modules/strcasestr (Makefile.am): Likewise.
32932         * modules/strchrnul (Makefile.am): Likewise.
32933         * modules/strcspn (Makefile.am): Likewise.
32934         * modules/strdup (Makefile.am): Likewise.
32935         * modules/strerror (Makefile.am): Likewise.
32936         * modules/strftime (Makefile.am): Likewise.
32937         * modules/strndup (Makefile.am): Likewise.
32938         * modules/strnlen (Makefile.am): Likewise.
32939         * modules/strpbrk (Makefile.am): Likewise.
32940         * modules/strsep (Makefile.am): Likewise.
32941         * modules/strstr (Makefile.am): Likewise.
32942         * modules/strtod (Makefile.am): Likewise.
32943         * modules/strtoimax (Makefile.am): Likewise.
32944         * modules/strtok_r (Makefile.am): Likewise.
32945         * modules/strtol (Makefile.am): Likewise.
32946         * modules/strtoll (Makefile.am): Likewise.
32947         * modules/strtoul (Makefile.am): Likewise.
32948         * modules/strtoull (Makefile.am): Likewise.
32949         * modules/strtoumax (Makefile.am): Likewise.
32950         * modules/strverscmp (Makefile.am): Likewise.
32951         * modules/time_r (Makefile.am): Likewise.
32952         * modules/timegm (Makefile.am): Likewise.
32953         * modules/tmpfile-safer (Makefile.am): Likewise.
32954         * modules/unistd-safer (Makefile.am): Likewise.
32955         * modules/unlinkdir (Makefile.am): Likewise.
32956         * modules/userspec (Makefile.am): Likewise.
32957         * modules/utime (Makefile.am): Likewise.
32958         * modules/utimecmp (Makefile.am): Likewise.
32959         * modules/utimens (Makefile.am): Likewise.
32960         * modules/vasnprintf (Makefile.am): Likewise.
32961         * modules/vasprintf (Makefile.am): Likewise.
32962         * modules/vsnprintf (Makefile.am): Likewise.
32963         * modules/xalloc (Makefile.am): Likewise.
32964         * modules/xgetcwd (Makefile.am): Likewise.
32965         * modules/xnanosleep (Makefile.am): Likewise.
32966         * modules/xreadlink (Makefile.am): Likewise.
32967         * modules/xstrtod (Makefile.am): Likewise.
32968         * modules/xstrtol (Makefile.am): Likewise.
32969         * modules/xstrtold (Makefile.am): Likewise.
32970         * modules/yesno (Makefile.am): Likewise.
32971
32972 2006-10-12  Jim Meyering  <jim@meyering.net>
32973
32974         * m4/getloadavg.m4: Revert the change below.
32975
32976         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
32977         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
32978         fail with a symlink, which is what coreutils' ./bootstrap now
32979         creates by default.
32980
32981 2006-10-12  Bruno Haible  <bruno@clisp.org>
32982
32983         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
32984         mingw.
32985         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
32986         MSVC and mingw explicitly.
32987
32988 2006-10-11  Simon Josefsson  <jas@extundo.com>
32989             Bruno Haible  <bruno@clisp.org>
32990
32991         Add support for multiple gnulib-tool invocations in the scope of a
32992         single configure.ac file.
32993         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
32994         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
32995         with the same contents as the _LIBADD variable.
32996         (func_emit_initmacro_start, func_emit_initmacro_end,
32997         func_emit_initmacro_done): New functions.
32998         (func_import, func_create_testdir): Invoke them. Allow the identifiers
32999         gl_LIBOBJS and gl_LTLIBOBJS.
33000
33001 2006-10-11  Bruno Haible  <bruno@clisp.org>
33002
33003         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
33004         (func_create_testdir): Don't create po/Makefile.am, don't invoke
33005         autoreconf. Instead, invoke autopoint explicitly but move back the
33006         *.m4 files from gnulib.
33007
33008 2006-10-11  Bruno Haible  <bruno@clisp.org>
33009
33010         * gnulib-tool (func_usage): Make module names after --create-testdir
33011         optional.
33012         (func_create_testdir): If no module was specified, use nearly all
33013         modules.
33014
33015 2006-10-12  Jim Meyering  <jim@meyering.net>
33016
33017         Big performance improvement for fts-based tools that use FTS_NOSTAT.
33018         Avoid spurious inode-mismatch problems on non-POSIX file systems.
33019         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
33020         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
33021         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
33022         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
33023         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
33024         (fts_set_stat_required): New function.
33025         (fts_open): Defer the calls to fts_stat, if possible or requested.
33026         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
33027         into fts_stat itself.
33028         (fts_read): Perform any required (deferred) fts_stat call.
33029         (fts_build): Likewise, for the directory we're about to open and read.
33030         In the readdir loop, carefully decide whether each entry will require
33031         an eventual call to fts_stat, using dirent.d_type info if available.
33032         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
33033         a command line argument into this function.  Update all callers.
33034         Map a return value of FTS_DOT to FTS_D for a command line argument.
33035         * modules/fts (Depends-on): Add d-type.  Alphabetize.
33036         Thanks to Miklos Szeredi for his tenacity and for the initial
33037         bug report about "find" failing on a FUSE-based file system.
33038
33039         * lib/fts.c (fts_open): Use consistent indentation.
33040
33041 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
33042
33043         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
33044         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
33045         reported by Jim Meyering.  All uses of cache variables renamed
33046         to match Autoconf's.
33047         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
33048         the other one.
33049
33050         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
33051         Fix misspelling in diagnostic.
33052
33053 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
33054
33055         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
33056         defined.  Problem reported by Matthew Woehlke.
33057
33058         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
33059         Add support for Tandem NonStop R series.
33060         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
33061         Use new macro.
33062
33063         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
33064         (has_trailing_slash): Omit size arg; all callers changed.
33065         Omit 'inline', since it doesn't help performance and we'd
33066         need to configure it.
33067         Don't count //, ///, etc. as having a trailing slash.
33068         As a side effect, this removes a C99ism reported by Matthew Woehlke.
33069         (rpl_rename_dest_slash): On failure, use rename's errno rather
33070         than (in some cases) an incorrect or junk errno.
33071         Simplify code by removing need to compute length; this does
33072         cause it to make two passes instead of one over the file name,
33073         but it's worth it.
33074
33075         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
33076         change, since Autoconf's version may no longer be appropriate now
33077         that we are using CVS Autoconf's version.  Add support for Tandem.
33078
33079 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
33080             Bruno Haible  <bruno@clisp.org>
33081
33082         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
33083         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
33084         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
33085         gl_AC_TYPE_LONG_LONG.
33086
33087         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
33088         instead of HAVE_LONG_LONG.
33089         * lib/printf-args.c (printf_fetchargs): Likewise.
33090         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
33091         * lib/vasnprintf.c (VASNPRINTF): Likewise.
33092         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
33093         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
33094         gl_AC_TYPE_LONG_LONG.
33095
33096 2006-10-11  Bruno Haible  <bruno@clisp.org>
33097
33098         * m4/longlong.m4: Add comments.
33099         * m4/ulonglong.m4: Likewise.
33100
33101 2006-10-10  Bruno Haible  <bruno@clisp.org>
33102
33103         Make it possible to #define stpcpy, strdup to aliases.
33104         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
33105         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
33106
33107 2006-10-10  Bruno Haible  <bruno@clisp.org>
33108
33109         Make it possible to #define gcd to an alias.
33110         * lib/gcd.c: Include config.h.
33111
33112 2006-10-10  Bruno Haible  <bruno@clisp.org>
33113
33114         Make it possible to #define c_isascii to an alias.
33115         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
33116         defined. Undefine the macros before defining them, to avoid gcc
33117         warnings.
33118         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
33119         define NO_C_CTYPE_MACROS early.
33120
33121 2006-10-10  Bruno Haible  <bruno@clisp.org>
33122
33123         Make it possible to #define set_program_name to an alias.
33124         * lib/progname.c: Don't undefine set_program_name; instead, undefine
33125         ENABLE_RELOCATABLE early.
33126
33127 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
33128
33129         Port to Tandem NSK OSS, which has 64-bit signed int but at most
33130         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
33131         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
33132         More generally, don't assume that 64-bit signed int is available
33133         if unsigned int is, and vice versa.
33134         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
33135         unsigned symbols, not on their signed counterparts.
33136         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
33137         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
33138         (UINT64_C, UINTMAX_C):
33139         Likewise.
33140         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
33141         unsigned counterparts.
33142         (Have_long_long, Unsigned): New macros.
33143         (Int): Renamed from INT.
33144         (strtoimax): Use the new macros.
33145         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
33146         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
33147         * modules/inttypes (inttypes.h): Substitute
33148         HAVE_UNSIGNED_LONG_LONG_INT.
33149         * modules/stdint (stdint.h): Likewise.
33150         (Files): Add m4/ulonglong.m4.
33151
33152 2006-10-10  Bruno Haible  <bruno@clisp.org>
33153
33154         Fix a gcc -Wshadow warning.
33155         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
33156         to 'bucket'.
33157         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
33158         gl_linked_indexof_from_to): Likewise.
33159         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
33160         Likewise.
33161         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
33162         Likewise.
33163         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
33164         Reported by Eric Blake.
33165
33166 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
33167
33168         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
33169         for NetBSD.  Problem reported by Bruno Haible.
33170
33171 2006-10-09  Jim Meyering  <jim@meyering.net>
33172
33173         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
33174         Patch from Bruno Haible.
33175
33176 2006-10-09  Jim Meyering  <jim@meyering.net>
33177
33178         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
33179         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
33180         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
33181
33182 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
33183
33184         Don't include <config.h> twice; this doesn't work in some cases,
33185         e.g., when config.h has "#define intmax_t long long int" and
33186         we include <config.h>, <inttypes.h>, <config.h> in that order.
33187         Problem reported by Matthew Woehlke in:
33188         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
33189         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
33190         * lib/fts-cycle.c: Don't include config.h.
33191         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
33192         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
33193         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
33194         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
33195         inttypes.h.
33196         * lib/xstrtoumax.c: Likewise.
33197         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
33198         __strtol and the like, so that this module is more like its siblings.
33199         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
33200         Remove; no longer needed now that we assume gnulib inttypes.h.
33201
33202 2006-10-08  Bruno Haible  <bruno@clisp.org>
33203
33204         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
33205         option.
33206
33207 2006-10-07  Jim Meyering  <jim@meyering.net>
33208
33209         * modules/inttypes (inttypes.h): Revert what seems to have been
33210         an inadvertent part of today's change: use "|", not "/" in the
33211         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
33212
33213 2006-10-07  Bruno Haible  <bruno@clisp.org>
33214
33215         * modules/sublist: New file.
33216
33217 2006-10-07  Bruno Haible  <bruno@clisp.org>
33218
33219         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
33220         * modules/argz (argz.h): Likewise.
33221         * modules/arpa_inet (arpa/inet.h): Likewise.
33222         * modules/byteswap (byteswap.h): Likewise.
33223         * modules/configmake (configmake.h): Likewise.
33224         * modules/fcntl (fcntl.h): Likewise.
33225         * modules/fnmatch (fnmatch.h): Likewise.
33226         * modules/getopt (getopt.h): Likewise.
33227         * modules/glob (glob.h): Likewise.
33228         * modules/inttypes (inttypes.h): Likewise.
33229         * modules/netinet_in (netinet/in.h): Likewise.
33230         * modules/poll (poll.h): Likewise.
33231         * modules/stdbool (stdbool.h): Likewise.
33232         * modules/stdint (stdint.h): Likewise.
33233         * modules/sys_select (sys/select.h): Likewise.
33234         * modules/sys_socket (sys/socket.h): Likewise.
33235         * modules/sys_stat (sys/stat.h): Likewise.
33236         * modules/sysexits (sysexits.h): Likewise.
33237         * modules/unistd (unistd.h): Likewise.
33238         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33239         Add a "DO NOT EDIT" comment to the generated file.
33240         (func_import): Likewise for gnulib-comp.m4.
33241
33242 2006-10-07  Bruno Haible  <bruno@clisp.org>
33243
33244         * lib/gl_sublist.h: New file.
33245         * lib/gl_sublist.c: New file.
33246
33247 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
33248
33249         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
33250         name (relative to the original working directory) and the file
33251         name component (relative to the temporary working directory).  All
33252         callers changed.
33253         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
33254         * lib/mkdir-p.c (make_dir_parents): Likewise.
33255         * lib/mkdir-p.h (make_dir_parents): Likewise.
33256
33257 2006-10-06  Eric Blake  <ebb9@byu.net>
33258
33259         Define several macros for use by the clean-temp module.
33260         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
33261         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
33262         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
33263
33264         * lib/clean-temp.h (close_stream_temp): New declaration.
33265         * lib/clean-temp.c (includes): Pull in headers according to what
33266         other modules are in use.
33267         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
33268
33269 2006-10-06  Bruno Haible  <bruno@clisp.org>
33270
33271         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
33272         instead of fopen, fwriteerror.
33273
33274 2006-10-06  Bruno Haible  <bruno@clisp.org>
33275
33276         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
33277         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
33278         int.
33279         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
33280         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
33281         Return an error indicator.
33282         Suggested by Eric Blake.
33283
33284 2006-10-06  Bruno Haible  <bruno@clisp.org>
33285
33286         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
33287         Reported by Eric Blake.
33288
33289 2006-10-06  Bruno Haible  <bruno@clisp.org>
33290
33291         * modules/closeout (Description): Mention stderr too.
33292
33293 2006-10-06  Bruno Haible  <bruno@clisp.org>
33294         and Paul Eggert  <eggert@cs.ucla.edu>
33295
33296         * lib/closeout.c (close_stdout): Also close stderr.
33297         * lib/closeout.h: Update comment.
33298
33299 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
33300
33301         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
33302         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
33303         * lib/dirchownmod.c: Include lchown.h.
33304         * lib/lchown.c: Don't include files that lchown.h now includes.
33305         Don't declare chown, since lchown.h now does that.
33306         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
33307         (lchown): Define to rpl_chown if lchown is declared but
33308         does not exist.  Declare using a prototype if lchown is not
33309         declared.  Add a copyright notice.
33310         * lib/mkstemp.h: Include <unistd.h>.
33311         * lib/openat.c: Include lchown.h.
33312
33313         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
33314         we now test for that separately.
33315         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
33316         rather than O_NOFOLLOW, when testing whether it's possible to
33317         avoid a race condition reliably.
33318         * lib/savewd.c (savewd_chdir): Likewise.
33319
33320         Remove macros that are no longer needed now that stdint.h is
33321         reliable.
33322         * lib/fsusage.c (UINTMAX_MAX): Remove.
33323         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
33324         * lib/utimecmp.c (SIZE_MAX): Remove.
33325
33326         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
33327
33328         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
33329         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
33330         O_NOATIME works.
33331
33332 2006-10-05  Bruno Haible  <bruno@clisp.org>
33333
33334         * lib/gl_list.h (gl_sortedlist_search_from_to,
33335         gl_sortedlist_indexof_from_to): New declarations.
33336         (gl_list_implementation): New fields sortedlist_search_from_to,
33337         sortedlist_indexof_from_to.
33338         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
33339         inline functions.
33340         * lib/gl_list.c (gl_sortedlist_search_from_to,
33341         gl_sortedlist_indexof_from_to): New functions.
33342         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
33343         function.
33344         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
33345         (gl_array_sortedlist_search_from_to): New function.
33346         (gl_array_list_implementation): Update.
33347         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
33348         function.
33349         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
33350         (gl_carray_sortedlist_search_from_to): New function.
33351         (gl_carray_list_implementation): Update.
33352         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
33353         gl_linked_sortedlist_indexof_from_to): New functions.
33354         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
33355         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
33356         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
33357         gl_tree_sortedlist_indexof_from_to): New functions.
33358         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
33359         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
33360         Update.
33361         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
33362         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
33363         Update.
33364
33365 2006-10-05  Bruno Haible  <bruno@clisp.org>
33366
33367         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
33368         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
33369         (struct gl_list_implementation): Add fields search_from_to,
33370         indexof_from_to. Remove fields search, indexof.
33371         (gl_list_search): Use the search_from_to method.
33372         (gl_list_search_from, gl_list_search_from_to): New functions.
33373         (gl_list_indexof): Use the indexof_from_to method.
33374         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
33375         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
33376         (gl_list_search_from, gl_list_search_from_to): New functions.
33377         (gl_list_indexof): Use the indexof_from_to method.
33378         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
33379         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
33380         gl_array_indexof. Add start_index, end_index arguments.
33381         (gl_array_search_from_to): Renamed from gl_array_search. Add
33382         start_index, end_index arguments.
33383         (gl_array_remove, gl_array_list_implementation): Update.
33384         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
33385         gl_carray_indexof. Add start_index, end_index arguments.
33386         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
33387         start_index, end_index arguments.
33388         (gl_carray_remove, gl_carray_list_implementation): Update.
33389         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
33390         gl_linked_search. Add start_index, end_index arguments.
33391         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
33392         start_index, end_index arguments.
33393         (gl_linked_remove): Update.
33394         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
33395         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
33396         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
33397         field to 'size_t'.
33398         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
33399         gl_tree_search. Add start_index, end_index arguments.
33400         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
33401         start_index, end_index arguments.
33402         (gl_tree_remove): Update.
33403         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
33404         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
33405         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
33406         function.
33407         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
33408         gl_tree_search. Add start_index, end_index arguments.
33409         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
33410         start_index, end_index arguments.
33411         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
33412         Update.
33413         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
33414
33415 2006-10-05  Bruno Haible  <bruno@clisp.org>
33416
33417         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
33418
33419         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
33420         fwriteerror_temp): New declarations.
33421         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
33422         (descriptors): New variable.
33423         (cleanup): First, close the descriptors.
33424         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
33425         fclose_temp, fwriteerror_temp): New functions.
33426
33427 2006-10-04  Jim Meyering  <jim@meyering.net>
33428
33429         * lib/fts.c (fts_open): Tiny comment change.
33430
33431 2006-10-04  Bruno Haible  <bruno@clisp.org>
33432
33433         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
33434         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
33435         gl_LOCK_BODY.
33436         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
33437         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
33438         gl_LOCK_EARLY_BODY.
33439         (gl_LOCK): Require gl_LOCK_BODY.
33440
33441 2006-10-04  Bruno Haible  <bruno@clisp.org>
33442
33443         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
33444         (gl_oset_search_atleast): New declaration.
33445         (struct gl_oset_implementation): Add field 'search_atleast'.
33446         (gl_oset_search_atleast): New inline function.
33447         * lib/gl_oset.c (gl_oset_search_atleast): New function.
33448         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
33449         (gl_array_oset_implementation): Update.
33450         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
33451         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
33452         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
33453
33454 2006-10-04  Bruno Haible  <bruno@clisp.org>
33455
33456         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
33457
33458 2006-10-03  Bruno Haible  <bruno@clisp.org>
33459
33460         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
33461         from gl_avltreehash_list_implementation.
33462
33463 2006-10-03  Bruno Haible  <bruno@clisp.org>
33464
33465         * lib/gl_oset.c (gl_oset_add): Fix return type.
33466
33467 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
33468
33469         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
33470
33471 2006-10-02  Eric Blake  <ebb9@byu.net>
33472
33473         * modules/strnlen (Depends-on): Add extensions.
33474
33475 2006-10-02  Eric Blake  <ebb9@byu.net>
33476
33477         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
33478         definition in 2.60+.
33479
33480 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
33481
33482         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
33483         checks.
33484
33485 2006-10-02  Bruno Haible  <bruno@clisp.org>
33486
33487         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
33488         to the AUTOMAKE_OPTIONS.
33489         Reported by Jim Meyering.
33490
33491 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
33492
33493         Work around bug in Solaris 10 /proc file system:
33494         /proc/self/fd/NNN/.. isn't the parent directory of
33495         the directory whose file descriptor is NNN.  This needs to
33496         be worked around at run time, not compile time, since a
33497         program might be built on Solaris 8, where things work, and
33498         run on Solaris 10.
33499         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
33500         to use the following interface instead:
33501         (OPENAT_BUFFER_SIZE): New macro.
33502         (openat_proc_name): New function.
33503         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
33504         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
33505         Likewise.
33506         * lib/openat-proc.c: New file.
33507         * modules/openat (Files): Add lib/openat-proc.c.
33508         (Depends-on): Add same-inode, stdbool.
33509         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
33510
33511 2006-09-29  Bruno Haible  <bruno@clisp.org>
33512
33513         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
33514         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
33515         argument. Set stdout_closed before testing for ferror, not after.
33516         (fwriteerror, fwriteerror_no_ebadf): New functions.
33517
33518 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33519
33520         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
33521
33522 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
33523
33524         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
33525         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
33526
33527 2006-09-28  Jim Meyering  <jim@meyering.net>
33528
33529         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
33530         Include <unistd.h>.
33531
33532 2006-09-28  Bruno Haible  <bruno@clisp.org>
33533
33534         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
33535         * modules/linkedhash-list (Depends-on): Likewise.
33536         * modules/rbtreehash-list (Depends-on): Likewise.
33537
33538 2006-09-28  Bruno Haible  <bruno@clisp.org>
33539
33540         * lib/strndup.h: Simplify the redefinition of strndup.
33541         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
33542         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
33543
33544 2006-09-28  Bruno Haible  <bruno@clisp.org>
33545
33546         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
33547         * lib/gl_linkedhash_list.c: Likewise.
33548         * lib/gl_rbtreehash_list.c: Likewise.
33549
33550 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
33551
33552         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
33553         getaddrinfo.
33554
33555         * lib/__fpending.h: Don't include <stdio_ext.h> unless
33556         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
33557         it causes <stdio_ext.h> to cause a compile-time error.
33558         Problem reported by Nelson H. F. Beebe.
33559         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
33560         of HAVE_DECL___PENDING.
33561
33562         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
33563         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
33564         declaration.
33565
33566 2006-09-27  Jim Meyering  <jim@meyering.net>
33567
33568         This file could end up with a definition for a function
33569         named __strndup, rather than rpl_strndup on a system with
33570         incomplete weak_alias support.
33571         * lib/strndup.c (strndup): Rename from __strndup.
33572         Remove #defines that used to map __strndup to strndup.
33573         Don't use K&R prototypes.
33574         Remove LIBC-related code, since this file is not sync'd with glibc.
33575         * lib/strndup.h: Revamp, accordingly.
33576         * m4/strndup.m4: Modernize.
33577
33578 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
33579
33580         * modules/savewd (Depends-on): Add 'raise'.
33581         * lib/savewd.c: Include <signal.h>, for 'raise'.
33582
33583 2006-09-26  Jim Meyering  <jim@meyering.net>
33584
33585         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
33586         when we detect Darwin 8.7.0's acl_get_file bug.
33587         Rearrange to perform the new (below) run-test while $LIBS
33588         contains any acl-related library.  Set USE_ACL at the end.
33589         (gl_ACL_GET_FILE): New function.
33590
33591 2006-09-26  Eric Blake  <ebb9@byu.net>
33592
33593         * lib/verror.c: Include <config.h> unconditionally.
33594
33595 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
33596
33597         * modules/clock-time (Maintainer): Add self.
33598         * modules/getlogin_r (Depends-on): Add extensions.
33599
33600 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33601
33602         * modules/clock-time: New module.
33603         * modules/nanosleep (Depends-on): Add clock-time.
33604         * modules/gethrxtime (Depends-on): Likewise.
33605         * modules/gettime (Depends-on): Likewise.
33606         * modules/settime (Depends-on): Likewise.
33607
33608         * modules/fts-lgpl: Depend on openat.
33609         * modules/mkancesdirs: Depend on savewd.
33610         * modules/mkdir-p: Likewise.
33611
33612 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33613
33614         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
33615
33616         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
33617         `gl_have_arbitrary_file_name_length_limit' to
33618         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
33619         actually works between configure runs.
33620
33621 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33622             Bruno Haible  <bruno@clisp.org>
33623
33624         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
33625
33626 2006-09-25  Jim Meyering  <jim@meyering.net>
33627
33628         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
33629         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
33630
33631 2006-09-25  Eric Blake  <ebb9@byu.net>
33632
33633         * gnulib-tool (func_import, func_create_testdir): Fix typos in
33634         exec's in 2006-09-18 patch when shuffling fds.
33635
33636 2006-09-25  Bruno Haible  <bruno@clisp.org>
33637
33638         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
33639         Reported by Jim Meyering.
33640
33641 2006-09-24  Jim Meyering  <jim@meyering.net>
33642
33643         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
33644         compare a pointer against a literal "0".  That caused failures with
33645         at least HP-UX's hpcc.
33646
33647 2006-09-22  Simon Josefsson  <jas@extundo.com>
33648
33649         * modules/gc-sha1:
33650         * modules/gc-md4:
33651         * modules/gc-hmac-sha1:
33652         * modules/gc-hmac-md5:
33653         * modules/gc-des:
33654         * modules/gc-arcfour: Distribute more files.
33655
33656 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33657
33658         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
33659         (gl_linked_iterator_from_to): Initialize struct completely.
33660         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
33661         (gl_tree_iterator_from_to): Likewise
33662         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
33663         * lib/gl_array_list.c [lint] (gl_array_iterator)
33664         (gl_array_iterator_from_to): Likewise.
33665         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
33666         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
33667         (gl_carray_iterator_from_to): Likewise.
33668
33669         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
33670         * lib/md4.c (md4_process_block): Remove unused variable.
33671         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
33672         parentheses for clarity.
33673
33674 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33675
33676         * modules/bison-i18n (Depends-on): Add gettext.
33677
33678 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33679
33680         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
33681         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
33682         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
33683         also add missing comma that caused broken test.
33684         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
33685         stdlib.h, for `abort'.
33686         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
33687         variables.
33688         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
33689         include unistd.h if present, for `rmdir'.
33690         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
33691         variables.
33692         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
33693         in the process include standard headers for prototypes.
33694         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
33695         gets declared on GNU/Linux.
33696         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
33697         unistd.h, for `rmdir'.
33698         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
33699
33700         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
33701         always true.
33702         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
33703
33704         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
33705
33706 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33707
33708         * gnulib-tool (func_version): Create output all at once.  This
33709         may help avoid triggering unnecessary SIGPIPEs, and at any
33710         rate it doesn't hurt.
33711
33712 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33713             Bruno Haible  <bruno@clisp.org>
33714
33715         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
33716         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
33717         * m4/signed.m4 (bh_C_SIGNED): Likewise.
33718
33719         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
33720         (gl_FUNC_VASPRINTF): Invoke it.
33721
33722 2006-09-22  Bruno Haible  <bruno@clisp.org>
33723
33724         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
33725         getloadavg.c as first argument.
33726
33727 2006-09-22  Bruno Haible  <bruno@clisp.org>
33728
33729         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
33730         at the beginning of the gl_INIT macro.
33731         * modules/getloadavg (configure.ac): Pass $gl_source_base to
33732         gl_GETLOADAVG.
33733
33734 2006-09-22  Bruno Haible  <bruno@clisp.org>
33735
33736         * gnulib-tool (func_create_megatestdir): Don't include the config-h
33737         module.
33738         Suggested by Ralf Wildenhues.
33739
33740 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
33741
33742         Import this patch from libc:
33743
33744         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
33745
33746         * lib/regex_internal.c (re_string_reconstruct): Handle
33747         offset < pstr->valid_raw_len && pstr->offsets_needed case.
33748         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
33749         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
33750         re_string_context_at.
33751
33752         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
33753         now requires it.
33754         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
33755         gl_REGEX now does it for us.
33756         (gl_REGEX): Add test taken from
33757         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
33758
33759         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
33760         Check that large offsets work.  Modernize Autoconf usages.
33761         Prefer "yes" to mean a good thing rather than a bad.
33762         Don't put "#define mkstemp" in config.h, as this might interfere
33763         with standard system headers that "#define mkstemp mkstemp64".
33764
33765         * modules/mkstemp (Depends-on): Add extensions, so that
33766         mkstemp is visible on some platforms.
33767         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
33768         (Include): Change to "mkstemp.h" from <stdlib.h>.
33769         (Files): Add mkstemp.h.
33770
33771         * lib/mkstemp.h: New file, since some standard headers
33772         #define mkstemp.
33773         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
33774         Include "mkstemp.h".
33775         Make the _LIBC code resemble glibc original more,
33776         e.g., use K&R style.
33777         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
33778         (mkstemp): Remove, since mkstemp.h does this for us.
33779         * lib/stdlib--.h: Include mkstemp.h.
33780
33781         Import this patch from libc:
33782
33783         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
33784
33785         * lib/tempname.c (__gen_tempname): Change attempts_min
33786         into a macro.  Use preprocessor to decide how to initialize
33787         attempts [Coverity CID 67].
33788
33789 2006-09-20  Bruno Haible  <bruno@clisp.org>
33790
33791         * lib/mkdtemp.c: Import from libc.
33792         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
33793                 * sysdeps/posix/tempname.c (__gen_tempname): Change
33794                 attempts_min into a macro.  Use preprocessor to decide how to
33795                 initialize attempts [Coverity CID 67].
33796         2001-11-27  Paul Eggert  <eggert@twinsun.com>
33797                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
33798                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
33799
33800 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33801
33802         * gnulib-tool (func_exit): New function, to allow to pass the
33803         exit status portably through the trap.  Use everywhere.
33804         (--help, --version): Signal a write error.
33805         (trap): catch SIGPIPE, for write errors.
33806         Exit at the end of the trap, with the correct exit status.
33807
33808 2006-09-19  Karl Berry  <karl@gnu.org>
33809
33810         * doc/gnulib.texi: note about the license texinfo files.
33811
33812 2006-09-19  Eric Blake  <ebb9@byu.net>
33813
33814         * gnulib-tool: Avoid space-tab.
33815
33816 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
33817
33818         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
33819         that prevented coreutils 6.1 from building.  Problem reported
33820         by Petter Reinholdtsen.
33821
33822 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
33823
33824         * gnulib-tool (avoidlist): Fix typo that broke options like
33825         --avoid=lock that are used by coreutils bootstrap.
33826
33827 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
33828
33829         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
33830         more systematically.
33831
33832 2006-09-18  Jim Meyering  <jim@meyering.net>
33833
33834         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
33835
33836 2006-09-18  Bruno Haible  <bruno@clisp.org>
33837
33838         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
33839
33840 2006-09-18  Bruno Haible  <bruno@clisp.org>
33841
33842         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
33843         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
33844         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
33845         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
33846         * m4/gettext.m4: Require autoconf >= 2.52.
33847         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
33848         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
33849         of gl_cv_header_inttypes_h.
33850
33851 2006-09-18  Bruno Haible  <bruno@clisp.org>
33852
33853         * lib/javaversion.c: Include configmake.h.
33854
33855 2006-09-18  Bruno Haible  <bruno@clisp.org>
33856
33857         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
33858         avoid that the while loops be executed in a subshell.
33859
33860 2006-09-18  Bruno Haible  <bruno@clisp.org>
33861
33862         * MODULES.html.sh (func_module): Break long lines.
33863         Suggested by Bruce Korb <bkorb@gnu.org>.
33864
33865 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33866
33867         Speed up by a factor of 1.12.
33868         * gnulib-tool (nl): New variable.
33869         (func_import): Rewrite include directive extraction to only read each
33870         directive once.
33871
33872 2006-09-17  Bruno Haible  <bruno@clisp.org>
33873
33874         * modules/javaversion (Makefile.am): Remove DEFS setting.
33875         (Depends-on): Add configmake, for PKGDATADIR definition.
33876
33877 2006-09-17  Bruno Haible  <bruno@clisp.org>
33878
33879         * gnulib-tool (func_create_testdir): Rewrite all files at once.
33880
33881 2006-09-17  Bruno Haible  <bruno@clisp.org>
33882
33883         * gnulib-tool (func_append): New function, stolen from libtool.m4.
33884         (func_modules_transitive_closure, func_modules_add_dummy,
33885         func_modules_to_filelist, func_import, func_create_testdir,
33886         func_create_megatestdir, ...): Use it wherever possible.
33887         Suggested by Ralf Wildenhues.
33888
33889 2006-09-16  Karl Berry  <karl@gnu.org>
33890
33891         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
33892         to avoid sectioning errors.
33893         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
33894         [ifinfo]: blank line after @center-ed titles.
33895         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
33896         Spell FSF address consistently with others.
33897         (These changes approved by rms.)
33898
33899 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33900
33901         Speed up by a factor of 1.61.
33902         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
33903         already checked module names again.
33904
33905 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33906
33907         Speed up by a factor of 1.13.
33908         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
33909         for new_files, and the input to func_add_or_update.
33910
33911 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33912
33913         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
33914         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
33915
33916 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
33917
33918         * modules/mkancesdirs (Depends-on): Add fcntl.
33919         * modules/savewd: New file.
33920         * MODULES.html.sh (File system functions): Add savewd.
33921
33922         * modules/configmake (Makefile.am): Add support for the
33923         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
33924
33925 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
33926
33927         * m4/savewd.m4: New file.
33928
33929 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
33930
33931         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
33932         (dirchownmod): New arg FD.  All callers changed.
33933         Use FD rather than opening the directory ourself, as opening is
33934         now the caller's responsibility.
33935         * lib/dirchownmod.h: Likewise.
33936         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
33937         hosts that require <sys/types.h> before <sys/stat.h>.  Include
33938         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
33939         (test_dir): Remove.
33940         (mkancesdirs): Return length of prefix of FILE that has already
33941         been made, or -2 if there is a child doing the work.  Redo
33942         algorithm so that it is O(N) rather than O(N**2).  Optimize away
33943         ".", and treat ".." specially since it might stray back into
33944         already-created areas.  Use a subprocess if necessary.  New arg
33945         WD; all users changed.  MAKE_DIR function should now return 1
33946         if it creates a directory that is not readable.  Return -2 if
33947         a child process is spun off.
33948         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
33949         Adjust signature to match code.
33950         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
33951         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
33952         all users changed.
33953         * lib/savewd.c, lib/savewd.h: New files.
33954
33955 2006-09-15  Jim Meyering  <jim@meyering.net>
33956
33957         * modules/rename-dest-slash: New module.
33958         * MODULES.html.sh (posix_compat): Add it here.
33959
33960         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
33961
33962 2006-09-15  Jim Meyering  <jim@meyering.net>
33963
33964         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
33965         file.
33966
33967         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
33968
33969 2006-09-15  Jim Meyering  <jim@meyering.net>
33970
33971         * lib/rename-dest-slash.c (has_trailing_slash): Use
33972         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
33973         (rpl_rename_dest_slash): Perform the cheaper trailing slash
33974         test before testing whether SRC is a directory.
33975         Suggestions from Bruno Haible.
33976
33977         Avoid a warning about an unused variable.
33978         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
33979         into the #ifdef block where it's used.
33980
33981         * lib/rename-dest-slash.c: New file.
33982
33983 2006-09-14  Bruno Haible  <bruno@clisp.org>
33984
33985         * lib/allocsa.c: Include <config.h> unconditionally.
33986         * lib/asnprintf.c: Likewise.
33987         * lib/asprintf.c: Likewise.
33988         * lib/c-strcasecmp.c: Likewise.
33989         * lib/c-strcasestr.c: Likewise.
33990         * lib/c-strncasecmp.c: Likewise.
33991         * lib/c-strstr.c: Likewise.
33992         * lib/classpath.c: Likewise.
33993         * lib/clean-temp.c: Likewise.
33994         * lib/concatpath.c: Likewise.
33995         * lib/copy-file.c: Likewise.
33996         * lib/csharpcomp.c: Likewise.
33997         * lib/csharpexec.c: Likewise.
33998         * lib/execute.c: Likewise.
33999         * lib/fatal-signal.c: Likewise.
34000         * lib/findprog.c: Likewise.
34001         * lib/fwriteerror.c: Likewise.
34002         * lib/gl_array_list.c: Likewise.
34003         * lib/gl_array_oset.c: Likewise.
34004         * lib/gl_avltree_list.c: Likewise.
34005         * lib/gl_avltree_oset.c: Likewise.
34006         * lib/gl_avltreehash_list.c: Likewise.
34007         * lib/gl_carray_list.c: Likewise.
34008         * lib/gl_linked_list.c: Likewise.
34009         * lib/gl_linkedhash_list.c: Likewise.
34010         * lib/gl_list.c: Likewise.
34011         * lib/gl_oset.c: Likewise.
34012         * lib/gl_rbtree_list.c: Likewise.
34013         * lib/gl_rbtree_oset.c: Likewise.
34014         * lib/gl_rbtreehash_list.c: Likewise.
34015         * lib/imaxabs.c: Likewise.
34016         * lib/imaxdiv.c: Likewise.
34017         * lib/javacomp.c: Likewise.
34018         * lib/javaexec.c: Likewise.
34019         * lib/javaversion.c: Likewise.
34020         * lib/linebreak.c: Likewise.
34021         * lib/localcharset.c: Likewise.
34022         * lib/lock.c: Likewise.
34023         * lib/mbchar.c: Likewise.
34024         * lib/mbswidth.c: Likewise.
34025         * lib/mkdtemp.c: Likewise.
34026         * lib/pipe.c: Likewise.
34027         * lib/printf-args.c: Likewise.
34028         * lib/printf-parse.c: Likewise.
34029         * lib/progname.c: Likewise.
34030         * lib/progreloc.c: Likewise.
34031         * lib/readlink.c: Likewise.
34032         * lib/sh-quote.c: Likewise.
34033         * lib/stpcpy.c: Likewise.
34034         * lib/stpncpy.c: Likewise.
34035         * lib/strcasecmp.c: Likewise.
34036         * lib/strcasestr.c: Likewise.
34037         * lib/strcspn.c: Likewise.
34038         * lib/striconv.c: Likewise.
34039         * lib/strncasecmp.c: Likewise.
34040         * lib/strnlen1.c: Likewise.
34041         * lib/strstr.c: Likewise.
34042         * lib/strtok_r.c: Likewise.
34043         * lib/tls.c: Likewise.
34044         * lib/tmpdir.c: Likewise.
34045         * lib/unicodeio.c: Likewise.
34046         * lib/unsetenv.c: Likewise.
34047         * lib/vasnprintf.c: Likewise.
34048         * lib/vasprintf.c: Likewise.
34049         * lib/wait-process.c: Likewise.
34050         * lib/xallocsa.c: Likewise.
34051         * lib/xsetenv.c: Likewise.
34052         * lib/xstriconv.c: Likewise.
34053
34054 2006-09-13  Simon Josefsson  <jas@extundo.com>
34055
34056         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
34057         that internally, suggested by Ralf Wildenhues
34058         <Ralf.Wildenhues@gmx.de>.
34059
34060 2006-09-13  Simon Josefsson  <jas@extundo.com>
34061
34062         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
34063         @LIBOBJS@.
34064         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34065
34066 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
34067
34068         * lib/_fpending.c: Include <config.h> unconditionally, since we no
34069         longer worry about uses that don't define HAVE_CONFIG_H.
34070         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
34071         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
34072         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
34073         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
34074         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
34075         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
34076         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
34077         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
34078         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
34079         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
34080         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
34081         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
34082         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
34083         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
34084         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
34085         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
34086         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
34087         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
34088         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
34089         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
34090         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
34091         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
34092         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
34093         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
34094         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
34095         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
34096         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
34097         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
34098         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
34099         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
34100         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
34101         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
34102         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
34103         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
34104         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
34105         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
34106         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
34107         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
34108         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
34109         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
34110         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
34111         Likewise.
34112
34113 2006-09-13  Eric Blake  <ebb9@byu.net>
34114
34115         * lib/getopt.c: Fix typo in last commit.
34116
34117 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
34118
34119         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
34120         dgettext.
34121
34122 2006-09-12  Jim Meyering  <jim@meyering.net>
34123
34124         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
34125         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
34126         Reported by Nelson H. F. Beebe.
34127
34128 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
34129
34130         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
34131         program_invocation_name and program_invocation_short_name are
34132         initialized.
34133         * lib/argp-namefrob.h: Move declarations of program_invocation_name
34134         and program_invocation_short_name to argp.h, so they are visible
34135         to user programs.
34136         * lib/argp.h: Likewise
34137
34138 2006-09-10  Bruno Haible  <bruno@clisp.org>
34139
34140         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
34141         m4/inttypes_h.m4, m4/uintmax_t.m4.
34142
34143 2006-09-10  Bruno Haible  <bruno@clisp.org>
34144
34145         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
34146         gl_AC_TYPE_UINTMAX_T.
34147
34148 2006-09-10  Bruno Haible  <bruno@clisp.org>
34149
34150         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
34151
34152 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
34153
34154         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
34155         convention.  Text proposed by Bruno Haible.
34156         (struct argp_option): Document the use of N_() wrappers.
34157
34158         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
34159         '\v', and translate the two parts separately, instead of feeding
34160         the whole string to gettext.  This allows to exclude
34161         '\v' from the strings visible to the translator by writing doc
34162         strings as N_("..") "\v" N_("..").
34163
34164 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
34165
34166         * config/srclist.txt: Undo latest change; the bug was fixed.
34167
34168 2006-09-09  Bruno Haible  <bruno@clisp.org>
34169
34170         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
34171         assignments if building a library without libtool.
34172         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
34173         in func_emit_lib_Makefile_am.
34174         (func_import): When building a static library libfoo.a, arrange to
34175         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
34176         (func_create_testdir): Likewise.
34177         * modules/gc (configure.ac, Makefile.am): If building statically,
34178         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
34179         * modules/iconvme (configure.ac, Makefile.am): Likewise.
34180         * modules/striconv (configure.ac, Makefile.am): Likewise.
34181         Based on a suggestion by Ralf Wildenhues.
34182
34183 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
34184
34185         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
34186         Check for unistd.h too, since Autoconf doesn't assume POSIX.
34187         Also:
34188
34189         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
34190         Add year_2050_test to catch glibc bug 2821
34191         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
34192
34193         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
34194         Prefer #ifdef to #if.
34195
34196         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
34197         Return from 'main' instead of calling 'exit'.
34198
34199 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
34200
34201         * lib/mktime.c (guess_time_tm): Fix bug where mktime
34202         returned the maximum time_t value rather than (time_t) -1.
34203         Problem originally reported by William Bardwell
34204         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
34205
34206         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
34207         Moved to here ...
34208         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
34209         ... from here.
34210
34211 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
34212
34213         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
34214         2821 is fixed.
34215
34216 2006-09-08  Jim Meyering  <jim@meyering.net>
34217
34218         Don't make generated files read-only.  That would bother too many
34219         people.  However, do retain the ability to work when targets are
34220         read-only: remove the destination and temporary files before writing
34221         them (when generated via sed or echo), or by using the -f option for
34222         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
34223         * modules/alloca-opt, modules/argz, modules/arpa_inet:
34224         * modules/byteswap, modules/configmake, modules/fcntl:
34225         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
34226         * modules/localcharset, modules/netinet_in, modules/poll:
34227         * modules/stdbool, modules/stdint, modules/sys_select:
34228         * modules/sys_socket, modules/sys_stat, modules/sysexits:
34229
34230 2006-09-08  Jim Meyering  <jim@meyering.net>
34231
34232         Avoid new build failure on FreeBSD 6.0.
34233         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
34234         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
34235         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
34236
34237 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34238
34239         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
34240
34241 2006-09-07  Jim Meyering  <jim@meyering.net>
34242
34243         Fix global typo in last change: use chmod u-w, not chmod u-x.
34244         Spotted by Paul Eggert and Bruce Korb.
34245         * modules/alloca-opt, modules/argz, modules/arpa_inet:
34246         * modules/byteswap, modules/configmake, modules/fcntl:
34247         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
34248         * modules/localcharset, modules/netinet_in, modules/poll:
34249         * modules/stdbool, modules/stdint, modules/sys_select:
34250         * modules/sys_socket, modules/sys_stat, modules/sysexits:
34251
34252 2006-09-06  Jim Meyering  <jim@meyering.net>
34253
34254         Make generated files be read-only.
34255         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
34256         Ensure that each generated file is now read-only.
34257         * modules/argz: Likewise.
34258         * modules/arpa_inet: Likewise.
34259         * modules/byteswap: Likewise.
34260         * modules/configmake: Likewise.
34261         * modules/fcntl: Likewise.
34262         * modules/fnmatch: Likewise.
34263         * modules/getopt: Likewise.
34264         * modules/glob: Likewise.
34265         * modules/inttypes: Likewise.
34266         * modules/netinet_in: Likewise.
34267         * modules/poll: Likewise.
34268         * modules/stdbool: Likewise.
34269         * modules/stdint: Likewise.
34270         * modules/sys_select: Likewise.
34271         * modules/sys_socket: Likewise.
34272         * modules/sys_stat: Likewise.
34273         * modules/sysexits: Likewise.
34274         * modules/localcharset: Same as above, but continue using temporary
34275         file named "t-$@" (why different?) rather than the "$@-t" used
34276         everywhere else.
34277
34278         * modules/sysexits (Makefile.am): Replace literal occurrences
34279         of "sysexit.h" more readable, and more consistent, "$@".
34280
34281 2006-09-06  Bruno Haible  <bruno@clisp.org>
34282
34283         * modules/striconv: New file.
34284         * modules/xstriconv: New file.
34285         * MODULES.html.sh (Internationalization functions): Add striconv,
34286         xstriconv.
34287
34288 2006-09-06  Bruno Haible  <bruno@clisp.org>
34289
34290         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
34291         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
34292         not using libtool correctly.
34293
34294 2006-09-06  Bruno Haible  <bruno@clisp.org>
34295
34296         * lib/striconv.h: New file.
34297         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
34298         iconvstring.c.
34299         * lib/xstriconv.h: New file.
34300         * lib/xstriconv.c: New file.
34301
34302 2006-09-06  Bruno Haible  <bruno@clisp.org>
34303
34304         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
34305         lib_..._LDFLAGS.
34306
34307 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34308
34309         * lib/argz_.h: Sync from Libtool.
34310
34311         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
34312                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
34313
34314         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
34315
34316 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
34317
34318         * modules/trim: New file.
34319
34320 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
34321
34322         * lib/trim.h: New file.
34323         * lib/trim.c: New file.
34324
34325 2006-09-05  Bruno Haible  <bruno@clisp.org>
34326
34327         * MODULES.html.sh (String handling): Add trim.
34328
34329 2006-09-04  Karl Berry  <karl@gnu.org>
34330
34331         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
34332         until next release.
34333
34334 2006-09-03  Bruno Haible  <bruno@clisp.org>
34335
34336         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
34337         correctly.
34338
34339 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
34340
34341         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
34342         not gl_GETLOADAVG.  Omit unneeded semicolons.
34343         Problems reported by Ralf Wildenhues in
34344         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
34345         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
34346         at the end, which is the usual gnulib style.
34347
34348         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
34349         of doing all the work ourselves.
34350         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
34351         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
34352
34353 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
34354
34355         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
34356         Problem reported by Ralf Wildenhues in
34357         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
34358
34359         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
34360         HAVE_STRUCT_STATFS_F_FSTYPENAME.
34361
34362 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
34363
34364         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
34365         yesterday's patch by changing test -n to test -z.
34366
34367 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
34368
34369         * modules/getloadavg (Files): Add m4/getloadavg.m4.
34370         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
34371         the former is now obsolescent.
34372
34373         * modules/chdir-long (Depends-on): Add fcntl.
34374
34375 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
34376
34377         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
34378         obsolescent, and programs should use gnulib instead.
34379         * m4/getloadavg.m4: New file, with contents taken from Autoconf
34380         but with prefixes changed.
34381
34382 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
34383
34384         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
34385         or stdbool.h, because they might not exist while configuring.
34386
34387         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
34388         Don't include unistd.h or limits.h; not needed, since chdir-long.h
34389         does that for us.
34390         (O_DIRECTORY): Remove.
34391
34392 2006-08-31  Eric Blake  <ebb9@byu.net>
34393
34394         * gnulib-tool: Don't let emacs change spaces to TAB.
34395
34396 2006-08-31  Bruno Haible  <bruno@clisp.org>
34397
34398         * gnulib-tool: When calling func_import more than once, do it in a
34399         subshell.
34400         Reported by Eric Blake <ebb9@byu.net>.
34401
34402 2006-08-31  Bruno Haible  <bruno@clisp.org>
34403
34404         * gnulib-tool (nl): Remove variable.
34405         (sed_transform_lib_file): Use more robust test for config-h module.
34406         (func_import): Fix typo in 2006-08-25 patch.
34407
34408 2006-08-31  Bruno Haible  <bruno@clisp.org>
34409
34410         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
34411         specified, augment Makefile.am variables instead of assigning them.
34412
34413 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
34414
34415         Work around a bug in both the Linux and SunOS 64-bit kernels:
34416         nanosleep mishandles sleeps for longer than 2**31 seconds.
34417         Problem reported by Frank v Waveren in
34418         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
34419         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
34420         Check for nanosleep bug.
34421         (LIB_NANOSLEEP): Append clock_gettime library if needed.
34422
34423 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
34424
34425         Work around a bug in both the Linux and SunOS 64-bit kernels:
34426         nanosleep mishandles sleeps for longer than 2**31 seconds.
34427         Problem reported by Frank v Waveren in
34428         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
34429         * lib/nanosleep.c (BILLION): New constant.
34430         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
34431         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
34432         implementation.
34433
34434 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
34435
34436         * modules/nanosleep (Depends-on): Add gettime.
34437
34438 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
34439         and Simon Josefsson  <jas@extundo.com>
34440         and Oskar Liljeblad  <oskar@osk.mine.nu>
34441
34442         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
34443         * gnulib-tool (func_import): New license type 'unmodifiable license
34444         text'.
34445         * modules/fdl: Use it.  Longer description.
34446         * module/gpl, module/lgpl: New files.
34447
34448 2006-08-30  Jim Meyering  <jim@meyering.net>
34449
34450         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
34451         shadowing the parameter.
34452
34453 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34454
34455         Sync from Libtool:
34456
34457         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34458
34459         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
34460         sharing with gnulib.  Report by Eric Blake.
34461
34462 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
34463
34464         * modules/isapipe: New file.
34465         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
34466
34467 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
34468
34469         * modules/configmake (Makefile.am): Add a comment, and omit
34470         the CONFIGMAKE_ prefix from generated macro names.  Suggested
34471         by Bruno Haible.
34472
34473 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
34474
34475         * m4/isapipe.m4: New file.
34476
34477 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
34478
34479         * lib/isapipe.c, lib/isapipe.h: New files.
34480
34481 2006-08-29  Jim Meyering  <jim@meyering.net>
34482
34483         * modules/configmake (Makefile.am): Make configmake.h depend on
34484         Makefile.  Otherwise, a stale configmake.h could hang around.
34485
34486 2006-08-29  Eric Blake  <ebb9@byu.net>
34487
34488         * lib/error.c (error_at_line, print_errno_message): Match libc, after
34489         resolution of upstream bug 3044.
34490
34491 2006-08-29  Bruno Haible  <bruno@clisp.org>
34492
34493         * modules/localcharset (Depends-on): Add configmake.
34494         (Makefile.am): Remove setting of LIBDIR through DEFS.
34495
34496 2006-08-29  Bruno Haible  <bruno@clisp.org>
34497
34498         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
34499         defined.
34500
34501 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
34502
34503         * modules/fcntl: New file.
34504         * modules/chdir-safer (Depends-on): Add fcntl.
34505         * modules/fts: Likewise.
34506         * modules/mkdir-p: Likewise.
34507
34508         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
34509         This undoes the most recent change, since we're now addressing the
34510         problem in a different way.
34511
34512         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
34513         into output, since the output might be called Makefile.am even
34514         if $makefile_name is something different.
34515         (func_import): Use $makefile_am rather than
34516         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
34517         empty.
34518
34519         * modules/inttypes (Files): Add m4/inttypes-h.m4.
34520
34521 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
34522
34523         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
34524         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
34525         recent change to stdint.m4, since we're now addressing the problem in a
34526         different way.
34527
34528 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
34529
34530         * m4/fcntl_h.m4: New file.
34531
34532 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
34533
34534         * lib/fcntl_.h: New file.
34535         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
34536         the fcntl module.
34537         * lib/dirchownmod.c: Likewise.
34538         * lib/fts.c: Likewise.
34539
34540         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
34541         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
34542         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
34543         just before including <inttypes.h>, to avoid circular inclusion.
34544
34545 2006-08-28  Jim Meyering  <jim@meyering.net>
34546
34547         * doc/visibility.texi: Actually read and correct the grammar of the
34548         sentence affected by yesterday's change.
34549
34550 2006-08-28  Eric Blake  <ebb9@byu.net>
34551
34552         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
34553         needs wrapper.
34554
34555 2006-08-28  Eric Blake  <ebb9@byu.net>
34556
34557         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
34558
34559 2006-08-28  Eric Blake  <ebb9@byu.net>
34560
34561         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
34562
34563 2006-08-28  Bruno Haible  <bruno@clisp.org>
34564
34565         * modules/c-strstr: New file, from GNU gettext.
34566         * MODULES.html.sh (String handling): Add c-strstr.
34567
34568 2006-08-28  Bruno Haible  <bruno@clisp.org>
34569
34570         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
34571         macros.
34572         Reported by Eric Blake.
34573
34574 2006-08-28  Bruno Haible  <bruno@clisp.org>
34575
34576         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
34577         (VASNPRINTF): Return a string of length > INT_MAX without failing.
34578         * lib/vasprintf.c: Include errno.h, limits.h.
34579         (EOVERFLOW): New fallback definition.
34580         (vasprintf): Test here whether the string length is > INT_MAX.
34581         * lib/vsnprintf.c: Include errno.h, limits.h.
34582         (EOVERFLOW): New fallback definition.
34583         (vsnprintf): Fix bug when generated string was too long for the buffer.
34584         Test here whether the string length is > INT_MAX.
34585
34586 2006-08-28  Bruno Haible  <bruno@clisp.org>
34587
34588         * lib/inttypes_.h (SCNX*): Remove definitions.
34589         Reported by Eric Blake.
34590
34591 2006-08-28  Bruno Haible  <bruno@clisp.org>
34592
34593         * lib/c-strstr.h: New file, from GNU gettext.
34594         * lib/c-strstr.c: New file, from GNU gettext.
34595
34596 2006-08-28  Bruno Haible  <bruno@clisp.org>
34597
34598         * gnulib-tool: Reorder some statements.
34599
34600 2006-08-28  Bruno Haible  <bruno@clisp.org>
34601
34602         * gnulib-tool: New option --makefile-name.
34603         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
34604         $makefile_name.
34605         (func_import): Write $makefile_name to the cache file, and read it from
34606         there unless explicitly specified. Use $makefile_name as file name
34607         instead of Makefile.am. Adjust the recommendations accordingly.
34608
34609 2006-08-28  Bruno Haible  <bruno@clisp.org>
34610
34611         * gnulib-tool (func_verify_module): Check against misapplying patch.
34612
34613 2006-08-28  Bruno Haible  <bruno@clisp.org>
34614
34615         * gnulib-tool (func_relativize, func_relconcat): New functions.
34616         Give an error if --local-dir is given with --update.
34617         Remove trailing slashes from $local_gnulib_dir.
34618         (func_import): Store the relativized $local_gnulib_dir in
34619         gnulib-cache.m4, and read it from there if not specified explicitly.
34620
34621 2006-08-28  Bruno Haible  <bruno@clisp.org>
34622
34623         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
34624         is the current directory. Respect also $local_gnulib_dir.
34625
34626 2006-08-28  Bruno Haible  <bruno@clisp.org>
34627             Simon Josefsson  <jas@extundo.com>
34628
34629         BeOS portability.
34630         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
34631
34632 2006-08-27  Jim Meyering  <jim@meyering.net>
34633
34634         * doc/visibility.texi: Remove duplicate word: "pointer".
34635
34636 2006-08-26  Bruno Haible  <bruno@clisp.org>
34637
34638         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
34639         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
34640         (Makefile.am): Create inttypes.h from inttypes_.h.
34641         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
34642
34643         * modules/imaxabs: New file.
34644
34645         * modules/imaxdiv: New file.
34646
34647 2006-08-26  Bruno Haible  <bruno@clisp.org>
34648
34649         * m4/inttypes.m4: New file.
34650         * m4/_inttypes_h.m4: Remove file.
34651         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
34652         PRI_MACROS_BROKEN.
34653         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
34654
34655         * m4/imaxabs.m4: New file.
34656
34657         * m4/imaxdiv.m4: New file.
34658
34659 2006-08-26  Bruno Haible  <bruno@clisp.org>
34660
34661         * lib/inttypes_.h: New file.
34662         * lib/inttypes.h: Remove file.
34663         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
34664
34665         * lib/imaxabs.c: New file.
34666
34667         * lib/imaxdiv.c: New file.
34668
34669 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
34670
34671         New config-h module, so that "make" output needn't be cluttered
34672         by -DHAVE_CONFIG_H.
34673         * MODULES.html.sh (Support for building libraries and executables):
34674         Add config-h.
34675         * modules/config-h: New file.
34676         * gnulib-tool (nl, sed_transform_lib_file): New vars.
34677         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
34678         the config-h module is used.
34679
34680         New configmake module, so that "make" output needn't be cluttered
34681         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
34682         * MODULES.html.sh (Support for building libraries and executables):
34683         Add configmake.
34684         * modules/configmake: New file.
34685
34686 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
34687
34688         * m4/config-h.m4: New file.
34689
34690 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
34691
34692         * config/srclist.txt: Add elisp-comp.
34693
34694 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
34695
34696         * MODULES.html.sh (Support for building libraries and executables):
34697         Add elisp-comp.
34698         * build-aux/elisp-comp: New file.
34699         * modules/elisp-comp: New file.
34700
34701 2006-08-24  Bruno Haible  <bruno@clisp.org>
34702
34703         * gnulib-tool (func_create_testdir): Use non-default values of
34704         sourcebase and m4base.
34705
34706 2006-08-24  Bruno Haible  <bruno@clisp.org>
34707
34708         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
34709         HTML structure.
34710
34711 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
34712
34713         * modules/openat (Depends-on): Add lchown.
34714
34715 2006-08-23  Bruno Haible  <bruno@clisp.org>
34716
34717         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
34718         of gl_LOCK_EARLY instead of gl_LOCK.
34719
34720 2006-08-23  Bruno Haible  <bruno@clisp.org>
34721
34722         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
34723         on OSF/1 to no.
34724         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
34725
34726 2006-08-23  Bruno Haible  <bruno@clisp.org>
34727
34728         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
34729         as unusable.
34730
34731         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
34732         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
34733         (gl_LOCK): New macro.
34734
34735 2006-08-22  Simon Josefsson  <jas@extundo.com>
34736
34737         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
34738         to md5 module.
34739
34740 2006-08-22  Simon Josefsson  <jas@extundo.com>
34741
34742         * MODULES.html.sh: Add "Support for maintaining and release
34743         projects".
34744
34745         * build-aux/gnupload: New file, from coreutils.
34746
34747 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
34748
34749         Avoid the need for AC_LIBSOURCES in m4 macros.
34750         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
34751         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
34752         * modules/check-version (EXTRA_DIST): Add check-version.h.
34753         * modules/crc (EXTRA_DIST): Add crc.h.
34754         * modules/des (EXTRA_DIST): Add des.h.
34755         * modules/gc (EXTRA_DIST): Add gc.h.
34756         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
34757         * modules/getline (EXTRA_DIST): Add getline.h.
34758         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
34759         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
34760         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
34761         * modules/md2 (EXTRA_DIST): Add md2.h.
34762         * modules/md4 (EXTRA_DIST): Add md4.h.
34763         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
34764         * modules/read-file (EXTRA_DIST): Add read-file.h.
34765         * modules/readline (EXTRA_DIST): Add readline.h.
34766         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
34767         rijndael-api-fst.h.
34768
34769 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
34770
34771         * m4/rijndael.m4 (gl_ARCFOUR):
34772         * m4/arctwo.m4 (gl_ARCTWO):
34773         * m4/check-version.m4 (gl_CHECK_VERSION):
34774         * m4/crc.m4 (gl_CRC):
34775         * m4/des.m4 (gl_DES):
34776         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
34777         * m4/gc.m4 (gl_GC):
34778         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
34779         * m4/getline.m4 (gl_FUNC_GETLINE):
34780         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
34781         * m4/hmac-md5.m4 (gl_HMAC_MD5):
34782         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
34783         * m4/md2.m4 (gl_MD2):
34784         * m4/md4.m4 (gl_MD4):
34785         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
34786         * m4/read-file.m4 (gl_FUNC_READ_FILE):
34787         * m4/readline.m4 (gl_FUNC_READLINE):
34788         * m4/rijndael.m4 (gl_RIJNDAEL):
34789         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
34790         to get the necessary .h files and whatnot.
34791
34792 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
34793
34794         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
34795         gnulib rather than the other way around.
34796         * config/srclistvars.sh (COREUTILS): Remove.
34797
34798 2006-08-22  Jim Meyering  <jim@meyering.net>
34799
34800         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
34801
34802         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
34803
34804 2006-08-22  Eric Blake  <ebb9@byu.net>
34805
34806         * modules/regexprops-generic: New file.
34807         * MODULES.html.sh (Support for building documentation): List it.
34808
34809 2006-08-22  Eric Blake  <ebb9@byu.net>
34810
34811         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
34812         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
34813         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
34814         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
34815
34816 2006-08-22  Bruno Haible  <bruno@clisp.org>
34817
34818         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
34819         and lib_LTLIBRARIES like the other lib_* variables.
34820
34821 2006-08-22  Bruno Haible  <bruno@clisp.org>
34822
34823         * build-aux/x-to-1.in: New file, from GNU gettext.
34824
34825 2006-08-22  Bruno Haible  <bruno@clisp.org>
34826
34827         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
34828         <utmpx.h> exists.
34829
34830 2006-08-22  Bruno Haible  <bruno@clisp.org>
34831
34832         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
34833         <utmpx.h> exists.
34834
34835 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
34836
34837         BeOS portability.
34838         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
34839         exist.
34840         Problem reported by Bruno Haible.
34841
34842 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
34843
34844         Avoid the need for AC_LIBSOURCES in m4 macros.
34845         * modules/acl (EXTRA_DIST): Add acl.h.
34846         * modules/argmatch (Files): Add m4/argmatch.m4.
34847         (configure.ac): Add gl_ARGMATCH.
34848         (EXTRA_DIST): Renamed from lib_SOURCES, for
34849         consistency with the other modules.  Remove argmatch.c.
34850         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
34851         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
34852         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
34853         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
34854         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
34855         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
34856         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
34857         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
34858         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
34859         * modules/closeout (EXTRA_DIST): Add closeout.h.
34860         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
34861         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
34862         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
34863         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
34864         dirname.h; remove basename.c and stripslash.c.
34865         * modules/exclude (EXTRA_DIST): Add exclude.h.
34866         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
34867         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
34868         * modules/file-type (EXTRA_DIST): Add file-type.h.
34869         * modules/filemode (EXTRA_DIST): Add filemode.h.
34870         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
34871         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
34872         * modules/fpending (EXTRA_DIST): Add __fpending.h.
34873         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
34874         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
34875         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
34876         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
34877         * modules/getdate (EXTRA_DIST): Add getdate.c.
34878         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
34879         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
34880         * modules/getpass (EXTRA_DIST): Add getpass.h.
34881         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
34882         * modules/group-member (EXTRA_DIST): Add group-member.h.
34883         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
34884         * modules/hash (EXTRA_DIST): Add hash.h.
34885         * modules/human (EXTRA_DIST): Add human.h.
34886         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
34887         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
34888         * modules/lchown (EXTRA_DIST): Add lchown.h.
34889         * modules/long-options (EXTRA_DIST): Add long-options.h.
34890         * modules/lstat (EXTRA_DIST): Add lstat.h.
34891         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
34892         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
34893         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
34894         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
34895         * modules/memxor (EXTRA_DIST): Add memxor.h.
34896         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
34897         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
34898         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
34899         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
34900         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
34901         * modules/physmem (EXTRA_DIST): Add physmem.h.
34902         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
34903         * modules/posixver (EXTRA_DIST): Add posixver.h.
34904         * modules/quote (EXTRA_DIST): Add quote.h.
34905         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
34906         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
34907         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
34908         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
34909         regex_internal.h regexec.c.
34910         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
34911         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
34912         * modules/same (EXTRA_DIST): Add same.h.
34913         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
34914         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
34915         * modules/savedir (EXTRA_DIST): Add savedir.h.
34916         * modules/sha1 (EXTRA_DIST): Add sha1.h.
34917         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
34918         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
34919         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
34920         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
34921         * modules/strdup (EXTRA_DIST): Add strdup.h.
34922         * modules/strftime (EXTRA_DIST): Add strftime.h.
34923         * modules/strndup (EXTRA_DIST): Add strndup.h.
34924         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
34925         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
34926         * modules/time_r (EXTRA_DIST): Add time_r.h.
34927         * modules/timespec (EXTRA_DIST): Add timespec.h.
34928         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
34929         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
34930         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
34931         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
34932         * modules/userspec (EXTRA_DIST): Add userspec.h.
34933         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
34934         * modules/utimens (EXTRA_DIST): Add utimens.h.
34935         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
34936         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
34937         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
34938         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
34939         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
34940         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
34941         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
34942         * modules/yesno (EXTRA_DIST): Add yesno.h.
34943
34944 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
34945
34946         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
34947
34948         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
34949         * m4/dev-ino.m4, same-inode.m4: Remove.
34950
34951         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
34952         * m4/acl.m4 (AC_FUNC_ACL):
34953         * m4/backupfile.m4 (gl_BACKUPFILE):
34954         * m4/c-strtod.m4 (gl_C99_STRTOLD):
34955         * m4/canon-host.m4 (gl_CANON_HOST):
34956         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
34957         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
34958         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
34959         * m4/cloexec.m4 (gl_CLOEXEC):
34960         * m4/close-stream.m4 (gl_CLOSE_STREAM):
34961         * m4/closeout.m4 (gl_CLOSEOUT):
34962         * m4/dirfd.m4 (gl_FUNC_DIRFD):
34963         * m4/dirname.m4 (gl_DIRNAME):
34964         * m4/exclude.m4 (gl_EXCLUDE):
34965         * m4/exitfail.m4 (gl_EXITFAIL):
34966         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
34967         * m4/file-type.m4 (gl_FILE_TYPE):
34968         * m4/filemode.m4 (gl_FILEMODE):
34969         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
34970         * m4/fpending.m4 (gl_FUNC_FPENDING):
34971         * m4/fprintftime.m4 (gl_FPRINTFTIME):
34972         * m4/fts.m4 (gl_FUNC_FTS):
34973         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
34974         * m4/getdate.m4 (gl_GETDATE):
34975         * m4/gethrxtime.m4 (gl_GETHRXTIME):
34976         * m4/getpagesize.m4 (gl_GETPAGESIZE):
34977         * m4/getpass.m4 (gl_FUNC_GETPASS):
34978         * m4/gettime.m4 (gl_GETTIME):
34979         * m4/getugroups.m4 (gl_GETUGROUPS):
34980         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
34981         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
34982         * m4/hard-locale.m4 (gl_HARD_LOCALE):
34983         * m4/hash.m4 (gl_HASH):
34984         * m4/idcache.m4 (gl_IDCACHE):
34985         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
34986         * m4/lchown.m4 (gl_FUNC_LCHOWN):
34987         * m4/long-options.m4 (gl_LONG_OPTIONS):
34988         * m4/lstat.m4 (gl_FUNC_LSTAT):
34989         * m4/md5.m4 (gl_MD5):
34990         * m4/memcasecmp.m4 (gl_MEMCASECMP):
34991         * m4/memcoll.m4 (gl_MEMCOLL):
34992         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
34993         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
34994         * m4/memxor.m4 (gl_MEMXOR):
34995         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
34996         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
34997         * m4/modechange.m4 (gl_MODECHANGE):
34998         * m4/mountlist.m4 (gl_MOUNTLIST):
34999         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
35000         * m4/openat.m4 (gl_FUNC_OPENAT):
35001         * m4/pathmax.m4 (gl_PATHMAX):
35002         * m4/physmem.m4 (gl_PHYSMEM):
35003         * m4/posixtm.m4 (gl_POSIXTM):
35004         * m4/posixver.m4 (gl_POSIXVER):
35005         * m4/quote.m4 (gl_QUOTE):
35006         * m4/quotearg.m4 (gl_QUOTEARG):
35007         * m4/readtokens.m4 (gl_READTOKENS):
35008         * m4/readutmp.m4 (gl_READUTMP):
35009         * m4/regex.m4 (gl_REGEX):
35010         * m4/safe-read.m4 (gl_SAFE_READ):
35011         * m4/safe-write.m4 (gl_SAFE_WRITE):
35012         * m4/same.m4 (gl_SAME):
35013         * m4/save-cwd.m4 (gl_SAVE_CWD):
35014         * m4/savedir.m4 (gl_SAVEDIR):
35015         * m4/settime.m4 (gl_SETTIME):
35016         * m4/sha1.m4 (gl_SHA1):
35017         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
35018         * m4/stat-macros.m4 (gl_STAT_MACROS):
35019         * m4/stat-time.m4 (gl_STAT_TIME):
35020         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
35021         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
35022         * m4/strdup.m4 (gl_FUNC_STRDUP):
35023         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
35024         * m4/strndup.m4 (gl_FUNC_STRNDUP):
35025         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
35026         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
35027         * m4/time_r.m4 (gl_TIME_R):
35028         * m4/timespec.m4 (gl_TIMESPEC):
35029         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
35030         * m4/unlinkdir.m4 (gl_UNLINKDIR):
35031         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
35032         * m4/userspec.m4 (gl_USERSPEC):
35033         * m4/utimecmp.m4 (gl_UTIMECMP):
35034         * m4/utimens.m4 (gl_UTIMENS):
35035         * m4/xalloc.m4 (gl_XALLOC):
35036         * m4/xgetcwd.m4 (gl_XGETCWD):
35037         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
35038         * m4/xreadlink.m4 (gl_XREADLINK):
35039         * m4/xstrtod.m4 (gl_XSTRTOD):
35040         * m4/yesno.m4 (gl_YESNO):
35041         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
35042         to get the necessary .h files and whatnot.
35043
35044 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
35045             Bruno Haible  <bruno@clisp.org>
35046
35047         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
35048         /bin/sh understanding of '!' conditional negation.
35049
35050 2006-08-21  Jim Meyering  <jim@meyering.net>
35051
35052         * modules/openat (Depends-on): Really alphabetize.
35053
35054         * modules/acl (Depends-on): Add error and quote.
35055
35056         * check-module (find_included_lib_files): Add at-func.c to the
35057         ok-to-include-more-than-once white list.
35058
35059         * modules/openat (Depends-on): Add lstat.  Alphabetize.
35060
35061 2006-08-21  Bruno Haible  <bruno@clisp.org>
35062
35063         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
35064         Emit a pkgdata_DATA variable only if some snippets add contents to it.
35065         Reported by Martin Lambers <marlam@marlam.de>.
35066
35067 2006-08-21  Bruno Haible  <bruno@clisp.org>
35068
35069         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
35070         specify an installation location, don't emit a noinst_LIBRARIES or
35071         noinst_LTLIBRARIES assignment.
35072
35073 2006-08-21  Bruno Haible  <bruno@clisp.org>
35074
35075         BeOS portability.
35076         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
35077         BeOS has mbrtowc() but no <wctype.h>.
35078
35079 2006-08-21  Bruno Haible  <bruno@clisp.org>
35080
35081         BeOS portability.
35082         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
35083         exist.
35084
35085 2006-08-21  Bruno Haible  <bruno@clisp.org>
35086
35087         BeOS portability.
35088         * lib/mbchar.h: Include <wctype.h> only if it exists.
35089
35090 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
35091
35092         Remove files that are no longer needed by their respective modules.
35093         * m4/obstack.m4: Remove.
35094         * m4/strerror_r.m4: Remove.
35095         * m4/uint32_t.m4: Remove.
35096         * m4/uintptr_t.m4: Remove.
35097         * m4/ullong_max.m4: Remove.
35098         * m4/xstrtoimax.m4: Remove.
35099         * m4/xstrtoumax.m4: Remove.
35100
35101         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
35102         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
35103         dependencies now capture this.
35104
35105         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
35106         Do not use AC_LIBSOURCES, since gnulib modules now do this.
35107         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
35108         * m4/human.m4 (gl_HUMAN): Likewise.
35109         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
35110         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
35111
35112         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
35113
35114         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
35115         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
35116         stdint.
35117         * m4/human.m4 (gl_HUMAN): Likewise.
35118         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
35119         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
35120         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
35121         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
35122         * m4/xstrtol (gl_XSTRTOL): Likewise.
35123
35124         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
35125         AC_TYPE_LONG_LONG_INT.
35126         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
35127         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
35128         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
35129         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
35130
35131         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
35132         on stdbool.
35133
35134         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
35135         (gl_PREREQ_XSTRTOUL): Remove.
35136
35137         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
35138
35139         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
35140         mode.
35141
35142 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
35143
35144         Add and change modules to make it easier for coreutils to use
35145         gnulib-tool.
35146         * modules/backupfile (Files): Remove m4/d-ino.m4.
35147         (Depends-on): Add d-ino.
35148         * modules/cycle-check (Depends-on): Add stdint.
35149         (lib_SOURCES): Add cycle-check.h.
35150         * modules/d-ino: New module.
35151         * modules/d-type: New module.
35152         * modules/error (Files): Remove m4/strerror_r.m4.
35153         * modules/filemode (Files): Add m4/st_dm_mode.m4.
35154         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
35155         m4/inttypes_h.m4, m4/uintmax_t.m4.
35156         (Depends-on): Add stdint.
35157         (lib_SOURCES): Add fsusage.h.
35158         * modules/getcwd (Files): Remove d-ino.m4.
35159         (Depends-on): Add d-ino.
35160         * modules/getndelim2 (Depends-on): Add stdint.
35161         * modules/glob (Files): Remove m4/d-type.m4.
35162         (Depends-on): Add d-type.
35163         * modules/host-os: New module.
35164         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
35165         m4/inttypes_h.m4, m4/uintmax_t.m4.
35166         * Depends-on: Add stdint.
35167         (lib_SOURCES): Add human.h.
35168         * modules/inttostr (Files): Remove m4/intmax_t.m4,
35169         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
35170         m4/uintmax_t.m4, m4/ulonglong.m4.
35171         (Depends-on): Add stdint.
35172         (EXTRA_DIST): Add inttostr.h.
35173         * modules/lchmod: New module.
35174         * modules/link-follow: New module.
35175         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
35176         (Depends-on): Add lchmod.
35177         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
35178         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
35179         (Depends-on): Add stdint.
35180         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
35181         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
35182         (Depends-on): Add stdint.
35183         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
35184         * modules/perl: New module.
35185         * modules/regex (Depends-on): Add stdint.
35186         * modules/rmdir-errno: New module.
35187         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
35188         m4/intmax_t.m4.
35189         (Depends-on): Add stdint.
35190         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
35191         m4/uintmax_t.m4.
35192         (Depends-on): Add stdint.
35193         * modules/unlink-busy: New module.
35194         * modules/utimecmp (Depends-on): Add stdint.
35195         * modules/uptime: New module.
35196         * modules/winsz-ioctl: New module.
35197         * modules/winsz-termios: New module.
35198         * modules/xnanosleep (Depends-on): Add nanosleep.
35199         * modules/ullong_max: Remove.
35200         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
35201         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
35202         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
35203         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
35204         (Depends-on): Add inttypes.
35205         (lib_SOURCES): Add xstrtol.h.
35206         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
35207         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
35208         * MODULES.html.sh: Move 'assert' into the assert section.
35209         Move 'dummy' into the linking section.
35210         Remove ullong_max.
35211         Add section for compatibility checks for POSIX:2001 functions,
35212         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
35213         winsz-ioctl, and winsz-termios into it.
35214         Add lchmod.
35215         Add top-level Misc section and put host-os, perl, and uptime
35216         into it.
35217
35218 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
35219
35220         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
35221         now assume the stdint module.  Do not include inttypes.h.
35222         * lib/fsusage.h: Likewise.
35223         * lib/getndelim2.c: Likewise.
35224         * lib/human.h: Likewise.
35225         * lib/inttostr.h: Likewise.
35226         * lib/obstack.c: Likewise.
35227         * lib/regex_internal.h: Likewise.
35228         * lib/tempname.c: Likewise.
35229         * lib/utimecmp.c: Likewise.
35230         * lib/xstrtol.h: Likewise.
35231
35232         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
35233
35234         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
35235         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
35236         * lib/xtime.h: Likewise.
35237
35238 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
35239
35240         * modules/openat (Files): Add lib/fchmodat.c.
35241         Fixes problem reported by Jay Youngman.
35242
35243 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
35244
35245         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
35246         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
35247
35248 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
35249             Bruno Haible  <bruno@clisp.org>
35250
35251         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
35252         and is a script that invokes bison. Tighten the code. Add comments.
35253
35254 2006-08-18  Jim Meyering  <jim@meyering.net>
35255
35256         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
35257         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
35258         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
35259         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
35260
35261 2006-08-18  Bruno Haible  <bruno@clisp.org>
35262
35263         * modules/bison-i18n: New file.
35264         * MODULES.html.sh (Internationalization functions): Add it.
35265
35266 2006-08-18  Bruno Haible  <bruno@clisp.org>
35267
35268         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
35269         sys/statvfs.h. When getmntinfo was found, check its declaration and
35270         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
35271
35272 2006-08-18  Bruno Haible  <bruno@clisp.org>
35273
35274         * m4/bison-i18n.m4: New file, from bison.
35275
35276 2006-08-18  Bruno Haible  <bruno@clisp.org>
35277
35278         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
35279         (ME_DUMMY): Treat "kernfs" as a dummy.
35280         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
35281
35282 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
35283
35284         Update from coreutils.
35285
35286         2006-08-15  Jim Meyering  <jim@meyering.net>
35287
35288         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
35289
35290         2006-01-17  Jim Meyering  <jim@meyering.net>
35291
35292         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
35293
35294         2006-01-11  Jim Meyering  <jim@meyering.net>
35295
35296         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
35297         Check for the lchmod function.
35298
35299 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
35300
35301         Update from coreutils.
35302
35303         * lib/__fpending.h: Add copyright notice.
35304         * lib/fprintftime.h: Likewise.
35305         * lib/savedir.c: Use (C) in copyright notice.
35306         * lib/savedir.h: Likewise.
35307
35308         2006-08-15  Jim Meyering  <jim@meyering.net>
35309
35310         * lib/at-func.c: New file, with the logic of all emulated at-functions.
35311         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
35312         in support of the EXPECTED_ERRNO macro.
35313         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
35314         definitions.  Instead, define the appropriate symbols and include
35315         "at-func.c".
35316         * lib/mkdirat.c (mkdirat): Likewise.
35317         * lib/fchmodat.c (fchmodat): Likewise.
35318         (ENOSYS): Remove definition.
35319         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
35320         it.  Don't include "unistd--.h" -- it wasn't ever used.
35321
35322         2006-01-17  Jim Meyering  <jim@meyering.net>
35323
35324         Rewrite fts.c not to change the current working directory,
35325         by using openat, fstatat, fdopendir, etc..
35326
35327         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
35328         (HAVE_OPENAT_SUPPORT): Define.
35329         [_LIBC] (fchdir): Don't undef or define; no longer used.
35330         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
35331         Now, this `function' always succeeds, and consumes its file descriptor
35332         parameter -- so callers must not close such FDs.  Update callers.
35333         (diropen_fd, opendirat, cwd_advance_fd): New functions.
35334         (diropen): Add parameter, SP.  Adjust all callers.
35335         Implement using diropen_fd, rather than open.
35336         (fts_open): Initialize new member, fts_cwd_fd.
35337         Remove fts_rft-setting code.
35338         (fts_close): Close fts_cwd_fd, if necessary.
35339         (__opendir2): Define in terms of opendir or opendirat,
35340         depending on whether the FST_NOCHDIR flag is set.
35341         (fts_build): Since fts_safe_changedir consumes its FD, and since
35342         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
35343         and close the dup'd file descriptor upon failure.
35344         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
35345         (fts_safe_changedir): Tweak semantics to reflect that this function
35346         now calls cwd_advance_fd and hence consumes its FD argument.
35347         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
35348         [struct FTS] (fts_rft): Remove now-unused member.
35349         [struct FTS] (fts_cycle.state): Improve comment.
35350
35351         * lib/openat.c (openat_needs_fchdir): New function.
35352         * lib/openat.h (openat_needs_fchdir): Declare it.
35353
35354 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
35355
35356         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
35357         Problem and fix reported by Pádraig Brady in
35358         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
35359
35360 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
35361
35362         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
35363
35364 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
35365
35366         * lib/memcoll.c (memcoll): Optimize for the common case where the
35367         arguments are bytewise equal.
35368
35369 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
35370
35371         * doc/regexprops-generic.texi: Add a copyright notice.
35372
35373 2006-08-15  Bruno Haible  <bruno@clisp.org>
35374
35375         * modules/tmpdir (License): Change to LGPL.
35376
35377 2006-08-15  Bruno Haible  <bruno@clisp.org>
35378
35379         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
35380         module.
35381
35382 2006-08-14  Simon Josefsson  <jas@extundo.com>
35383
35384         * config/srclist.txt: Add gnupload.
35385
35386 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
35387
35388         Change copyright notice from LGPL 2 to GPL 2, since that's the
35389         standard form used in the gnulib repository.
35390         * tests/test-lock.c: Likewise.
35391         * tests/test-stdint.c: Likewise.
35392         * tests/test-tls.c: Likewise.
35393
35394         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
35395         prelude-manager.  User shorter URLs for GNU projects, without '?'.
35396         Add copyright notice.
35397
35398         * check-module: Add copyright notice.  Output a copyright
35399         notice if "--version" is specified.
35400         * modules/COPYING: New file.
35401         * tests/test-getaddrinfo.c: Add copyright notice.
35402         * tests/test-verify.c: Likewise.
35403
35404 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
35405
35406         Change copyright notice from LGPL 2 to GPL 2, since that's the
35407         standard form used in the gnulib repository.
35408         * lib/lock.c: LGPL -> GPL.
35409         * lib/lock.h: Likewise.
35410         * lib/strnlen1.c: Likewise.
35411         * lib/strnlen1.h: Likewise.
35412         * lib/tls.c: Likewise.
35413         * lib/tls.h: Likewise.
35414         * lib/tmpdir.c: Likewise.
35415
35416         * lib/TODO: Remove; this belongs only in coreutils.
35417
35418 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
35419
35420         Add copyright notices to long-enough files that lack them, since
35421         otherwise the files aren't clearly free.  Use the same notice that
35422         getdate.texi already uses.
35423         * doc/alloca-opt.texi: Add copyright notice.
35424         * doc/alloca.texi: Likewise.
35425         * doc/ctime.texi: Likewise.
35426         * doc/functions.texi: Likewise.
35427         * doc/gcd.texi: Likewise.
35428         * doc/gnulib-tool.texi: Likewise.
35429         * doc/inet_ntoa.texi: Likewise.
35430         * doc/visibility.texi: Likewise.
35431
35432         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
35433         * doc/quote.texi: Add copyright notice.
35434
35435         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
35436         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
35437         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
35438         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
35439         is now obsolete, and give a pointer to the Sun list.
35440         Add copyright notice.
35441
35442 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
35443
35444         * config/srclistvars.sh: Add copyright notice.
35445
35446 2006-08-14  Eric Blake  <ebb9@byu.net>
35447
35448         Import the following change from libc:
35449
35450         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
35451
35452         Upstream bug 2997.
35453         * lib/misc/error.c: Add space between program name and message if file
35454         name is missing.
35455
35456 2006-08-12  Karl Berry  <karl@gnu.org>
35457
35458         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
35459         remove, these originate in gnulib now.
35460
35461 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35462
35463         * doc/Makefile (standards.info standards.html standards.dvi):
35464         Also depend on make-stds.texi.
35465
35466 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
35467
35468         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
35469         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
35470
35471         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
35472         in wchar_t.  Problem reported by Eric Blake.
35473
35474         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
35475         LEN is smaller than SIZE.  Suggested by Bruno Haible.
35476         Also, help the compiler to keep LEN in a register.
35477
35478 2006-08-11  Eric Blake  <ebb9@byu.net>
35479
35480         * users.txt: Sort.  Add tar.
35481
35482 2006-08-11  Bruno Haible  <bruno@clisp.org>
35483
35484         * users.txt: New file.
35485
35486 2006-08-11  Bruno Haible  <bruno@clisp.org>
35487
35488         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
35489         before <wchar.h>. Needed for OSF/1 and BSD/OS.
35490
35491 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
35492
35493         * modules/snprintf (Depends-on): Remove minmax.
35494         (Maintainer): Add self and Bruno.
35495
35496 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
35497
35498         * lib/.cppi-disable: Add snprintf.h, socket_.h.
35499         * lib/snprintf.c: Include <errno.h> and <limits.h>.
35500         (EOVERFLOW): Define if the system does not.
35501         Do not include "minmax.h"; it wasn't used.
35502         (snprintf): Don't assume size_t promotes to an unsigned type.
35503         Fix bug when generated string was too long for the buffer: the
35504         buffer's contents are supposed to be the initial prefix of the
35505         output.  Don't assume vasnprintf returns EOVERFLOW if the size
35506         exceeds INT_MAX; do the check ourselves.
35507
35508         Import the following changes from libc:
35509
35510         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
35511
35512         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
35513         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
35514         set wc to the byte which couldn't be converted.
35515         (re_string_reconstruct): Don't clear valid_raw_len before calling
35516         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
35517         tip_context using re_string_context_at.
35518
35519         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
35520
35521         * lib/posix/regex.h: g++ still cannot handled [restrict].
35522
35523         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
35524
35525         * lib/posix/regex.h: Remove special handling for VMS.
35526
35527 2006-08-10  Jim Meyering  <jim@meyering.net>
35528
35529         * modules/same-inode: New module.
35530         * modules/dev-ino: New module.
35531         * modules/cycle-check: Depend on these modules, rather than simply
35532         including their .h files.
35533         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
35534         required via m4/cycle-check.m4.
35535         * modules/same: Depend on new same-inode module, rather than
35536         including same-inode.h.
35537         * modules/chdir-safer: New file.
35538
35539         * modules/chown (Depends-on): Add stat-macros.
35540
35541 2006-08-10  Jim Meyering  <jim@meyering.net>
35542
35543         * m4/cycle-check.m4: New file.
35544         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
35545         * m4/dev-ino.m4, m4/same-inode.m4: New files.
35546
35547 2006-08-10  Eric Blake  <ebb9@byu.net>
35548
35549         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
35550         in from original proposal.
35551
35552 2006-08-10  Eric Blake  <ebb9@byu.net>
35553         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
35554
35555         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
35556         namespace.
35557
35558 2006-08-10  Bruno Haible  <bruno@clisp.org>
35559
35560         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
35561         as well.
35562
35563 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
35564
35565         Sync from coreutils.
35566
35567         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
35568
35569         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
35570         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
35571
35572 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
35573
35574         * modules/restrict: Remove; no longer needed now that we assume
35575         Autoconf 2.59 or later.
35576         * MODULES.html.sh: Remove 'restrict'.
35577         * modules/argp (Depends-on): Remove 'restrict'.
35578         * modules/base64 (Depends-on): Likewise.
35579         * modules/gc (Depends-on): Likewise.
35580         * modules/getaddrinfo (Depends-on): Likewise.
35581         * modules/glob (Depends-on): Likewise.
35582         * modules/inet_ntop (Depends-on): Likewise.
35583         * modules/inet_pton (Depends-on): Likewise.
35584         * modules/memxor (Depends-on): Likewise.
35585         * modules/regex (Depends-on): Likewise.
35586         * modules/strtok_r (Depends-on): Likewise.
35587         * modules/time_r (Depends-on): Likewise.
35588
35589 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
35590
35591         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
35592         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
35593         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
35594         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
35595         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
35596         * m4/memxor.m4 (gl_MEMXOR): Likewise.
35597         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
35598         gl_C_RESTRICT replaced by AC_C_RESTRICT.
35599
35600         Merge from coreutils.
35601         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
35602         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
35603         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
35604         * m4/time_r.m4 (gl_TIME_R): Likewise.
35605
35606 2006-08-09  Karl Berry  <karl@gnu.org>
35607
35608         * config/srclist.txt: no more gettext-tools, per Bruno.
35609
35610 2006-08-08  Eric Blake  <ebb9@byu.net>
35611
35612         * modules/verror: New module.
35613         * MODULES.html.sh: Document it.
35614
35615 2006-08-08  Eric Blake  <ebb9@byu.net>
35616
35617         * lib/verror.h, lib/verror.c: New files.
35618
35619 2006-08-08  Eric Blake  <ebb9@byu.net>
35620
35621         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
35622         verror_at_line output complies with GNU Coding Standards even when
35623         file is NULL.
35624
35625 2006-08-07  Bruno Haible  <bruno@clisp.org>
35626
35627         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
35628         versions of AIX.
35629         Reported by Ralf Wildenhues.
35630
35631 2006-08-07  Bruno Haible  <bruno@clisp.org>
35632
35633         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
35634         in an AC_DEFUN. Needed so that the autoconf snippets can use
35635         AC_REQUIRE.
35636
35637 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35638
35639         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
35640         Initialize pkgdata_DATA.
35641         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
35642         overriding it.
35643
35644 2006-08-06  Eric Blake  <ebb9@byu.net>
35645
35646         * lib/error.h: Fold in some upstream changes from glibc.
35647         * lib/error.c: Likewise.
35648
35649 2006-08-04  Bruno Haible  <bruno@clisp.org>
35650
35651         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
35652         Make the mostlyclean-local rule depend on mostlyclean-generic.
35653         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
35654
35655 2006-07-31  Bruno Haible  <bruno@clisp.org>
35656
35657         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
35658         <stdlib.h>, <string.h>.
35659
35660 2006-07-30  Bruno Haible  <bruno@clisp.org>
35661
35662         * modules/readlink (License): Change to LGPL.
35663
35664 2006-07-30  Bruno Haible  <bruno@clisp.org>
35665
35666         * modules/javaversion (Makefile.am): Distribute javaversion.java and
35667         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
35668         set PKGDATADIR to point to it.
35669
35670 2006-07-30  Bruno Haible  <bruno@clisp.org>
35671
35672         * modules/csharpexec (configure.ac): Comment out macro invocation.
35673         * modules/javaexec (configure.ac): Likewise.
35674         * modules/javacomp-script (configure.ac): Likewise.
35675
35676         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
35677
35678 2006-07-30  Bruno Haible  <bruno@clisp.org>
35679
35680         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
35681         linked-list.
35682
35683 2006-07-30  Bruno Haible  <bruno@clisp.org>
35684
35685         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
35686
35687 2006-07-30  Bruno Haible  <bruno@clisp.org>
35688
35689         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
35690         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
35691         get removed.
35692
35693 2006-07-29  Bruno Haible  <bruno@clisp.org>
35694
35695         Make it possible for gnulib-tool to work with locally modified or
35696         augmented gnulib repositories.
35697         * gnulib-tool (func_usage): Document --local-dir option.
35698         (local_gnulib_dir): New variable.
35699         Handle --local-dir option.
35700         (func_lookup_file): New function.
35701         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
35702         (func_get_description, func_get_filelist, func_get_description,
35703         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
35704         func_get_automake_snippet, func_get_include_directive,
35705         func_get_license, func_get_maintainer): Use func_lookup_file.
35706         (func_import, func_create_testdir): Use func_lookup_file.
35707
35708 2006-07-29  Bruno Haible  <bruno@clisp.org>
35709
35710         * modules/setenv (Depends-on): Add unistd.
35711
35712 2006-07-29  Bruno Haible  <bruno@clisp.org>
35713
35714         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
35715
35716 2006-07-29  Bruno Haible  <bruno@clisp.org>
35717
35718         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
35719
35720 2006-07-29  Bruno Haible  <bruno@clisp.org>
35721
35722         * gnulib-tool (import, update): If there is no Makefile.am, look at
35723         aclocal.m4, instead of bailing out.
35724
35725 2006-07-29  Bruno Haible  <bruno@clisp.org>
35726
35727         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
35728         Categorize the options by when they are useful.
35729
35730 2006-07-29  Bruno Haible  <bruno@clisp.org>
35731
35732         * gnulib-tool (func_usage): Document option --no-libtool.
35733         Handle option --no-libtool.
35734         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
35735         for changed semantics of $libtool variable.
35736         (func_import): Likewise. If libtool is not used, show this through
35737         an option --no-libtool.
35738         (func_create_testdir): Update.
35739
35740 2006-07-29  Bruno Haible  <bruno@clisp.org>
35741
35742         * gnulib-tool (func_import): Extend error message about missing
35743         --doc-base.
35744
35745 2006-07-29  Bruno Haible  <bruno@clisp.org>
35746
35747         * gnulib-tool (func_import): Don't create the $docbase directory if
35748         there is no file to store there.
35749
35750 2006-07-29  Bruno Haible  <bruno@clisp.org>
35751
35752         * gnulib-tool (autoconf_minversion): If a --dir option is given and
35753         relevant, look for configure.ac there, not in the current directory.
35754         Also use a simple search for AC_PREREQ, not "autoconf --trace".
35755
35756 2006-07-29  Bruno Haible  <bruno@clisp.org>
35757
35758         * gnulib-tool (SORT): New variable.
35759         (func_usage): Undocument --assume-autoconf option.
35760         Remove --assume-autoconf option handling.
35761         (autoconf_minversion): Determine from the contents of configure.ac.
35762         (func_import): Remove autoconf_minversion handling.
35763         Suggested by Eric Blake.
35764
35765 2006-07-29  Bruno Haible  <bruno@clisp.org>
35766
35767         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
35768
35769 2006-07-29  Bruno Haible  <bruno@clisp.org>
35770
35771         * config/srclist.txt (*setenv.[ch]): Remove rules.
35772
35773 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35774
35775         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
35776
35777 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35778
35779         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
35780         arpa/inet.h.
35781
35782 2006-07-28  Simon Josefsson  <jas@extundo.com>
35783
35784         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
35785         * modules/inet_pton (Depends-on): Likewise.
35786
35787 2006-07-28  Simon Josefsson  <jas@extundo.com>
35788
35789         * m4/netinet_in_h.m4: New file.
35790
35791 2006-07-28  Simon Josefsson  <jas@extundo.com>
35792
35793         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
35794         #include's.
35795
35796 2006-07-28  Simon Josefsson  <jas@extundo.com>
35797
35798         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
35799         #include's.
35800
35801 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
35802
35803         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
35804         setgid on directories only if they set these bits.
35805         * lib/modechange.h: Remove obsolete comment about masks.
35806
35807 2006-07-28  Eric Blake  <ebb9@byu.net>
35808
35809         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
35810         macro expansion.
35811
35812 2006-07-28  Bruno Haible  <bruno@clisp.org>
35813
35814         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
35815
35816 2006-07-28  Bruno Haible  <bruno@clisp.org>
35817
35818         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
35819
35820 2006-07-28  Bruno Haible  <bruno@clisp.org>
35821
35822         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
35823         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
35824         Define fallbacks.
35825         Avoids link error on FreeBSD 4.x.
35826         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
35827
35828         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
35829         encoding.
35830         * lib/mbswidth.c (iswcntrl): Likewise.
35831
35832 2006-07-27  Bruno Haible  <bruno@clisp.org>
35833
35834         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
35835         test.
35836
35837 2006-07-27  Bruno Haible  <bruno@clisp.org>
35838
35839         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
35840         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
35841         defined.
35842
35843 2006-07-26  Eric Blake  <ebb9@byu.net>
35844
35845         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
35846
35847 2006-07-26  Eric Blake  <ebb9@byu.net>
35848
35849         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
35850         like mingw that lack mkstemp.
35851         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
35852         avoid compilation warning on mingw.
35853
35854 2006-07-26  Bruno Haible  <bruno@clisp.org>
35855
35856         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
35857         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
35858         INT_FAST*_MIN, INTPTR_MIN.
35859
35860 2006-07-25  Bruno Haible  <bruno@clisp.org>
35861
35862         * modules/version-etc (Depends-on): Add stdarg.
35863
35864 2006-07-25  Bruno Haible  <bruno@clisp.org>
35865
35866         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
35867         complex commands.
35868
35869 2006-07-25  Bruno Haible  <bruno@clisp.org>
35870
35871         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
35872         defined in <stdarg.h> or config.h.
35873
35874 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
35875
35876         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
35877         (gl_STDIO_SAFER): Remove.
35878
35879 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
35880
35881         * MODULES.html.sh (File stream based Input/Output):
35882         Add fopen-safer, tmpfile-safer; remove stdio-safer.
35883         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
35884         * modules/fopen-safer, modules/tmpfile-safer: New files.
35885         * modules/stdio-safer: Remove.
35886
35887 2006-07-24  Bruno Haible  <bruno@clisp.org>
35888
35889         * modules/tmpdir: New file.
35890         * MODULES.html.sh (File system functions): Add it.
35891
35892 2006-07-24  Bruno Haible  <bruno@clisp.org>
35893
35894         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
35895         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
35896
35897 2006-07-24  Bruno Haible  <bruno@clisp.org>
35898
35899         * modules/clean-temp: New file.
35900
35901 2006-07-24  Bruno Haible  <bruno@clisp.org>
35902
35903         * m4/tmpdir.m4: New file, from GNU gettext.
35904
35905 2006-07-24  Bruno Haible  <bruno@clisp.org>
35906
35907         * lib/tmpdir.h: New file, from GNU gettext.
35908         * lib/tmpdir.c: New file, from GNU gettext.
35909
35910 2006-07-24  Bruno Haible  <bruno@clisp.org>
35911
35912         * lib/clean-temp.h: New file, from GNU gettext.
35913         * lib/clean-temp.c: New file, from GNU gettext.
35914
35915 2006-07-23  Eric Blake  <ebb9@byu.net>
35916
35917         * modules/stdio-safer (Files): Add tmpfile-safer.c.
35918         (Depends-on): Add binary-io.
35919
35920 2006-07-23  Eric Blake  <ebb9@byu.net>
35921
35922         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
35923
35924 2006-07-23  Eric Blake  <ebb9@byu.net>
35925
35926         * lib/tmpfile-safer.c: New file.
35927         * lib/stdio-safer.h (fopen_safer): Add prototype.
35928         * lib/stdio--.h (tmpfile): Make safer.
35929
35930 2006-07-23  Bruno Haible  <bruno@clisp.org>
35931
35932         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
35933         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
35934         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
35935         gl_linked_remove_at): Use it.
35936
35937 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35938         and Simon Josefsson <jas@extundo.com>
35939
35940         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
35941
35942         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
35943
35944 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
35945
35946         * modules/close-stream: New file.
35947         * modules/closeout (Description): Make it clear that it exits
35948         with a diagnostic on error.
35949         (Depends-on): Add close-stream.  Remove fpending, stdbool.
35950         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
35951
35952 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
35953
35954         * m4/close-stream.m4: New file.
35955
35956 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
35957
35958         * lib/close-stream.c, lib/close-stream.h: New files.
35959
35960 2006-07-22  Bruno Haible  <bruno@clisp.org>
35961
35962         Merge from GNU gettext 0.15.
35963
35964         2006-05-01  Bruno Haible  <bruno@clisp.org>
35965
35966                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
35967
35968         2006-07-22  Bruno Haible  <bruno@clisp.org>
35969
35970                 * modules/javaversion: New file.
35971                 * MODULES.html.sh (Java): Add javaversion.
35972
35973         2006-03-12  Bruno Haible  <bruno@clisp.org>
35974
35975                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
35976
35977         2005-12-04  Bruno Haible  <bruno@clisp.org>
35978
35979                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
35980                 (untested).
35981
35982         2006-06-21  Bruno Haible  <bruno@clisp.org>
35983
35984                 Avoid warnings from recent versions of mcs.
35985                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
35986                 -o, -L, -r any more. Use options documented since mcs-1.0
35987                 instead. Similarly for -g.
35988
35989         2005-12-04  Bruno Haible  <bruno@clisp.org>
35990
35991                 * build-aux/csharpcomp.sh.in: Suffix for resources is
35992                 .resources, not .resource.
35993
35994         2005-07-09  Bruno Haible  <bruno@clisp.org>
35995
35996                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
35997                 add a .dll suffix.
35998                 Reported by Mark Junker <mjscod@gmx.de>.
35999
36000         2006-07-22  Bruno Haible  <bruno@clisp.org>
36001
36002                 * modules/gettext: Upgrade to gettext-0.15.
36003                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
36004                 m4/visibility.m4.
36005                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
36006
36007 2006-07-22  Bruno Haible  <bruno@clisp.org>
36008
36009         Merge from GNU gettext 0.15.
36010
36011         2006-03-25  Bruno Haible  <bruno@clisp.org>
36012
36013                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
36014
36015         2006-07-21  Bruno Haible  <bruno@clisp.org>
36016
36017                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
36018                 "1.1".
36019
36020         2006-05-09  Bruno Haible  <bruno@clisp.org>
36021
36022                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
36023                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
36024                 for the conftestver execution.
36025
36026         2006-05-01  Bruno Haible  <bruno@clisp.org>
36027
36028                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
36029                 optional target-version argument. Verify that the compiler
36030                 groks source of the specified source-version, or add -source
36031                 option as necessary. Verify that the compiler produces
36032                 bytecode in the specified target-version, or add -target and
36033                 -source options as necessary. Make the result of the test
36034                 available as variable CONF_JAVAC. Also log error output in
36035                 config.log.
36036
36037         2006-03-11  Bruno Haible  <bruno@clisp.org>
36038
36039                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
36040
36041         2006-05-09  Bruno Haible  <bruno@clisp.org>
36042
36043                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
36044                 CLASSPATH_SEPARATOR to a semicolon.
36045
36046         2006-03-12  Bruno Haible  <bruno@clisp.org>
36047
36048                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
36049                 available as variable CONF_JAVA, for subsequent autoconf
36050                 tests. Also log error output in config.log.
36051
36052         2006-07-19  Bruno Haible  <bruno@clisp.org>
36053
36054                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
36055                 that getline works on glibc2 systems. Needed to avoid trouble
36056                 in relocatable.c.
36057                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
36058
36059         2005-12-04  Bruno Haible  <bruno@clisp.org>
36060
36061                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
36062                 launcher (untested).
36063
36064         2005-12-04  Bruno Haible  <bruno@clisp.org>
36065
36066                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
36067
36068         2006-07-22  Bruno Haible  <bruno@clisp.org>
36069
36070                 * gettext.m4: Update from GNU gettext-0.15.
36071                 * nls.m4: Likewise.
36072                 * po.m4: Likewise.
36073                 * inttypes-pri.m4: Likewise.
36074                 * inttypes-h.m4: Renamed from inttypes.m4.
36075                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
36076
36077 2006-07-22  Bruno Haible  <bruno@clisp.org>
36078
36079         Merge from GNU gettext 0.15.
36080
36081         2005-07-05  Bruno Haible  <bruno@clisp.org>
36082
36083                 * printf-args.c (printf_fetchargs): Work around broken
36084                 definition of wint_t on mingw.
36085
36086         2005-02-12  Bruno Haible  <bruno@clisp.org>
36087
36088                 * xallocsa.h: Add extern "C" for C++.
36089
36090         2006-05-17  Bruno Haible  <bruno@clisp.org>
36091
36092                 Cygwin portability.
36093                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
36094
36095         2006-04-30  Bruno Haible  <bruno@clisp.org>
36096
36097                 * progreloc.c: Include <mach-o/dyld.h> if available.
36098                 (find_executable): Use _NSGetExecutablePath when possible.
36099
36100         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
36101
36102                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
36103                 function.
36104
36105         2005-12-29  Bruno Haible  <bruno@clisp.org>
36106
36107                 * progreloc.c (set_program_name_and_installdir): Fix
36108                 compilation error.
36109
36110         2005-12-04  Bruno Haible  <bruno@clisp.org>
36111
36112                 Cygwin portability.
36113                 * progreloc.c: Include <windows.h> also on Cygwin.
36114                 (find_executable): Add support for Cygwin.
36115                 (set_program_name_and_installdir): Handle also platforms with
36116                 nonempty EXEEXT.
36117
36118         2006-07-11  Bruno Haible  <bruno@clisp.org>
36119
36120                 * javacomp.c: Fix a comment.
36121                 Reported by Jim Meyering.
36122
36123         2006-04-30  Bruno Haible  <bruno@clisp.org>
36124
36125                 * javacomp.h (compile_java_class): Add source_version,
36126                 target_version arguments.
36127                 * javacomp.c: Rewritten to choose only a compiler that
36128                 respects the specified source_version and target_version.
36129
36130         2006-06-27  Bruno Haible  <bruno@clisp.org>
36131
36132                 Assume correct S_ISDIR macro.
36133                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
36134
36135         2006-07-22  Bruno Haible  <bruno@clisp.org>
36136
36137                 * javaversion.h: New file, from GNU gettext.
36138                 * javaversion.c: New file, from GNU gettext.
36139                 * javaversion.java: New file, from GNU gettext.
36140                 * javaversion.class: New file, from GNU gettext.
36141
36142         2006-05-17  Bruno Haible  <bruno@clisp.org>
36143
36144                 Cygwin portability.
36145                 * javaexec.c (execute_java_class): Test for jview program
36146                 also on Cygwin.
36147
36148         2006-04-09  Bruno Haible  <bruno@clisp.org>
36149
36150                 * fatal-signal.c: Don't include string.h.
36151                 (at_fatal_signal): Use a copying loop instead of memcpy.
36152
36153         2005-12-04  Bruno Haible  <bruno@clisp.org>
36154
36155                 * csharpexec.c: Add support for 'clix' launcher (untested).
36156                 (execute_csharp_using_sscli): New function.
36157                 (execute_csharp_program): Call it.
36158
36159         2006-06-21  Bruno Haible  <bruno@clisp.org>
36160
36161                 Avoid warnings from recent versions of mcs.
36162                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
36163                 -o, -L, -r any more. Use options documented since mcs-1.0
36164                 instead. Similarly for -g.
36165
36166         2005-07-09  Bruno Haible  <bruno@clisp.org>
36167
36168                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
36169                 add a .dll suffix.
36170                 Reported by Mark Junker <mjscod@gmx.de>.
36171
36172         2006-06-17  Bruno Haible  <bruno@clisp.org>
36173
36174                 * config.charset: Update for NetBSD 3.0.
36175
36176         2006-05-17  Bruno Haible  <bruno@clisp.org>
36177
36178                 Cygwin portability.
36179                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
36180
36181         2006-05-16  Bruno Haible  <bruno@clisp.org>
36182
36183                 * localcharset.c [CYGWIN]: Include <windows.h>.
36184                 (get_charset_aliases): For Cygwin, return the same CPxxx
36185                 aliases list as under WIN32.
36186                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
36187                 the environment variables. Fall back to GetACP().
36188
36189         2006-04-05  Bruno Haible  <bruno@clisp.org>
36190
36191                 * config.charset: Update Juan Manuel Guerrero's address.
36192
36193         2005-02-12  Bruno Haible  <bruno@clisp.org>
36194
36195                 * allocsa.h: Add extern "C" for C++.
36196
36197         2005-02-10  Bruno Haible  <bruno@clisp.org>
36198
36199                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
36200                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
36201
36202         2006-07-22  Bruno Haible  <bruno@clisp.org>
36203
36204                 * gettext.h: Update to GNU gettext-0.15.
36205
36206 2006-07-22  Bruno Haible  <bruno@clisp.org>
36207
36208         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
36209         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
36210         lib-prefix.m4, longdouble.m4, ssize_t.m4.
36211
36212 2006-07-21  Eric Blake  <ebb9@byu.net>
36213
36214         * modules/stdlib-safer: New file.
36215         * MODULES.html.sh (File stream based Input/Output): Add
36216         stdlib-safer.
36217
36218 2006-07-21  Eric Blake  <ebb9@byu.net>
36219
36220         * lib/stdlib-safer.h: New file from coreutils, required by
36221         stdlib--.h.
36222
36223 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
36224
36225         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
36226
36227 2006-07-20  Bruno Haible  <bruno@clisp.org>
36228
36229         * gnulib-tool: Recognize new option --assume-autoconf.
36230         (autoconf_minversion): New variable.
36231         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
36232
36233 2006-07-20  Bruno Haible  <bruno@clisp.org>
36234
36235         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
36236
36237 2006-07-19  Derek R. Price  <derek@ximbiot.com>
36238
36239         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
36240         Reindent and repaginate.
36241
36242 2006-07-19  Derek Price  <derek@ximbiot.com>
36243
36244         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
36245         Correct grammar.
36246
36247 2006-07-17  Bruno Haible  <bruno@clisp.org>
36248
36249         * modules/list: New file.
36250         * modules/array-list: New file.
36251         * modules/carray-list, modules/carray-list-tests: New files.
36252         * modules/linked-list, modules/linked-list-tests: New files.
36253         * modules/avltree-list, modules/avltree-list-tests: New files.
36254         * modules/rbtree-list, modules/rbtree-list-tests: New files.
36255         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
36256         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
36257         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
36258         * modules/oset: New file.
36259         * modules/array-oset: New file.
36260         * modules/avltree-oset, modules/avltree-oset-tests: New files.
36261         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
36262         * tests/test-carray_list.c: New file.
36263         * tests/test-linked_list.c: New file.
36264         * tests/test-avltree_list.c: New file.
36265         * tests/test-rbtree_list.c: New file.
36266         * tests/test-linkedhash_list.c: New file.
36267         * tests/test-avltreehash_list.c: New file.
36268         * tests/test-rbtreehash_list.c: New file.
36269         * tests/test-avltree_oset.c: New file.
36270         * tests/test-rbtree_oset.c: New file.
36271         * MODULES.html.sh (Container data structures): New section.
36272
36273 2006-07-17  Bruno Haible  <bruno@clisp.org>
36274
36275         * m4/gl_list.m4: New file.
36276
36277 2006-07-17  Bruno Haible  <bruno@clisp.org>
36278
36279         * lib/gl_list.h: New file.
36280         * lib/gl_list.c: New file.
36281         * lib/gl_array_list.h: New file.
36282         * lib/gl_array_list.c: New file.
36283         * lib/gl_carray_list.h: New file.
36284         * lib/gl_carray_list.c: New file.
36285         * lib/gl_linked_list.h: New file.
36286         * lib/gl_linked_list.c: New file.
36287         * lib/gl_anylinked_list1.h: New file.
36288         * lib/gl_anylinked_list2.h: New file.
36289         * lib/gl_avltree_list.h: New file.
36290         * lib/gl_avltree_list.c: New file.
36291         * lib/gl_anyavltree_list1.h: New file.
36292         * lib/gl_anyavltree_list2.h: New file.
36293         * lib/gl_rbtree_list.h: New file.
36294         * lib/gl_rbtree_list.c: New file.
36295         * lib/gl_anyrbtree_list1.h: New file.
36296         * lib/gl_anyrbtree_list2.h: New file.
36297         * lib/gl_anytree_list1.h: New file.
36298         * lib/gl_anytree_list2.h: New file.
36299         * lib/gl_linkedhash_list.h: New file.
36300         * lib/gl_linkedhash_list.c: New file.
36301         * lib/gl_anyhash_list1.h: New file.
36302         * lib/gl_anyhash_list2.h: New file.
36303         * lib/gl_avltreehash_list.h: New file.
36304         * lib/gl_avltreehash_list.c: New file.
36305         * lib/gl_rbtreehash_list.h: New file.
36306         * lib/gl_rbtreehash_list.c: New file.
36307         * lib/gl_anytreehash_list1.h: New file.
36308         * lib/gl_anytreehash_list2.h: New file.
36309
36310         * lib/gl_oset.h: New file.
36311         * lib/gl_oset.c: New file.
36312         * lib/gl_array_oset.h: New file.
36313         * lib/gl_array_oset.c: New file.
36314         * lib/gl_avltree_oset.h: New file.
36315         * lib/gl_avltree_oset.c: New file.
36316         * lib/gl_rbtree_oset.h: New file.
36317         * lib/gl_rbtree_oset.c: New file.
36318         * lib/gl_anytree_oset.h: New file.
36319
36320 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
36321
36322         * m4/mkancesdirs.m4: New file.
36323         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
36324         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
36325         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
36326         it.
36327
36328 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
36329
36330         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
36331         * lib/mkancesdirs.h: New files.
36332         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
36333         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
36334         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
36335         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
36336         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
36337         callers changed.  Revamp internals significantly, by not
36338         attempting to create directories that are temporarily more
36339         permissive than the final results.  Do not attempt to use
36340         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
36341         This removes some race conditions, fixes some bugs, and simplifies
36342         things.  Use new dirchownmod function to do owner and mode changes.
36343         * lib/mkdir-p.h: Likewise.
36344         * lib/modechange.c (octal_to_mode): New function.
36345         (struct mode_change): New member mentioned.
36346         (make_node_op_equals): New arg mentioned.  All callers changed.
36347         (mode_compile): Keep track of which mode bits the user has explicitly
36348         mentioned.
36349         (mode_adjust): New arg DIR, so that we implement the X op correctly.
36350         New arg PMODE_BITS, to keep track of which mode bits the user
36351         mentioned; it treats S_ISUID and S_ISGID speciall.
36352         All callers changed.
36353         * lib/modechange.h: Likewise.
36354
36355 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
36356
36357         * MODULES.html.sh: Add mkancestors.
36358         * modules/mkancesdirs: New module.
36359         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
36360         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
36361         The chdir-safer and afs files are now orphans; I'll remove them
36362         unless someone speaks up.
36363         Add lib/dirchownmod.c, lib/dirchownmod.h.
36364         (Depends-on): Remove alloca, chown, save-cwd, dirname.
36365         Add lchown, mkancesdirs.
36366         (Maintainer): Add self.
36367
36368 2006-07-15  Karl Berry  <karl@gnu.org>
36369
36370         * gnulib-tool: help message wording/arrangement.
36371
36372 2006-07-14  Simon Josefsson  <jas@extundo.com>
36373
36374         * doc/gnulib.texi (Libtool and Windows): New section.
36375
36376 2006-07-12  Simon Josefsson  <jas@extundo.com>
36377
36378         * modules/gendocs (License): Fix license, approved by Karl.
36379
36380 2006-07-12  Eric Blake  <ebb9@byu.net>
36381
36382         * MODULES.html.sh: Add gendocs.
36383
36384 2006-07-11  Eric Blake  <ebb9@byu.net>
36385
36386         * modules/fdl: New module, to install doc/fdl.texi.
36387         * MODULES.html.sh: Add new section for documentation modules.
36388         * gnulib-tool: Avoid space-tab.
36389         (--doc-base): New option, to manage files from doc.
36390
36391 2006-07-11  Eric Blake  <ebb9@byu.net>
36392
36393         * m4/absolute-header.m4: Fix comments to match recent change.
36394
36395 2006-07-11  Eric Blake  <ebb9@byu.net>
36396
36397         * gnulib-tool: List --doc-base before --tests-base.
36398
36399 2006-07-11  Derek R. Price  <derek@ximbiot.com>
36400
36401         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
36402
36403 2006-07-11  Bruno Haible  <bruno@clisp.org>
36404
36405         * README: Mention where to put documentation.
36406
36407 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36408
36409         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
36410
36411 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
36412
36413         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
36414         to stdint.m4.
36415
36416 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
36417
36418         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
36419         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
36420         "no/such/file/stdint.h" when there is no such file, so that
36421         the resulting C code can be parsed by dodgy compilers.
36422         Problems reported by Bob Proulx.
36423
36424 2006-07-10  Derek R. Price  <derek@ximbiot.com>
36425
36426         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
36427         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
36428         macros into the GNU _D_EXACT_NAMLEN.
36429         * lib/savedir.c:  Likewise.
36430         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
36431
36432 2006-07-10  Derek R. Price  <derek@ximbiot.com>
36433         and Paul Eggert  <eggert@cs.ucla.edu>
36434
36435         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
36436         * m4/savedir.m4:
36437         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
36438         macros into the GNU _D_EXACT_NAMLEN.
36439
36440 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
36441
36442         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
36443         around the absolute name, to work around a problem with the HP-UX
36444         11.23 native C compiler, reported by Bob Proulx.
36445
36446 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
36447
36448         * doc/maintain.texi, make-stds.texi: Sync from
36449         <http://savannah.gnu.org/projects/gnustandards>.
36450
36451 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
36452
36453         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
36454
36455 2006-07-09  Jim Meyering  <jim@meyering.net>
36456
36457         * m4/glob.m4: Remove a doubled word in a comment.
36458
36459 2006-07-09  Jim Meyering  <jim@meyering.net>
36460
36461         * lib/argp-pv.c: Remove a doubled word in a comment.
36462         * lib/check-version.c (check_version): Likewise.
36463         * lib/javacomp.c (compile_java_class): Likewise.
36464
36465 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
36466
36467         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
36468         for the benefit of people using Autoconf 2.60.  If you want to
36469         support older Autoconf versions you can copy m4/onceonly_2_57.m4
36470         (or m4/onceonly.m4, if pre-2.57) manually.
36471
36472 2006-07-08  Jim Meyering  <jim@meyering.net>
36473
36474         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
36475         comment.
36476         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
36477         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
36478         comment.
36479
36480 2006-07-08  Jim Meyering  <jim@meyering.net>
36481
36482         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
36483
36484 2006-07-07  Simon Josefsson  <jas@extundo.com>
36485
36486         * tests/test-crc.c: Change expected crc value, the test vector
36487         were probably computed using the old broken crc.c?
36488
36489 2006-07-06  Simon Josefsson  <jas@extundo.com>
36490
36491         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
36492         now the canonical place for the M4 file).
36493
36494         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
36495         from the sys_socket dependency now.
36496
36497         * modules/inet_pton (Files): Ditto.
36498
36499         * modules/inet_ntop (Files): Ditto.
36500
36501 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
36502
36503         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
36504         not gl_PREREQ_GETUSERSHELL.
36505
36506 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36507
36508         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
36509         with only one argument, for Autoconf 2.60.
36510         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
36511         expand to nothing, so add a shell command to avoid syntax error.
36512         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
36513
36514 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36515
36516         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
36517
36518 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
36519
36520         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
36521         no longer needed.  Check for isblank decl.
36522         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
36523         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
36524         of existence.
36525
36526 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
36527
36528         * lib/getloadavg.c: Use __VMS, not VMS.
36529         * lib/getopt.c: Likewise.
36530         * lib/getpagesize.h: Likewise.
36531         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
36532         and probably does not work.
36533
36534 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
36535
36536         * lib/.cppi-disable: Add wcwidth.
36537         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
36538         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
36539         (ISGRAPH): Remove.  All uses changed to isgraph.
36540         (FOLD) [!defined _LIBC]: Remove special case.
36541         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
36542         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
36543         HAVE_ISBLANK.
36544         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
36545         case.
36546
36547 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
36548
36549         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
36550         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
36551         brackets.  Other minor changes to suppress some compiler
36552         warnings.
36553
36554 2006-07-06  Derek R. Price  <derek@ximbiot.com>
36555         and Paul Eggert  <eggert@cs.ucla.edu>
36556
36557         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
36558         of invoking obsolescent AC_HEADER_DIRENT macro.
36559         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
36560         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
36561         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
36562         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
36563         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
36564         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
36565         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
36566         * m4/readdir.m4: Remove; no longer needed.
36567
36568 2006-07-06  Derek R. Price  <derek@ximbiot.com>
36569         and Paul Eggert  <eggert@cs.ucla.edu>
36570
36571         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
36572         Don't worry about this obsolete case any more.
36573         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
36574         directories.
36575         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
36576         worry about this obsolete case any more.
36577         * lib/fts.c: Likewise.
36578         * lib/getcwd.c: Likewise.
36579         * lib/glob.h: Likewise.
36580         * lib/savedir.c: Likewise.
36581
36582 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
36583
36584         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
36585         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
36586         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
36587         needed.
36588         All uses removed.
36589         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
36590         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
36591         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
36592         needed.
36593         * m4/getdate.m4 (gl_GETDATE): Likewise.
36594         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
36595         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
36596         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
36597         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
36598         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
36599         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
36600         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
36601         needed.
36602
36603 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
36604
36605         * lib/memcasecmp.c: Include <limits.h>.
36606         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
36607         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
36608         Don't assume isdigit succeeds only on '0' through '9'.
36609
36610 2006-07-05  Eric Blake  <ebb9@byu.net>
36611
36612         * modules/getaddrinfo (Depends-on): Add snprintf.
36613
36614 2006-07-05  Eric Blake  <ebb9@byu.net>
36615
36616         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
36617         to avoid 'header present but could not be compiled' on cygwin.
36618
36619 2006-07-05  Eric Blake  <ebb9@byu.net>
36620
36621         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
36622         missing from netdb.h.
36623         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
36624
36625 2006-07-05  Derek R. Price  <derek@ximbiot.com>
36626
36627         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
36628         no longer needed.
36629         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
36630         * m4/getdate.m4 (gl_GETDATE): Likewise.
36631         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
36632         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
36633         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
36634         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
36635         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
36636
36637 2006-07-05  Derek R. Price  <derek@ximbiot.com>
36638
36639         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
36640         All uses of is_space replaced by isspace.
36641         * lib/exit.h: Don't talk about STDC_HEADERS.
36642         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
36643         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
36644         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
36645         replaced by isprint etc.
36646         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
36647         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
36648         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
36649         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
36650         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
36651         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
36652
36653 2006-07-05  Bruno Haible  <bruno@clisp.org>
36654
36655         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
36656         the function exists, before testing against AIX.
36657         Reported by Martin Lambers <marlam@marlam.de>.
36658
36659 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
36660
36661         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
36662         From Mark D. Baushke.
36663
36664 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
36665
36666         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
36667         to the absolute name, not just one, to bypass Sun C 5.8's
36668         "warning: #include of /usr/include/... may be non-portable".
36669
36670 2006-07-04  Eric Blake  <ebb9@byu.net>
36671
36672         * modules/dirname-tests: New test module.
36673         * tests/test-dirname.c: New file, replacing dirname.c
36674         TEST_DIRNAME section that was recently deleted.
36675
36676 2006-07-04  Bruno Haible  <bruno@clisp.org>
36677
36678         Assume ANSI C header files and <ctype.h> functions.
36679         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
36680         (mbsnwidth): Use isprint, iscntrl instead.
36681
36682 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
36683
36684         Merge from coreutils.
36685         * MODULES.html.sh: Add xstrtold.
36686         * modules/xstrtold: New file.
36687         * modules/cycle-check (Files): Add lib/same-inode.h.
36688         * modules/dirname (Files): Add m4/double-slash-root.m4.
36689         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
36690         * modules/mkdir-p (Files): Add lib/same-inode.h.
36691         * modules/same (Files): Add lib/same-inode.h.
36692
36693 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
36694
36695         * m4/absolute-header.m4: Renamed from full-header-path.m4.
36696         This is to keep the terminology clean; POSIX talks about
36697         "absolute pathnames", not "full pathnames", but the GNU
36698         Coding Standards say to use "path" for something else;
36699         so use "absolute" to keep both sides happy.
36700         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
36701         Set gl_absolute_header, not gl_full_header_path.
36702         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
36703         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
36704         All uses changed.
36705
36706         Merge from coreutils.
36707
36708         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
36709
36710         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
36711         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
36712         want to require the building of c-strtod.o.
36713         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
36714         needs -lm directly.
36715         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
36716
36717         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
36718
36719         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
36720         --as-needed option if available.  Problem reported by Albert Chin in
36721         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
36722         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
36723         cc merely issues a bunch of annoying warnings for --as-needed
36724         (this problem was reported by Bob Proulx).  Also, try linking with
36725         -lm to detect a bug in binutils 2.16 (this problem was reported
36726         by Ralf Wildenhues).
36727
36728         2006-06-18  Jim Meyering  <jim@meyering.net>
36729
36730         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
36731         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
36732         macro.
36733         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
36734         also check for glibc-2.4's abort-inducing bug.
36735
36736         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
36737         Low-probability clean-up should be to use rmdir to get rid of
36738         the just-created directory, not unlink.
36739
36740         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
36741         configure fail, and request a bug report to inform us about it.
36742         Add a comment that, barring reports to the contrary, in 2007 we'll
36743         assume ftruncate is universally available.
36744
36745         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
36746
36747         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
36748
36749         2006-03-12  Jim Meyering  <jim@meyering.net>
36750
36751         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
36752         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
36753         * m4/same.m4 (gl_SAME): Likewise.
36754         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
36755
36756         2006-03-11  Eric Blake  <ebb9@byu.net>
36757
36758         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
36759         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
36760         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
36761         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
36762
36763 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
36764
36765         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
36766         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
36767         reported by Mark D. Baushke, one in
36768         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
36769
36770         Merge from coreutils.
36771
36772         * lib/.cppi-disable: Add stdint_.h.
36773         * lib/.cvsignore: Add stdint.h.
36774
36775         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
36776
36777         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
36778         both double and long double versions.
36779         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
36780         * lib/xstrtold.c: New file.
36781         * lib/xstrtod.h (xstrtold): New decl.
36782
36783         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
36784
36785         * lib/filemode.c (setst): Remove.
36786         (strmode): Rewrite to avoid setst.  This makes the code shorter,
36787         (arguably) clearer, and the generated code is a bit smaller on my
36788         Debian GNU/Linux stable x86 host.
36789
36790         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
36791
36792         * lib/filemode.c: Include "filemode.h" first, to test the interface.
36793         Assume that filemode.h includes sys/types.h and sys/stat.h.
36794         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
36795         (ftypelet): Reorder to put common cases first, for efficiency.
36796         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
36797         to do 'M'.
36798         (strmode): Renamed from mode_string, and now stores 12 bytes instead
36799         of 10, for compatibility with FreeBSD.  All callers changed.
36800         (filemodestring): Now stores 12 bytes instead of 10, and sets file
36801         types that can't be deduced solely from st_mode.  First arg is now a
36802         const pointer.
36803         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
36804         (strmode): Renamed from mode_string.
36805         (filemodestring): New decl.
36806         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
36807         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
36808         needed.
36809         (S_ISPORT, S_ISWHT): New macros, if not already defined.
36810
36811         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
36812
36813         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
36814         fsusage.h now does that.  Include fsusage.h first, to test interface.
36815         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
36816         at most one method (the old code could have generated decls that
36817         didn't conform to C89, not that this was ever exercised).
36818         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
36819
36820         2006-03-19  Jim Meyering  <jim@meyering.net>
36821
36822         Work even in a chroot where d_ino values for entries in "/"
36823         don't match the stat.st_ino values for the same names.
36824         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
36825         number, iterate through all entries again, using lstat instead.
36826         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
36827         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
36828
36829         * lib/getcwd.c (__getcwd): Clarify a comment.
36830         Use memcpy in place of a call to strcpy.
36831
36832         2006-03-12  Jim Meyering  <jim@meyering.net>
36833
36834         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
36835         matches that of the current directory (which we're about to chdir ".."
36836         out of), then save the dev-ino of the parent, instead.
36837
36838         * lib/same-inode.h (SAME_INODE): New file/macro.
36839         * lib/chdir-safer.c (SAME_INODE): Remove definition.
36840         Include "same-inode.h", instead.
36841         * lib/same.c: Likewise.
36842         * lib/cycle-check.h: Include "same-inode.h".
36843         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
36844         * lib/cycle-check.c (SAME_INODE): Remove definition.
36845         * lib/root-dev-ino.h: Include "same-inode.h".
36846
36847         2006-03-11  Eric Blake  <ebb9@byu.net>
36848
36849         * lib/same.c (same_name): s/base_name/last_component/
36850         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
36851         * lib/filenamecat.c (file_name_concat): Likewise.
36852
36853         2006-03-11  Eric Blake  <ebb9@byu.net>,
36854                     Paul Eggert  <eggert@cs.ucla.edu>
36855
36856         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
36857         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
36858         drive prefix.
36859         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
36860         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
36861         (last_component): New method.
36862         * lib/dirname.c (dir_len): Determine when drive letters need a
36863         subsequent slash.  Preserve // when it is special.
36864         (dir_name): Don't append dot when drive letter is absolute.
36865         [TEST_DIRNAME]: Move into a full-blown gnulib test.
36866         * lib/basename.c (base_name): New semantics - malloc the result.
36867         Preserve // when it is special.  Preserve relative files that look
36868         like drive letters.
36869         (base_len): Preserve // when it is special.
36870         (last_component): New method, similar to old base_name semantics.
36871         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
36872         base_name.  Strip redundant slashes from ///.
36873
36874 2006-07-03  Jim Meyering  <jim@meyering.net>
36875
36876         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
36877         macro is used before the first cycle_check call.
36878
36879 2006-07-03  Eric Blake  <ebb9@byu.net>
36880
36881         * modules/dirname (Depends-on): Add xstrndup.
36882
36883 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
36884
36885         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
36886         test cases, so that config.log is a bit easier to follow.
36887
36888 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
36889
36890         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
36891         both are 64 bits, since this seems to be the tradition, and this
36892         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
36893         we ever run into a host that prefers long long to long in this
36894         case, we'll need another configure-time test.  Problem reported by
36895         Jim Meyering.
36896
36897 2006-07-02  Eric Blake  <ebb9@byu.net>
36898
36899         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
36900
36901 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
36902
36903         * modules/inttypes (Depends-on): No longer depends on stdint.
36904         * modules/stdint (Description): Say more about assumptions.
36905         Say that the fast types might differ.  Say macros are used.
36906         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
36907         (Makefile.am): Revise list of substituted symbols to match
36908         new stdint.m4.
36909         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
36910         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
36911         * tests/test-stdint.c (verify_same_types)
36912         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
36913         the code conforms to C99/C89.
36914         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
36915         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
36916
36917 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
36918
36919         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
36920         but fix a bug, by requiring at least 64 bits.
36921         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
36922         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
36923         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
36924         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
36925
36926         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
36927         changes.  Make 2.59 a prerequisite.  Check and substitute for
36928         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
36929         inttypes.h.  Do not use special include files; just use the
36930         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
36931         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
36932         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
36933         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
36934         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
36935         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
36936         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
36937         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
36938         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
36939         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
36940         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
36941         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
36942         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
36943         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
36944         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
36945         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
36946         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
36947         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
36948         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
36949         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
36950         WINT_MAX.  Check for C99 conformance more strictly, by detecting
36951         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
36952         not check for things that C99 does not require, e.g., int8_t.  If
36953         a test isn't needed unless <stdint.h> isn't working, and is
36954         unlikely to be needed for any other reason, then don't do it
36955         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
36956         size_t, since we assume C89 freestanding at least.  Do not check
36957         for sig_atomic_t, wchar_t, or wint_t, since the code now does
36958         the right thing even if the types are not defined.  Instead use:
36959         (gl_STDINT_TYPE_PROPERTIES): New macro.
36960         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
36961         testing whether <sys/types.h> clashes, as Autoconf does this for
36962         us now.  All uses removed.
36963         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
36964         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
36965         (gl_CHECK_TYPE_SAME):
36966         Remove; no longer needed.
36967         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
36968         exists, since we'll return 0 anyway in that case.
36969         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
36970
36971 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
36972
36973         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
36974         possible collision with system files.
36975         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
36976         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
36977         WCHAR_MIN and WCHAR_MAX in this case.
36978         (<stddef.h>): Do not include; no longer needed.
36979         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
36980         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
36981         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
36982         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
36983         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
36984         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
36985         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
36986         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
36987         !defined(__c99))]: Include in this case too, since it's harmless
36988         now.
36989         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
36990         dangerous to do so.
36991         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
36992         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
36993         (_STDINT_MIN, _STDINT_MAX): New macros.
36994         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
36995         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
36996         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
36997         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
36998         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
36999         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
37000         macros, not typedefs; this simplifies things quite a bit.
37001         Use long int for all types narrower than int64_t.
37002         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
37003         Define in terms of long long int or int64_t or long int,
37004         not int64_t or int32_t.  This saves some compile-time testing.
37005         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
37006         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
37007         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
37008         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
37009         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
37010         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
37011         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
37012         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
37013         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
37014         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
37015         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
37016         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
37017         undef any previous version and define our own version, for
37018         simplicity and consistency with the new macros for types.
37019         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
37020         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
37021         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
37022         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
37023         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
37024         @WINT_T_SUFFIX@ to keep things simple here.
37025         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
37026         Simplify by assuming typical 8/16/32/64 host, since we're
37027         already doing that elsewhere anyway.
37028         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
37029         and assume long long int is 64 bits if available.  This
37030         speeds up 'configure'.
37031
37032 2006-07-01  Eric Blake  <ebb9@byu.net>
37033
37034         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
37035         Reported by Andreas Buening.
37036
37037 2006-07-01  Eric Blake  <ebb9@byu.net>
37038
37039         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
37040
37041 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
37042
37043         * lib/getaddrinfo.c: fixed typo
37044
37045 2006-06-29  Jim Meyering  <jim@meyering.net>
37046
37047         * modules/strftime (Maintainer): Add my name, since with the
37048         FPRINTFTIME changes strftime.c has forked from glibc.
37049
37050 2006-06-29  Eric Blake  <ebb9@byu.net>
37051
37052         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
37053
37054 2006-06-29  Eric Blake  <ebb9@byu.net>
37055
37056         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
37057
37058 2006-06-29  Eric Blake  <ebb9@byu.net>
37059
37060         * lib/stat_.h: New file.
37061
37062 2006-06-29  Eric Blake  <ebb9@byu.net>
37063
37064         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
37065         unused static function.
37066
37067 2006-06-29  Eric Blake  <ebb9@byu.net>
37068
37069         * doc/functions.texi (Function Portability): Document missing lstat
37070         on mingw.
37071
37072 2006-06-29  Eric Blake  <ebb9@byu.net>
37073
37074         * MODULES.html.sh: Add sys_stat.
37075         * modules/sys_stat: New module.
37076         * modules/mkstemp (Depends-on): Add sys_stat.
37077
37078 2006-06-29  Derek R. Price  <derek@ximbiot.com>
37079
37080         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
37081
37082 2006-06-29  Derek R. Price  <derek@ximbiot.com>
37083
37084         * m4/c-bs-a.m4: Removed.
37085
37086 2006-06-29  Derek R. Price  <derek@ximbiot.com>
37087
37088         * lib/strftime.c: Assume strftime() exists.
37089
37090 2006-06-29  Derek Price  <derek@ximbiot.com>
37091
37092         * modules/c-bs-a: Removed - \a is C89.
37093         * MODULES.html.sh: Remove c-bs-a.
37094
37095 2006-06-29  Bruno Haible  <bruno@clisp.org>
37096
37097         * modules/wcwidth (License): Change to LGPL.
37098
37099 2006-06-28  Simon Josefsson  <jas@extundo.com>
37100
37101         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
37102         on _WIN32.
37103
37104         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
37105         getnameinfo.
37106
37107 2006-06-28  Simon Josefsson  <jas@extundo.com>
37108
37109         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
37110
37111 2006-06-28  Simon Josefsson  <jas@extundo.com>
37112
37113         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
37114         functions there.  It will succeed on Windows XP, but on Windows
37115         2000 and (presumably) earlier, it will fail, and use the internal
37116         re-implementation.
37117         (use_win32_p): New function.
37118         (getaddrinfo): Use strtoul on servname, to support numeric ports.
37119         Support AI_NUMERICSERV to disable getservbyname.
37120         (getnameinfo): New function, only supports
37121         NI_NUMERICHOST|NI_NUMERICSERV for now.
37122
37123         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
37124         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
37125         getnameinfo.
37126
37127 2006-06-28  Eric Blake  <ebb9@byu.net>
37128
37129         * modules/wcwidth: New file.
37130         * modules/mbchar (Depends-on): Add wcwidth.
37131         * modules/mbswidth (Depends-on): Add wcwidth.
37132         * MODULES.html.sh: Add wcwidth.
37133
37134 2006-06-28  Eric Blake  <ebb9@byu.net>
37135
37136         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
37137         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
37138
37139 2006-06-28  Eric Blake  <ebb9@byu.net>
37140
37141         * lib/xvasprintf.h: Fix comments.
37142
37143 2006-06-28  Eric Blake  <ebb9@byu.net>
37144
37145         * lib/mbchar.h (wcwidth): Include wcwidth.h.
37146         * lib/mbswidth.c (wcwidth): Move from here...
37147         * lib/wcwidth.h: ...to this new file.
37148
37149 2006-06-28  Derek R. Price  <derek@ximbiot.com>
37150
37151         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
37152
37153         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
37154         it's obsolete.
37155         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
37156
37157 2006-06-28  Derek R. Price  <derek@ximbiot.com>
37158
37159         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
37160         Autoconf 2.60 says this stuff was obsolete.
37161
37162 2006-06-28  Bruno Haible  <bruno@clisp.org>
37163
37164         * modules/wcwidth (Files): Add m4/wchar_t.m4.
37165
37166 2006-06-28  Bruno Haible  <bruno@clisp.org>
37167
37168         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
37169         gt_TYPE_WCHAR_T.
37170
37171 2006-06-28  Bruno Haible  <bruno@clisp.org>
37172
37173         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
37174         declaration for wcwidth.
37175         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
37176
37177 2006-06-28  Bruno Haible  <bruno@clisp.org>
37178
37179         * lib/mkdtemp.c [MINGW]: Include <io.h>.
37180         (mkdir): Define using _mkdir.
37181
37182 2006-06-28  Bruno Haible  <bruno@clisp.org>
37183
37184         * lib/getaddrinfo.h: Fix POSIX URL.
37185         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
37186         _WIN32.
37187         (use_win32_p): Make static.
37188         (getaddrinfo): Reject service name if it is empty or does not consist
37189         solely of decimal digits, or if its value is > 65535.
37190         (getnameinfo): Remove useless casts.
37191
37192 2006-06-27  Simon Josefsson  <jas@extundo.com>
37193
37194         * modules/sys_select: New file, suggested by Bruno Haible, Paul
37195         Eggert and Martin Lambers.
37196
37197 2006-06-27  Simon Josefsson  <jas@extundo.com>
37198
37199         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
37200         Eggert and Martin Lambers.
37201
37202 2006-06-27  Bruno Haible  <bruno@clisp.org>
37203
37204         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
37205         result to 0, not to empty.
37206         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
37207
37208 2006-06-27  Bruno Haible  <bruno@clisp.org>
37209
37210         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
37211
37212 2006-06-26  Simon Josefsson  <jas@extundo.com>
37213
37214         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
37215         present.
37216
37217 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
37218
37219         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
37220         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
37221         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
37222
37223 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
37224
37225         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
37226
37227 2006-06-26  Bruno Haible  <bruno@clisp.org>
37228
37229         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
37230
37231 2006-06-26  Bruno Haible  <bruno@clisp.org>
37232
37233         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
37234
37235 2006-06-26  Bruno Haible  <bruno@clisp.org>
37236
37237         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
37238         SGI C compiler in pre-C99 mode.
37239         Suggested by Mark D. Baushke and Larry Jones.
37240
37241 2006-06-26  Bruno Haible  <bruno@clisp.org>
37242
37243         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
37244         WCHAR_MAX.
37245         Reported by Mark D. Baushke and Larry Jones.
37246
37247 2006-06-26  Bruno Haible  <bruno@clisp.org>
37248
37249         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
37250         in pre-C99 mode.
37251         Suggested by Mark D. Baushke and Larry Jones.
37252
37253 2006-06-23  Simon Josefsson  <jas@extundo.com>
37254             Bruno Haible  <bruno@clisp.org>
37255
37256         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
37257         Emit mostlyclean-local rule.
37258         (func_emit_tests_Makefile_am): Likewise.
37259         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
37260
37261 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
37262
37263         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
37264
37265 2006-06-23  Bruno Haible  <bruno@clisp.org>
37266
37267         * tests/test-stdint.c: Update to match ISO C 99 Technical
37268         Corrigendum 1.
37269
37270 2006-06-23  Bruno Haible  <bruno@clisp.org>
37271
37272         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
37273
37274 2006-06-23  Bruno Haible  <bruno@clisp.org>
37275
37276         * lib/stdint_.h: Treat IRIX like OpenBSD.
37277
37278 2006-06-23  Bruno Haible  <bruno@clisp.org>
37279
37280         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
37281         ISO C 99 Technical Corrigendum 1.
37282
37283 2006-06-22  Simon Josefsson  <jas@extundo.com>
37284
37285         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
37286         MinGW.
37287
37288 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
37289
37290         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
37291         needed.  Some compiler complained about some of them.  Problem reported
37292         by Larry Jones in
37293         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
37294
37295 2006-06-21  Simon Josefsson  <jas@extundo.com>
37296
37297         * tests/test-getaddrinfo.c: New file.
37298
37299         * modules/getaddrinfo-tests: New file.
37300
37301         * MODULES.html.sh: Add inet_pton.
37302
37303         * modules/inet_pton: New file.
37304
37305 2006-06-21  Simon Josefsson  <jas@extundo.com>
37306
37307         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
37308         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
37309         of using the (limited) gnulib implementation on Windows XP.
37310
37311         * m4/inet_pton.m4: New file.
37312
37313 2006-06-21  Simon Josefsson  <jas@extundo.com>
37314
37315         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
37316         variable.
37317
37318         * lib/socket_.h: Don't define WINVER.
37319
37320         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
37321         slightly modified to work in gnulib.
37322
37323 2006-06-21  Simon Josefsson  <jas@extundo.com>
37324
37325         * doc/gnulib.texi (Windows sockets): Add.
37326
37327 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
37328
37329         * lib/read-file.c (fread_file): Start with buffer allocation of
37330         0 bytes rather than 1 byte; this simplifies the code.
37331         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
37332         code to free buffer and save/restore errno.
37333         (internal_read_file): Remove unused local.
37334
37335 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
37336
37337         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
37338         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
37339         Problem reported by Denis Excoffier in
37340         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
37341
37342 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37343
37344         * modules/sys_socket, modules/socklen: Include sys/types since
37345         FreeBSD 4.x's sys/socket.h needs it.
37346
37347 2006-06-19  Simon Josefsson  <jas@extundo.com>
37348
37349         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
37350
37351 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
37352
37353         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
37354
37355 2006-06-19  Bruno Haible  <bruno@clisp.org>
37356
37357         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
37358         and FULL_PATH_INTTYPES_H in angle brackets.
37359         Reported by Mark D. Baushke <mdb@gnu.org>.
37360
37361 2006-06-17  Eric Blake  <ebb9@byu.net>
37362
37363         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
37364         errno.
37365
37366 2006-06-17  Bruno Haible  <bruno@clisp.org>
37367
37368         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
37369         <sys/inttypes.h>.
37370
37371 2006-06-17  Bruno Haible  <bruno@clisp.org>
37372
37373         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
37374         whether errno is declared. Assume <errno.h> declares errno.
37375
37376 2006-06-17  Bruno Haible  <bruno@clisp.org>
37377
37378         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
37379
37380 2006-06-17  Bruno Haible  <bruno@clisp.org>
37381
37382         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
37383         problem on Solaris 2.5.1.
37384
37385 2006-06-16  Eric Blake  <ebb9@byu.net>
37386
37387         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
37388         * lib/unicodeio.c [!defined errno]: Likewise.
37389         * lib/strtol.c [!defined errno]: Likewise.
37390         * lib/strtod.c [!defined errno]: Likewise.
37391
37392 2006-06-15  Eric Blake  <ebb9@byu.net>
37393
37394         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
37395
37396 2006-06-15  Eric Blake  <ebb9@byu.net>
37397
37398         * config/srclist.txt (ssize_t.m4): Lose sync.
37399
37400 2006-06-15  Bruno Haible  <bruno@clisp.org>
37401
37402         * modules/stdint (Files): Include m4/full-header-path.m4,
37403         m4/size_max.m4, m4/wchar_t.m4.
37404         (Makefile.am): Many more substitutions.
37405         * modules/stdint-tests: New file.
37406         * tests/test-stdint.c: New file.
37407
37408 2006-06-15  Bruno Haible  <bruno@clisp.org>
37409
37410         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
37411         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
37412         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
37413         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
37414         gl_CHECK_TYPE_SAME): New macros.
37415
37416 2006-06-15  Bruno Haible  <bruno@clisp.org>
37417
37418         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
37419
37420 2006-06-15  Bruno Haible  <bruno@clisp.org>
37421
37422         * lib/stdint_.h: Rewritten to be fully auto-configured.
37423         Fixes bug on HP-UX/IA64.
37424
37425 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
37426
37427         * lib/getdate.y (__attribute__): Don't define if already defined.
37428         Problem reported by Larry Jones.
37429         * lib/utimens.c (__attribute__): Likewise.
37430
37431 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
37432
37433         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
37434         reported by Andreas Schwab.
37435
37436 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37437             Bruno Haible  <bruno@clisp.org>
37438
37439         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
37440         check for the declaration of strnlen and a run test that exposes the
37441         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
37442         rpl_strndup.
37443
37444 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37445             Bruno Haible  <bruno@clisp.org>
37446
37447         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
37448
37449 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37450
37451         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
37452         compile test, for Tru64 4.0D.
37453
37454 2006-05-28  Karl Berry  <karl@gnu.org>
37455
37456         * config/srclist.txt (printf-args.c): lose sync.
37457
37458 2006-05-26  Martin Lambers  <marlam@marlam.de>
37459
37460         * lib/getpass.c: Updates the test for the native W32 API, and adds
37461         missing includes, thus fixing compilation warnings.
37462
37463 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37464
37465         * lib/exclude.c (exclude_fnmatch): New function.
37466         (excluded_file_name): Call exclude_fnmatch.
37467         * lib/exclude.h (excluded_file_name): New prototype
37468
37469 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
37470
37471         * lib/tempname.c (small_open, large_open): New macros.
37472         (__open, __open64) [!_LIBC]: Remove.
37473         (__gen_tempname): Use small_open and large_open instead of __open
37474         and __open64.  This fixes a portability bug on HP-UX 11.11i
37475         reported by Simon Wing-Tang in
37476         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
37477
37478 2006-05-24  Bruno Haible  <bruno@clisp.org>
37479
37480         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
37481         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
37482         Reported by Thorsten Maerz <torte@netztorte.de> via
37483         Aaron Stone <aaron@serendipity.cx>.
37484
37485 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
37486
37487         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
37488         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
37489         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
37490         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
37491         not really conditional on the cache.
37492         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
37493
37494 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
37495
37496         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
37497         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
37498         (my_usleep): Don't mishandle maximum value.
37499
37500 2006-05-19  Jim Meyering  <jim@meyering.net>
37501
37502         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
37503
37504 2006-05-17  Bruno Haible  <bruno@clisp.org>
37505
37506         Cygwin portability.
37507         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
37508
37509 2006-05-17  Bruno Haible  <bruno@clisp.org>
37510
37511         * lib/stdint_.h: Fix recognition of Cygwin.
37512
37513 2006-05-15  Bruno Haible  <bruno@clisp.org>
37514
37515         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
37516         on libtool patch by Ralf Wildenhues.
37517
37518 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
37519
37520         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
37521         test for C99 conformance; (bool) 0.5 is an integer constant
37522         expression, but (bool) -0.5 is not.  Problem reported by Fedor
37523         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
37524
37525 2006-05-11  Simon Josefsson  <jas@extundo.com>
37526
37527         * m4/xvasprintf.m4: Fix obvious typo.
37528
37529 2006-05-11  Jim Meyering  <jim@meyering.net>
37530
37531         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
37532         James Lemley.
37533
37534 2006-05-10  Simon Josefsson  <jas@extundo.com>
37535
37536         * lib/md4.c: Typo fix, update copyright years.
37537         (K1, K2): Don't use L because it turn computations into 64-bit on
37538         64-bit platforms.
37539
37540 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
37541
37542         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
37543         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
37544         unwanted sign propagation, e.g., on hosts with 64-bit int.
37545         There still are some problems with reeelly weird theoretical hosts
37546         (e.g., 33-bit int) but it's not worth worrying about now.
37547         * lib/sha1.c (rol): Likewise.
37548         (K1, K2, K3, K4): Remove unnecessary L suffix.
37549
37550 2006-05-10  Bruno Haible  <bruno@clisp.org>
37551
37552         * lib/des.c: Cast to avoid warnings.
37553
37554 2006-05-09  Bruno Haible  <bruno@clisp.org>
37555
37556         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
37557         (Depends-on): Depend also on xsize, stdarg.
37558         (configure.ac): Add gl_XVASPRINTF.
37559
37560 2006-05-09  Bruno Haible  <bruno@clisp.org>
37561
37562         * m4/xvasprintf.m4: New file.
37563
37564 2006-05-09  Bruno Haible  <bruno@clisp.org>
37565
37566         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
37567         (EOVERFLOW): Define fallback value.
37568         (xstrcat): New function.
37569         (xvasprintf): Recognize the special case of a string concatenation.
37570
37571 2006-05-08  Eric Blake  <ebb9@byu.net>
37572
37573         * gnulib-tool (func_version): Base copyright year on CVS date.
37574         (func_emit_copyright_notice): New function.
37575         (func_emit_lib_Makefile_am): Use it.
37576         (func_emit_tests_Makefile_am): Likewise.
37577         (func_import): Likewise.
37578
37579 2006-05-08  Bruno Haible  <bruno@clisp.org>
37580
37581         * modules/stdarg: New file.
37582         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
37583
37584 2006-05-08  Bruno Haible  <bruno@clisp.org>
37585
37586         * m4/stdarg.m4: New file, from GNU gettext.
37587
37588 2006-05-08  Bruno Haible  <bruno@clisp.org>
37589
37590         * config/srclist.txt (build-aux/config.rpath): different from latest
37591         release.
37592
37593 2006-05-08  Bruno Haible  <bruno@clisp.org>
37594
37595         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
37596
37597 2006-05-05  Jim Meyering  <jim@meyering.net>
37598
37599         * m4/warning.m4: New file, derived from bison's file by the same name.
37600
37601 2006-05-03  Bruno Haible  <bruno@clisp.org>
37602
37603         * lib/stdint_.h: Shorter URL.
37604         * lib/inttypes.h: Likewise.
37605
37606 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
37607
37608         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
37609
37610 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
37611
37612         * lib/verify.h: Document the internals better.  Most of this change
37613         was written by Bruno Haible.
37614
37615 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
37616
37617         * doc/verify.texi: New file, partly based on a proposal by
37618         Bruno Haible.
37619
37620 2006-05-02  Bruno Haible  <bruno@clisp.org>
37621
37622         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
37623         test from here...
37624         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
37625
37626 2006-04-29  Bruno Haible  <bruno@clisp.org>
37627
37628         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
37629         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
37630
37631 2006-04-29  Bruno Haible  <bruno@clisp.org>
37632
37633         * gnulib-tool: Make --update option actually work.
37634
37635 2006-04-29  Bruno Haible  <bruno@clisp.org>
37636
37637         * doc/gcd.texi: New file.
37638         * doc/gnulib.texi: Include it.
37639
37640 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
37641
37642         * lib/getdate.y (get_date): When adding relative date, start with the
37643         initial time, not with the result of the first mktime call.
37644
37645 2006-04-25  Bruno Haible  <bruno@clisp.org>
37646
37647         * gnulib-tool (func_import): Output the include directives in three
37648         blocks, sorted separately.
37649         Reported by Ben Pfaff <blp@cs.stanford.edu>.
37650
37651 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
37652
37653         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
37654         to define main with arguments, for C++.  Reported by Eric Blake.
37655         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
37656         Prefer 'int main ()' to 'int main (void)', for C++.
37657         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
37658         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
37659         for 'main', for C99 and C++.
37660
37661 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
37662
37663         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
37664         Don't assume that exit status -1 is valid.
37665         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
37666         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
37667         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
37668         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
37669         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
37670         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
37671         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
37672         functions can be used without declaring them, or that you can
37673         exit with status -1.
37674         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
37675
37676 2006-04-24  Karl Berry  <karl@gnu.org>
37677
37678         * config/srclist.txt (longdouble.m4): sync lost.
37679
37680 2006-04-24  Eric Blake  <ebb9@byu.net>
37681
37682         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
37683
37684 2006-04-24  Bruno Haible  <bruno@clisp.org>
37685
37686         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
37687         poll() implementation in AIX.
37688         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37689
37690 2006-04-24  Bruno Haible  <bruno@clisp.org>
37691
37692         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
37693         assigned exactly once.
37694
37695 2006-04-23  Claudio Fontana  <claudio@gnu.org>
37696             Bruno Haible  <bruno@clisp.org>
37697
37698         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
37699         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
37700         for AM_CPPFLAGS.
37701
37702 2006-04-23  Bruno Haible  <bruno@clisp.org>
37703
37704         * modules/copy-file: Depend on unistd.
37705         * modules/execute: Likewise.
37706         * modules/fatal-signal: Likewise.
37707         * modules/findprog: Likewise.
37708         * modules/mkdtemp : Likewise.
37709         * modules/pipe: Likewise.
37710         * modules/wait-process: Likewise.
37711
37712 2006-04-23  Bruno Haible  <bruno@clisp.org>
37713
37714         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
37715         condition was already detected.
37716         Reported by Ben Pfaff <blp@cs.stanford.edu>.
37717
37718 2006-04-23  Bruno Haible  <bruno@clisp.org>
37719
37720         * lib/copy-file.c: Include <unistd.h> unconditionally.
37721         * lib/execute.c: Likewise.
37722         * lib/fatal-signal.c: Likewise.
37723         * lib/findprog.c: Likewise.
37724         * lib/mkdtemp.c: Likewise.
37725         * lib/pipe.h: Likewise.
37726         * lib/pipe.c: Likewise.
37727         * lib/wait-process.h: Likewise.
37728
37729 2006-04-23  Bruno Haible  <bruno@clisp.org>
37730
37731         * gnulib-tool (func_usage): Fix --import description. Document
37732         --update.
37733         (func_import): Create temporary file in a temporary directory, if
37734         --dry-run is specified. Silence errors from 'grep' when there are no
37735         m4 files in $m4dir.
37736         (func_create_testdir): Silence errors from 'grep' when there are no
37737         m4 files in $m4dir.
37738         Reported by Karl Berry <karl@freefriends.org>.
37739
37740 2006-04-20  Bruno Haible  <bruno@clisp.org>
37741
37742         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
37743         one argument, so that the code will be portable to Autoconf 2.60.
37744         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
37745         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
37746         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
37747
37748 2006-04-19  Derek Price  <derek@ximbiot.com>
37749             Eric Blake  <ebb9@byu.net>
37750
37751         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
37752         rather than "/full/path.h".  Update comment to match.  Shorten &
37753         generalize m4_translit call via AS_TR_CPP.
37754
37755 2006-04-19  Derek Price  <derek@ximbiot.com>
37756             Eric Blake  <ebb9@byu.net>
37757
37758         * lib/inttypes.h: Correct grammar in comment.
37759
37760 2006-04-18  Derek Price  <derek@ximbiot.com>
37761             Paul Eggert  <eggert@cs.ucla.edu>
37762
37763         * modules/inttypes: New file.
37764         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
37765
37766 2006-04-18  Derek Price  <derek@ximbiot.com>
37767             Paul Eggert  <eggert@cs.ucla.edu>
37768
37769         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
37770         New files.
37771
37772 2006-04-18  Derek Price  <derek@ximbiot.com>
37773             Paul Eggert  <eggert@cs.ucla.edu>
37774
37775         * lib/inttypes.h: New file.
37776         * lib/strtoimax.c: Assume <inttypes.h>.
37777
37778 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
37779
37780         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
37781         isn't mounted.  Problem reported by Kir Kolyshkin.
37782
37783 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
37784
37785         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
37786         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
37787         Derek R. Price.
37788         * lib/regex.h (RE_DUP_MAX): Update comment to match current
37789         implementation.
37790
37791 2006-04-12  Eric Blake  <ebb9@byu.net>
37792
37793         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
37794         is now done automatically by the corresponding Autoconf macro.
37795
37796 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
37797
37798         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
37799         time_r.h.
37800
37801 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
37802
37803         Merge regex changes from libc, removing some of our
37804         POSIX-conformance changes that were rejected and redoing them in a
37805         less-intrusive way.
37806
37807         * lib/regcomp.c (re_compile_internal, init_dfa):
37808         Length arg is now size_t, not Idx.  All uses changed.
37809         (peek_token): Forward decl now says internal_function.
37810         (__re_error_msgid, __re_error_msgid_idx):
37811         Now static rather than extern with attribute_hidden.
37812         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
37813         For some reason libc prefers K&R style defns for external functions.
37814         (regerror) [!defined _LIBC]: Likewise.
37815         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
37816         (seek_collating_symbol_entry, lookup_collation_sequence_value):
37817         (build_range_exp, build_collating_symbol):
37818         Use K&R-style defn.
37819         (re_compile_fastmap): Use '\0' to memset, not 0.
37820         (utf8_sb_map): Make the calculations more obvious.
37821         (init_dfa, parse_bracket_exp, build_charclass_op):
37822         Call calloc and cast result, as glibc does.
37823         (init_word_char, fetch_token, peek_token, peek_token_bracket):
37824         (build_range_exp, build_collating_symbol):
37825         Now internal functions.
37826
37827         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
37828
37829         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
37830         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
37831         Don't depend on VMS; depend on __VMS instead, for POSIX
37832         namespace cleanness.
37833         (regoff_t): Define to ssize_t, not long int.
37834
37835         Remove the REG_ macros named below.  Instead, make the old names
37836         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
37837         __USE_GNU_REGEX.
37838         (REG_BACKSLASH_ESCAPE_IN_LISTS):
37839         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
37840         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
37841         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
37842         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
37843         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
37844         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
37845         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
37846         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
37847         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
37848         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
37849         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
37850         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
37851         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
37852         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
37853         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
37854         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
37855         (REG_NREGS):
37856         Remove.  All uses replaced by the old RE_* names.
37857         (RE_BACKSLASH_ESCAPE_IN_LISTS):
37858         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
37859         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
37860         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
37861         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
37862         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
37863         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
37864         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
37865         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
37866         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
37867         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
37868         Don't bother having these macros be independent of each others'
37869         values, since they no longer exist in the POSIX name space.
37870
37871         Rename the following member names back to their old names,
37872         unless !__USE_GNU_REGEX.  All uses changed back.
37873         (buffer): Renamed from re_buffer.
37874         (allocated): Renamed from re_allocated.
37875         (used): Renamed from re_used.
37876         (syntax): Renamed from re_syntax.
37877         (fastmap): Renamed from re_fastmap.
37878         (translate): Renamed from re_translate.
37879         (can_be_null): Renamed from re_can_be_null.
37880         (regs_allocated): Renamed from re_regs_allocated.
37881         (fastmap_accurate): Renamed from re_fastmap_accurate.
37882         (no_sub): Renamed from re_no_sub.
37883         (not_bol): Renamed from re_not_bol.
37884         (not_eol): Renamed from re_not_eol.
37885         (newline_anchor): Renamed from re_newline_anchor.
37886         (num_regs): Renamed from rm_num_regs.
37887         (start): Renamed from rm_start.
37888         (end): Renamed from rm_end.
37889
37890         (free_state): Move up a bit.
37891
37892         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
37893         #define to be empty.
37894         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
37895         when that is what is intended.
37896         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
37897         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
37898         (MAX): New macro.
37899         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
37900         All uses changed back to re_malloc, etc.  It's now the caller's
37901         responsibility to check for overflow; all callers changed.
37902         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
37903         (re_x2nrealloc): Remove.
37904         (free_state): Remove decl.
37905
37906         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
37907         (re_set_registers, re_exec):
37908         Use K&R-style defn.
37909
37910         2006-01-31  Roland McGrath  <roland@redhat.com>
37911
37912         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
37913         Reported by Mike Frysinger <vapier@gentoo.org>.
37914
37915         2006-01-15  Andreas Jaeger  <aj@suse.de>
37916
37917         [BZ #1950]
37918         * lib/regex_internal.c (re_string_reconstruct): Adjust for
37919         build_wcs_upper_buffer change.
37920         (build_wcs_upper_buffer): Change return type.
37921
37922         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
37923
37924         * lib/regex_internal.h: Include <stdint.h> if available.
37925
37926         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
37927
37928         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
37929
37930         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
37931
37932         * lib/regcomp.c: Adjust for changed secondary hash function.
37933
37934         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
37935
37936         * lib/regex.h: Pretty printing.
37937         Clean up namespace a bit.
37938
37939         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
37940
37941         * lib/regexec.c (update_cur_sifted_state, check_arrival,
37942         check_arrival_add_next_nodes): Avoid using uninitialized variable.
37943
37944         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
37945                     Ulrich Drepper  <drepper@redhat.com>
37946
37947         [BZ #1302]
37948         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
37949         changed.
37950         (bitset_word_t): Renamed from bitset_word.  All uses changed.
37951
37952         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
37953
37954         [BZ #281]
37955         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
37956         * lib/regcomp.c: Remove unnecessary uses of
37957         unsigned RE_TRANSLATE_TYPE.
37958         * lib/regex_internal.h: Likewise.
37959         * lib/regex_internal.c: Likewise.
37960         * lib/regexec.c: Likewise.
37961         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
37962
37963         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
37964
37965         * lib/regexec.c (find_recover_state): Remove unnecessary
37966         initialization.
37967         (transit_state_bkref): Make DFA a const pointer.
37968         (get_subexp): Likewise.
37969         (check_arrival): Likewise.
37970         (update_cur_sifted_state): Likewise.
37971         (re_search_internal): Likewise.
37972         (prune_impossible_nodes): Likewise.
37973         (acquire_init_state_context): Likewise.
37974         (proceed_next_node): Likewise.
37975         (set_regs): Likewise.
37976         (free_fail_stack_return): Likewise.
37977         (check_arrival_expand_ecl): Mark DFA parameter as const.
37978         (check_arrival_expand_ecl_sub): Likewise.
37979         (check_subexp_limits): Likewise.
37980         (sub_epsilon_src_nodes):  Likewise.
37981         (add_epsilon_src_nodes):  Likewise.
37982         (merge_state_array): Likewise.
37983         (update_regs): Likewise.
37984         (build_trtable): Likewise.
37985         (sift_states_backward): Mark MCTX parameter as const.
37986         (build_sifted_states): Likewise.
37987         (update_cur_sifted_state): Likewise.
37988         (sift_states_mkref): Likewise.
37989         (check_arrival_expand_ecl): Mark eclosure as const.
37990         (check_dst_limits_calc_pos_1): Likewise.
37991         * lib/regex_internal.h (re_match_context_t): Make dfa a const
37992         pointer.
37993
37994         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
37995
37996         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
37997         (transit_state_sb): Likewise.
37998         (transit_state_mb): Likewise.
37999         (sift_states_iter_mb): Likewise.
38000         (check_arrival_add_next_nodes): Likewise.
38001         (check_node_accept_bytes): Change first parameter to pointer-to-const.
38002         [_LIBC] (re_search_2_stub): Use mempcpy.
38003
38004         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
38005         mbrtowc for very simple UTF-8 case.
38006
38007         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
38008         a pointer-to-const.
38009         (re_acquire_state_context): Likewise.
38010         * lib/regex_internal.h: Adjust prototypes.
38011
38012         * lib/regex.c: Prevent using C++ compilers.
38013
38014         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
38015         (re_acquire_state_context): Likewise.
38016
38017 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
38018
38019         * modules/regex (Depends-on): Add ssize_t.
38020
38021 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
38022
38023         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
38024         translation table.
38025
38026 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
38027
38028         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
38029
38030 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
38031             Bruno Haible  <bruno@clisp.org>
38032
38033         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
38034         <sys/types.h> and <inttypes.h>.
38035
38036 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38037
38038         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
38039         `__error_t_defined', so argp.h will not typedef the former.
38040
38041 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
38042
38043         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
38044         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
38045         glibc names.  Even if glibc is changed to conform to POSIX, the
38046         traditional names will be available anyway, since regex depends on
38047         the extensions module.  Also, fix a longstanding typo in the
38048         implementation of Spencer ERE test #75 from grep 2.3.  Problems
38049         reported by Emanuele Giaquinta.  Also, change sense of cached
38050         variable, so that the message makes sense.
38051
38052 2006-03-24  Simon Josefsson  <jas@extundo.com>
38053
38054         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
38055         including some doc fixes.
38056         (base64_encode_alloc): Fix +1 bug on allocation failures.
38057
38058 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38059
38060         * lib/base64.c (base64_encode): Do not read past end of array with
38061         unsanitized input on systems with CHAR_BIT > 8.
38062
38063 2006-03-24  Eric Blake  <ebb9@byu.net>
38064
38065         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
38066
38067 2006-03-22  Karl Berry  <karl@gnu.org>
38068
38069         * config/srclist.txt (*setenv.[ch]): get from coreutils.
38070         * config/srclistvars.sh (COREUTILS): new var.
38071
38072 2006-03-17  Jim Meyering  <jim@meyering.net>
38073
38074         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
38075         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
38076
38077 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
38078
38079         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
38080         no longer needs it.  Instead, check that regoff_t is as least
38081         as wide as ptrdiff_t.
38082
38083         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
38084         so that our regex.h stays compatible with the installed regex.
38085         This is helpful for installers who configure --without-included-regex.
38086         Problem reported by Emanuele Giaquinta.
38087
38088 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
38089
38090         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
38091         Typedef to long int, not to off_, as POSIX will likely change
38092         in that direction.
38093
38094 2006-03-15  Eric Blake  <ebb9@byu.net>
38095
38096         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
38097
38098 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
38099
38100         * lib/argp-help.c (validate_uparams): Fix typo
38101         * lib/argp-parse.c (argp_default_options): Consistently begin help
38102         messages with a lowercase letter.
38103
38104 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
38105
38106         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
38107         overrun buffers and shouldn't be used (much as gets shouldn't be
38108         used).
38109         * lib/time_r.c (asctime_r, ctime_r): Likewise.
38110
38111 2006-03-08  Simon Josefsson  <jas@extundo.com>
38112
38113         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
38114         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38115
38116 2006-03-08  Simon Josefsson  <jas@extundo.com>
38117
38118         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
38119         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38120
38121 2006-03-08  Simon Josefsson  <jas@extundo.com>
38122
38123         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
38124         signal that configure disabled the device.
38125
38126 2006-03-08  Simon Josefsson  <jas@extundo.com>
38127
38128         * build-aux/maint.mk: Fix refresh-po, to handle no translated
38129         languages.
38130
38131 2006-03-07  Simon Josefsson  <jas@extundo.com>
38132
38133         * modules/getopt (Depends-on): Add unistd.
38134
38135         * modules/unistd: New file.
38136
38137 2006-03-07  Simon Josefsson  <jas@extundo.com>
38138
38139         * modules/gc-random: New file.
38140
38141 2006-03-07  Simon Josefsson  <jas@extundo.com>
38142
38143         * m4/unistd_h.m4: New file.
38144
38145 2006-03-07  Simon Josefsson  <jas@extundo.com>
38146
38147         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
38148         test to be side-effect free by storing the result in the cache
38149         variable gl_cv_lib_readline, and moving the assignment of
38150         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
38151         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38152
38153 2006-03-07  Simon Josefsson  <jas@extundo.com>
38154
38155         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
38156         error on missing devices (the functions will return an error).
38157
38158         * m4/gc.m4: Move random stuff to gc-random.m4
38159
38160 2006-03-07  Simon Josefsson  <jas@extundo.com>
38161
38162         * lib/unistd_.h: New file.
38163
38164 2006-03-07  Simon Josefsson  <jas@extundo.com>
38165
38166         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
38167
38168 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
38169
38170         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
38171         Problem reported by Juan Manuel Guerrero.
38172
38173 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
38174
38175         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
38176         the unistd module.
38177         * lib/getlogin_r.c: Likewise.
38178         * lib/getlogin_r.h: Likewise.
38179         * lib/glob.c: Likewise.
38180         * lib/pagealign_alloc.c: Likewise.
38181         * lib/unistd_.h: Remove; no longer needed.
38182
38183 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
38184
38185         * MODULES.html.sh (Support for systems lacking POSIX:2001):
38186         Add unistd.
38187         * modules/c-stack (Depends-on): Add unistd.
38188         * modules/getlogin_r: Likewise.
38189         * modules/glob: Likewise.
38190         * modules/pagealign_alloc: Likewise.
38191         * modules/unistd (Files): Remove lib/unistd_.h.
38192         (EXTRA_DIST): Remove.
38193         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
38194         need unistd_.h.
38195         (MOSTLYCLEANFILES): Remove unistd.h-t.
38196
38197 2006-03-03  Simon Josefsson  <jas@extundo.com>
38198
38199         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
38200
38201 2006-03-03  Simon Josefsson  <jas@extundo.com>
38202
38203         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
38204         libidn and bison.
38205
38206 2006-03-03  Simon Josefsson  <jas@extundo.com>
38207
38208         * build-aux/maint.mk: Add indent target.
38209
38210 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
38211
38212         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
38213         our replacement poll.h in any case, to avoid a differing
38214         declaration from a system header.  Seen on AIX.
38215
38216 2006-03-01  Simon Josefsson  <jas@extundo.com>
38217
38218         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
38219         <kasal@ucw.cz>.
38220
38221 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
38222
38223         * modules/gettime (Depends-on): Add extensions module.
38224         * modules/nanosleep (Depends-on): Likewise.
38225         * modules/settime (Depends-on): Likewise.
38226
38227 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
38228
38229         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
38230         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
38231         pedantically.
38232         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38233         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
38234
38235         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
38236         not "==".  Reported by Ralf Wildenhues.
38237
38238 2006-03-01  Karl Berry  <karl@gnu.org>
38239
38240         * doc/Copyright/request-*: new files, synced from gnuorg.
38241
38242 2006-03-01  Karl Berry  <karl@gnu.org>
38243
38244         * config/srclist.txt (Copyright/*): new entries.
38245
38246 2006-02-28  Simon Josefsson  <jas@extundo.com>
38247
38248         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
38249
38250 2006-02-27  Simon Josefsson  <jas@extundo.com>
38251
38252         * lib/base64.h: Indent #define's.  From Jim Meyering
38253         <jim@meyering.net>.
38254
38255 2006-02-27  Jim Meyering  <jim@meyering.net>
38256
38257         Revert the change of 2006-02-24, so these files can continue
38258         to be sync'd from gettext.
38259         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
38260         of `config.h'.
38261
38262 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
38263
38264         * modules/intprops: New file.
38265         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
38266         Add intprops.
38267         * modules/getloadavg (Files): Remove lib/intprops.h.
38268         (Depends-on): Add intprops.
38269         * modules/human: Likewise.
38270         * modules/inttostr: Likewise.
38271         * modules/openat: Likewise.
38272         * modules/sig2str: Likewise.
38273         * modules/userspec: Likewise.
38274         * modules/utimecmp: Likewise.
38275         * modules/xnanosleep: Likewise.
38276         * modules/xstrtol: Likewise.
38277
38278 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
38279
38280         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
38281         * modules/lock-tests (TESTS): Use $(EXEEXT).
38282         * modules/tls-tests: Likewise.
38283         * modules/argp-tests: Likewise.
38284         (check_PROGRAMS): New var, replacing...
38285         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
38286
38287 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38288
38289         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
38290         `config.h'.
38291
38292 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
38293
38294         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
38295
38296 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38297
38298         Sync from coreutils.
38299         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
38300         gl_CHDIR_SAFER.
38301
38302 2006-02-22  Jim Meyering  <jim@meyering.net>
38303
38304         Sync from coreutils.
38305         * m4/chdir-safer.m4: New file.
38306
38307 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
38308
38309         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
38310         AT_FDCWD exceeds INT_MAX.
38311         * lib/openat.h (AT_FDCWD): Likewise.
38312
38313 2006-02-17  Eric Blake  <address@hidden>
38314
38315         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
38316
38317 2006-02-16  Simon Josefsson  <jas@extundo.com>
38318
38319         * modules/getaddrinfo (Depends-on): Add sys_socket.
38320
38321 2006-02-15  Simon Josefsson  <jas@extundo.com>
38322
38323         * build-aux/maint.mk: Add dsyntax-check rule.
38324
38325 2006-02-15  Eric Blake  <ebb9@byu.net>
38326
38327         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
38328         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
38329         'present but cannot compile' warnings on cygwin.
38330         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
38331         use ws2tcpip.h if sys/socket.h works.
38332         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
38333         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
38334
38335 2006-02-14  Simon Josefsson  <jas@extundo.com>
38336
38337         * modules/maintainer-makefile (Files): Rename.
38338
38339         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
38340         and (the local) Makefile.cfg to maint-cfg.mk.
38341
38342         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
38343         to the latter.
38344
38345         * modules/maintainer-makefile: New module.
38346
38347         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
38348         severaly stripped to make it possible to build it up from scratch
38349         with reliable tests.
38350
38351         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
38352         fixes to permit overriding the default actions when configure and
38353         makefile are not available.
38354
38355 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
38356
38357         Sync from coreutils.
38358         * modules/lstat (Depends-on): Don't depend on xalloc.
38359         (License): Change from GPL to LGPL, since this is now simply a
38360         replacement for a libc function.
38361
38362 2006-02-14  Jim Meyering  <jim@meyering.net>
38363
38364         Sync from coreutils.
38365
38366         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
38367         failure on deficient systems, and simplify gnulib lgpl dependencies.
38368         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
38369         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
38370
38371         * lib/xalloc-die.c: Remove unused definition of N_.
38372
38373 2006-02-14  Jim Meyering  <jim@meyering.net>
38374
38375         Sync from coreutils.
38376         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
38377         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
38378         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
38379         double-quote uses of that variable, to accommodate the rare case in
38380         which getmntent is available in none of the libraries checked.  This
38381         happens at least on FreeBSD 5.0.
38382
38383 2006-02-13  Simon Josefsson  <jas@extundo.com>
38384
38385         * gnulib-tool (Usage): Fix --import, from
38386         karl@freefriends.org (Karl Berry).
38387
38388 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
38389
38390         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
38391
38392 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
38393
38394         * lib/argp-namefrob.h: Restore changes accidentally lost during the
38395         "autoupdate" on 2005-12-12.
38396
38397 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
38398
38399         * modules/closeout (Depends-on): Remove atexit.
38400
38401 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
38402
38403         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
38404         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
38405
38406 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
38407
38408         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
38409         __EXTENSIONS__ if this causes compilation to fail.  Problem
38410         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
38411         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
38412
38413 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
38414
38415         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
38416         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
38417         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
38418         All uses changed.
38419
38420 2006-01-26  Simon Josefsson  <jas@extundo.com>
38421
38422         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
38423         prototype is visible on mingw32.
38424
38425         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
38426         for mingw32.
38427
38428         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
38429         mingw32).
38430
38431 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
38432
38433         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
38434         attempt to open for write; this always fails, at least on POSIX
38435         hosts.  This reinstates the 2006-01-09 change, which was
38436         inadvertently removed.
38437
38438 2006-01-26  Bruno Haible  <bruno@clisp.org>
38439
38440         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
38441         Reported by Paul Eggert.
38442
38443 2006-01-26  Bruno Haible  <bruno@clisp.org>
38444             Paul Eggert  <eggert@cs.ucla.edu>
38445
38446         * lib/stdbool_.h (_Bool)
38447         [(! (defined __cplusplus || defined __BEOS__)
38448           && !defined __GNUC__
38449           && !(defined __HP_cc || defined __xlc__
38450                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
38451                || defined __sgi))]:
38452         #define to signed char in these cases too; this simplifies
38453         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
38454         etc., separately) and makes it more conservative.
38455
38456 2006-01-25  Simon Josefsson  <jas@extundo.com>
38457
38458         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
38459         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
38460         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
38461
38462 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
38463
38464         * lib/argp-namefrob.h: Bugfix. Remove stray #
38465
38466 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
38467
38468         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
38469         so that we test the test.
38470         Check for yet another HP-UX cc bug involving *bool |= bool.
38471
38472 2006-01-25  Karl Berry  <karl@gnu.org>
38473
38474         * config/srclist.txt (vasnprintf.c): sync lost.
38475
38476 2006-01-25  Jim Meyering  <jim@meyering.net>
38477
38478         Sync from the stable (b5) branch of coreutils:
38479
38480         * lib/fts.c (fts_children): Don't let close() clobber errno from
38481         failed fchdir().
38482
38483         * lib/fts.c (fts_stat): When following a symlink-to-directory,
38484         don't necessarily interpret stat-fails+lstat-succeeds as indicating
38485         a dangling symlink.  That can also happen at least for ELOOP.
38486         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
38487         FYI, this bug predates the inclusion of fts.c in coreutils.
38488
38489         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
38490         in their own block, so pre-c99 compilers don't object.
38491
38492         Avoid the double-free (first in fts_read, second in fts_close) that
38493         would occur when an `active' directory is made inaccessible (e.g.,
38494         via chmod a-x) during a traversal.
38495         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
38496         before returning.  Reproduce this failure by
38497         mkdir -p a/b; cd a; chmod a-x . b
38498         Reported by Stavros Passas.
38499
38500 2006-01-25  Jim Meyering  <jim@meyering.net>
38501
38502         * lib/fileblocks.c: Remove more useless parentheses.
38503         * lib/readutmp.h: Likewise.
38504
38505 2006-01-25  Bruno Haible  <bruno@clisp.org>
38506
38507         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
38508         warnings.
38509         Reported by Paul Eggert.
38510
38511 2006-01-25  Bruno Haible  <bruno@clisp.org>
38512
38513         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
38514         rid of a trap command. For Solaris sh.
38515         Reported by Mark D. Baushke <mdb@gnu.org>.
38516
38517 2006-01-24  Simon Josefsson  <jas@extundo.com>
38518
38519         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
38520         Bruno.
38521
38522 2006-01-24  Karl Berry  <karl@gnu.org>
38523
38524         * config/srclist.txt (argp-namefrob.h): sync lost.
38525
38526 2006-01-24  Jim Meyering  <jim@meyering.net>
38527
38528         * modules/openat (Files): Add lib/intprops.h.
38529         From Mark D. Baushke.
38530
38531 2006-01-24  Jim Meyering  <jim@meyering.net>
38532
38533         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
38534         Reported by Mark D. Baushke.
38535
38536 2006-01-24  Jim Meyering  <jim@meyering.net>
38537
38538         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
38539
38540 2006-01-24  Bruno Haible  <bruno@clisp.org>
38541
38542         * modules/strnlen (Maintainer): Change from glibc to all.
38543
38544 2006-01-24  Bruno Haible  <bruno@clisp.org>
38545
38546         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
38547         Patch by Paul Eggert.
38548
38549 2006-01-24  Bruno Haible  <bruno@clisp.org>
38550
38551         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
38552         already has it.
38553         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
38554         2005-11-26.
38555
38556         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
38557         'signed char' to avoid problems with the built-in _Bool type.
38558         Reported by Paul Eggert on 2005-11-26.
38559
38560 2006-01-24  Bruno Haible  <bruno@clisp.org>
38561
38562         * gnulib-tool (func_import): Avoid constructing complicated sed
38563         expressions inside backquote.
38564         Report and solution by Mark D. Baushke <mdb@gnu.org>.
38565
38566 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
38567
38568         These changes imported from libc.
38569         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
38570         test and two separate function calls.
38571         * lib/strndup.c (__strndup): Add libc_hidden_def.
38572
38573 2006-01-23  Simon Josefsson  <jas@extundo.com>
38574
38575         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
38576         Remove the test_*_SOURCES variable: automake infers it by default.
38577         * modules/tls-tests: Likewise.
38578
38579 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
38580
38581         Work around porting bugs reported by Dieter in
38582         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
38583         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
38584         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
38585         Include "getopt.h" first, to check interface.
38586         (getenv): Declare only if defined HAVE_DECL_GETENV &&
38587         !HAVE_DECL_GETENV.
38588         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
38589         (__strndup): Revert to K&R-style function dfns, the glibc style.
38590         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
38591         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
38592         Include strnlen.h first, to get prototype properly.
38593         (strnlen): Renamed from __strnlen.
38594         Remove weak alias.
38595
38596 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
38597
38598         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
38599
38600 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
38601
38602         * config/srclist.txt: Adjust to reflect glibc reorganization.
38603         This affects only comments.
38604
38605 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
38606
38607          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
38608          Reported by Bruce Korb <bkorb@gnu.org>.
38609
38610 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
38611
38612         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
38613         to pacify gcc -Wswitch-default.
38614
38615 2006-01-22  Bruno Haible  <bruno@clisp.org>
38616
38617         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
38618         temporary buffer for sprintf, take into account the precision also
38619         for 'd', 'i', 'u', 'o', 'x', 'X'.
38620
38621 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
38622
38623         * modules/argp-tests: New module
38624         * tests/test-argp.c: New file
38625         * tests/test-argp-2.sh: New file
38626
38627 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
38628
38629         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
38630         (__argp_base_name): Removed
38631         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
38632         typo.
38633         (__argp_base_name): Provide macro definition or extern declaration
38634         depending on the configuration
38635
38636 2006-01-20  Simon Josefsson  <jas@extundo.com>
38637
38638         * modules/inet_ntop (Depends-on): Depend on sys_socket.
38639
38640 2006-01-20  Simon Josefsson  <jas@extundo.com>
38641
38642         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
38643
38644 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
38645
38646         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
38647         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
38648         Suggested by Bruno Haible.
38649
38650 2006-01-20  Karl Berry  <karl@gnu.org>
38651
38652         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
38653         until changes propagate, I guess.
38654
38655 2006-01-19  Simon Josefsson  <jas@extundo.com>
38656
38657         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
38658
38659 2006-01-19  Simon Josefsson  <jas@extundo.com>
38660
38661         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
38662
38663 2006-01-19  Simon Josefsson  <jas@extundo.com>
38664
38665         * gnulib-tool: Set check_PROGRAMS.
38666
38667         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
38668         modules/des-tests, modules/gc-arcfour-tests,
38669         modules/gc-arctwo-tests, modules/gc-des-tests,
38670         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
38671         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
38672         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
38673         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
38674         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
38675         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
38676         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
38677         test_*_SOURCES.
38678
38679 2006-01-18  Simon Josefsson  <jas@extundo.com>
38680
38681         * modules/socklen (Depends-on): Depend on sys_socket.
38682
38683 2006-01-18  Simon Josefsson  <jas@extundo.com>
38684
38685         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
38686         modules/des-tests, modules/gc-arcfour-tests,
38687         modules/gc-arctwo-tests, modules/gc-des-tests,
38688         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
38689         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
38690         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
38691         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
38692         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
38693         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
38694         $(EXEEXT) to automake TESTS variable, for mingw32.
38695
38696 2006-01-17  Simon Josefsson  <jas@extundo.com>
38697
38698         * modules/socklen (Include): Need sys/socket.h.
38699
38700 2006-01-17  Bruno Haible  <bruno@clisp.org>
38701
38702         * modules/ssize_t (Include): Add <sys/types.h>.
38703
38704 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
38705
38706         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
38707         it's not portable and it doesn't work with cross-compiles.
38708         Problem reported by Bruno Haible.  Fix missing-$ typo in
38709         'test "gl_cv_ignore_unused_libraries" ...' that prevented
38710         -zignore from being used with Sun's C compiler.
38711
38712 2006-01-12  Simon Josefsson  <jas@extundo.com>
38713
38714         * lib/base64.c: Fix warning, reported by Bruno Haible
38715         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
38716
38717 2006-01-12  Bruno Haible  <bruno@clisp.org>
38718
38719         * modules/ldd: New file.
38720         * build-aux/ldd.sh.in: New file.
38721         * MODULES.html.sh (Support for building libraries and executables): Add
38722         ldd.
38723
38724 2006-01-12  Bruno Haible  <bruno@clisp.org>
38725
38726         * m4/ldd.m4: New file.
38727
38728 2006-01-12  Bruno Haible  <bruno@clisp.org>
38729
38730         * gnulib-tool (func_import, func_create_testdir): Don't go into an
38731         endless loop while replacing $auxdir with build-aux.
38732
38733 2006-01-11  Simon Josefsson  <jas@extundo.com>
38734
38735         * lib/stdint_.h (SIZE_MAX): Add missing (.
38736
38737 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
38738
38739         Sync from coreutils.
38740         * lib/md5.c: Fix commentary typos.
38741         (alignof, UNALIGNED_P): No need for a GCC-specific version.
38742         * lib/md5.h (__attribute__): Remove; unused.
38743         * lib/sha1.c: Fix commentary to match md5 better.
38744         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
38745         so that we don't need to worry about alignment.  All uses changed.
38746         This merges the 2005-10-28 md5 change into sha1.
38747
38748 2006-01-11  Jim Meyering  <jim@meyering.net>
38749
38750         Sync from coreutils.
38751         * lib/md5.c (OP): Fix spacing.
38752
38753 2006-01-11  Bruno Haible  <bruno@clisp.org>
38754
38755         Ensure automatic ordering between gl_LOCK and gl_ARGP.
38756         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
38757         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
38758
38759 2006-01-11  Bruno Haible  <bruno@clisp.org>
38760
38761         Ensure automatic ordering between gl_LOCK and gl_ARGP.
38762         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
38763         the "early" section as well.
38764
38765 2006-01-11  Bruno Haible  <bruno@clisp.org>
38766
38767         Avoid "ar: no archive members specified" error on MacOS X.
38768         * gnulib-tool (func_modules_add_dummy): New function.
38769         (func_import, func_create_testdir): Invoke it.
38770
38771 2006-01-11  Bruno Haible  <bruno@clisp.org>
38772
38773         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
38774         with $auxdir in AC_CONFIG_FILES statements.
38775
38776 2006-01-11  Bruno Haible  <bruno@clisp.org>
38777
38778         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
38779         Initialize also noinst_HEADERS to empty.
38780
38781 2006-01-11  Bruno Haible  <bruno@clisp.org>
38782
38783         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
38784         variables.
38785         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
38786         autoreconf.
38787
38788 2006-01-11  Bruno Haible  <bruno@clisp.org>
38789
38790         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
38791         overridable by the user.
38792         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38793
38794 2006-01-10  Simon Josefsson  <jas@extundo.com>
38795
38796         * modules/sys_socket: New file.
38797
38798 2006-01-10  Simon Josefsson  <jas@extundo.com>
38799
38800         * m4/sys_socket_h.m4: New file.
38801
38802 2006-01-10  Simon Josefsson  <jas@extundo.com>
38803
38804         * lib/socket_.h: New file.
38805
38806 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
38807
38808         * modules/readutmp (Maintainer): Add myself.
38809
38810 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
38811
38812         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
38813         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
38814         People who are still concerned with buggy memcmp implementations
38815         can invoke gl_FUNC_MEMCMP themselves.
38816
38817 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
38818
38819         * lib/regex_internal.h (BITSET_WORD_BITS):
38820         Work around a bug in 64-bit PGC (before version 6.1-2), where the
38821         preprocessor mishandles large unsigned values as if they were signed.
38822         Problem reported by Claudio Fontana in
38823         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
38824
38825 2006-01-10  Jim Meyering  <jim@meyering.net>
38826
38827         Avoid the double-free (first in fts_read, second in fts_close) that
38828         would occur when an `active' directory is made inaccessible (e.g.,
38829         via chmod a-x) during a traversal.
38830         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
38831         before returning.  Reproduce this failure by
38832         mkdir -p a/b; cd a; chmod a-x . b
38833         Reported by Stavros Passas.
38834
38835         Sync from coreutils.
38836         * lib/sha1.c: Tweak grammar in a comment.
38837
38838 2006-01-10  Jim Meyering  <jim@meyering.net>
38839
38840         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
38841         Patch by Joerg Sonnenberger.
38842
38843 2006-01-10  Bruno Haible  <bruno@clisp.org>
38844
38845         * modules/readutmp: Depend on module free.
38846         * modules/strtok_r: Depend on module restrict.
38847
38848 2006-01-10  Bruno Haible  <bruno@clisp.org>
38849
38850         * modules/gettext (configure.ac): Add an invocation of
38851         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
38852
38853 2006-01-10  Bruno Haible  <bruno@clisp.org>
38854
38855         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
38856         Reported by Werner Lemberg <wl@gnu.org>.
38857
38858 2006-01-10  Bruno Haible  <bruno@clisp.org>
38859
38860         * lib/localcharset.c: Update from GNU gettext.
38861
38862 2006-01-10  Bruno Haible  <bruno@clisp.org>
38863
38864         * lib/argp.h (__const): Remove macro. Use const instead.
38865         * lib/argp-fmtstream.h (__const): Likewise.
38866         * lib/glob_.h (__const): Remove macro.
38867         * lib/glob-libc.h: Use const instead of __const.
38868
38869 2006-01-10  Bruno Haible  <bruno@clisp.org>
38870
38871         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
38872         variable.
38873         Needed to avoid an automake error regarding the 'gettext' module.
38874
38875 2006-01-09  Simon Josefsson  <jas@extundo.com>
38876
38877         * modules/inet_ntop (Depends-on): Add restrict.
38878
38879 2006-01-09  Simon Josefsson  <jas@extundo.com>
38880
38881         * modules/gc-rijndael-tests (License): Put under LGPL.
38882
38883         * modules/gc-des-tests (License): Likewise.
38884
38885         * modules/gc-arcfour-tests (License): Likewise.
38886
38887         * modules/gc-arctwo-tests (License): Likewise.
38888
38889         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
38890
38891         * modules/gc-hmac-sha1-tests (Files): Likewise.
38892
38893         * modules/gc-hmac-md5-tests (License): Likewise.
38894
38895         * modules/gc-sha1-tests (License): Likewise.
38896
38897         * modules/gc-md5-tests (License): Likewise.
38898
38899         * modules/gc-md4-tests (License): Likewise.
38900
38901         * modules/gc-md2-tests (License): Likewise.
38902
38903         * modules/gc-tests (License): Likewise.
38904
38905         * modules/des-tests (License): Likewise.
38906
38907         * modules/md4-tests (License): Likewise.
38908
38909         * modules/md2-tests (License): Likewise.
38910
38911 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
38912
38913         Sync from coreutils:
38914
38915         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
38916         * modules/lib-ignore: New file.
38917         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
38918         chdir-safer.m4, lchmod.m4.
38919         * modules/openat: Add mkdirat.c, openat-priv.h.
38920
38921 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
38922
38923         Sync from coreutils.
38924         * m4/lib-ignore.m4: New file.
38925         * m4/lchmod.m4: New file.
38926
38927 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
38928
38929         Sync from coreutils.
38930         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
38931         for write access: POSIX says that must fail.
38932         * lib/fts.c (diropen): Likewise.
38933         * lib/save-cwd.c (save_cwd): Likewise.
38934         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
38935         well, for minor improvements on hosts that lack O_DIRECTORY.
38936         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
38937         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
38938         Fall back on chown if open failed with EACCES.
38939
38940         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
38941         Report an error at compile-time if only a 1-second nominal clock
38942         resolution is found.
38943
38944         * lib/lchmod.h: New file.
38945         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
38946         (make_dir_parents): Use lchown rather than chown, and
38947         lchmod rather than chmod.
38948
38949         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
38950         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
38951         "proc" reported by n0dalus.
38952
38953         * lib/mountlist.c: Include <limits.h>.
38954         (dev_from_mount_options)
38955         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
38956         New function.  It no longer assumes "dev=" has the System V meaning
38957         on Linux (since it doesn't).  It also parses "dev=" more carefully.
38958         (read_file_system_list)
38959         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
38960         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
38961         dev= in that case.
38962
38963         * lib/posixtm.h (PDS_PRE_2000): New macro.
38964         * lib/posixtm.c (year): Arg is now syntax_bits rather than
38965         allow_century.  All usages changed.  Reject dates outside the range
38966         1969-1999 if PDS_PRE_2000 is used.
38967
38968 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
38969
38970         Sync from coreutils.
38971         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
38972         (Time of day items): Mention the possibility of leap seconds.
38973         Problem reported by Dr. David Alan Gilbert.
38974
38975 2006-01-09  Jim Meyering  <jim@meyering.net>
38976
38977         Sync from coreutils.
38978
38979         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
38980
38981         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
38982
38983         * lib/modechange.c (mode_compile): Reject an invalid mode string
38984         that starts with an octal digit.  From Andreas Gruenbacher.
38985
38986         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
38987         and dup to open_safer and dup_safer, respectively.
38988         (openat_permissive): Fix typo in comment.
38989
38990         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
38991         "gettext.h"; either no longer needed or are guaranteed by openat.h.
38992         (_): Remove; no longer needed.
38993         (openat): Renamed from rpl_openat; no need for rpl_openat
38994         since openat.h renames openat for us.
38995         Replace most of the body with a call to openat_permissive,
38996         to avoid duplicate code.
38997         Port to (probably hypothetical) environments were mode_t is
38998         wider than int.
38999         (openat_permissive): Require mode arg, so that we can check
39000         types better.  Put it just after flags.  Change cwd failure
39001         indicator from pointer-to-bool to pointer-to-errno-value.
39002         All callers changed.
39003         Invoke openat_save_fail and/or openat_restore_fail if
39004         cwd_errno is null, so that openat can call us.
39005         (openat_permissive, fdopendir, fstatat, unlinkat):
39006         Simplify errno handling to avoid some duplicate code,
39007         as it's OK to set errno on success.
39008         * lib/openat.h: Revamp code so that function macros depend on
39009         __OPENAT_PREFIX only, not also on AT_FDCWD.
39010         (openat_ro): Remove.  Caller changed to use openat_permissive.
39011         (openat_permissive): Now a macro, if not a function.
39012         (openat_restore_fail, openat_save_fail): Now always functions,
39013         since mkdirat needs them even if __OPENAT_PREFIX is defined.
39014
39015         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
39016         and openat.c.
39017         * lib/mkdirat.c: Include openat-priv.h.
39018         Remove definitions of macros defined therein.
39019         * lib/openat.c: Likewise.
39020
39021         * lib/mkdirat.c (mkdirat): New file and function.
39022         * lib/openat.h (mkdirat): Declare.
39023
39024         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
39025
39026         * lib/openat.h (openat_permissive): Declare.
39027         (openat_ro): Define.
39028
39029         * lib/openat.c (EXPECTED_ERRNO): New macro.
39030         (openat_permissive): New function -- used in remove.c rewrite.
39031         (all functions): Set errno just before returning, only if there
39032         was an actual failure.
39033         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
39034
39035         Emulate openat-family functions using Linux's procfs, if possible.
39036         Idea and some code based on Ulrich Drepper's glibc changes.
39037
39038         * lib/openat.c: (BUILD_PROC_NAME): New macro.
39039         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
39040         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
39041         before falling back on save_cwd and restore_cwd.
39042         (fdopendir, fstatat, unlinkat): Likewise.
39043
39044         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
39045         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
39046
39047         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
39048         as second argument to va_arg.  Otherwise, some versions of gcc
39049         warn that `if this code is reached, the program will abort'.
39050
39051 2006-01-09  Jim Meyering  <jim@meyering.net>
39052
39053         Sync from coreutils.
39054         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
39055         Require openat-priv.h.
39056
39057 2006-01-09  Bruno Haible  <bruno@clisp.org>
39058
39059         * modules/strnlen (Include): Use strnlen.h.
39060
39061 2006-01-09  Bruno Haible  <bruno@clisp.org>
39062
39063         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
39064
39065 2006-01-09  Bruno Haible  <bruno@clisp.org>
39066
39067         * lib/sysexit_.h (EX_OK): New macro.
39068         Suggested by Martin Lambers <marlam@marlam.de>.
39069
39070 2006-01-09  Bruno Haible  <bruno@clisp.org>
39071
39072         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
39073         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
39074
39075 2006-01-09  Bruno Haible  <bruno@clisp.org>
39076
39077         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
39078         numbers.
39079
39080 2006-01-09  Bruno Haible  <bruno@clisp.org>
39081
39082         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
39083         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
39084         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
39085         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
39086
39087 2006-01-09  Bruno Haible  <bruno@clisp.org>
39088
39089         * build-aux/javacomp.sh.in: New file, moved from lib/.
39090         * modules/javacomp-script (Files): Update.
39091         (configure.ac): Add AC_CONFIG_FILES invocation.
39092         (EXTRA_DIST): Remove variable.
39093
39094         * build-aux/javaexec.sh.in: New file, moved from lib/.
39095         * modules/javaexec (Files): Update.
39096         (configure.ac): Add AC_CONFIG_FILES invocation.
39097         (EXTRA_DIST): Remove javaexec.sh.in.
39098
39099         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
39100         * modules/csharpcomp-script (Files): Update.
39101         (configure.ac): Add AC_CONFIG_FILES invocation.
39102         (EXTRA_DIST): Remove variable.
39103
39104         * build-aux/csharpexec.sh.in: New file, moved from lib/.
39105         * modules/csharpexec (Files): Update.
39106         (configure.ac): Add AC_CONFIG_FILES invocation.
39107         (EXTRA_DIST): Remove csharpexec.sh.in.
39108
39109 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
39110
39111         Sync from coreutils.
39112
39113         Add POSIX ACL support
39114         * lib/acl.h (copy_acl, set_acl): Add declarations.
39115         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
39116         systems other than Linux.
39117         (chmod_or_fchmod): New function: use fchmod when possible,
39118         and chmod otherwise.
39119         (file_has_acl): Add a POSIX ACL implementation, with a
39120         Linux-specific subcase.
39121         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
39122         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
39123         acls are unsupported.
39124         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
39125         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
39126         are unsupported.
39127
39128 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
39129
39130         Sync from coreutils.
39131         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
39132
39133 2006-01-07  Bruno Haible  <bruno@clisp.org>
39134
39135         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
39136         gl_EARLY.
39137
39138 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
39139
39140         * lib/strftime.c (tzname): Don't declare if it is already #defined.
39141         Problem reported for Mingw by Mark Junker.
39142
39143 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
39144
39145         * README: Gnulib normally doesn't generate a tarball.
39146
39147 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
39148
39149         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
39150         long int, not int, for nanosecond counts, so that people who are
39151         used to POSIX struct timespec won't be surprised.  Reported by Jim
39152         Meyering.
39153
39154 2005-12-28  Bruno Haible  <bruno@clisp.org>
39155
39156         * build-aux/config.rpath: Update from GNU gettext.
39157
39158 2005-12-16  Jim Meyering  <jim@meyering.net>
39159
39160         * modules/fprintftime: New module.
39161         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
39162
39163 2005-12-16  Jim Meyering  <jim@meyering.net>
39164
39165         * m4/fprintftime.m4: New file.
39166
39167 2005-12-16  Jim Meyering  <jim@meyering.net>
39168
39169         * lib/fprintftime.c, lib/fprintftime.h: New files.
39170
39171 2005-12-15  Simon Josefsson  <jas@extundo.com>
39172
39173         * modules/socklen (configure.ac): Fix M4 macro name, to align with
39174         new m4/socklen.m4.
39175
39176 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
39177
39178         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
39179         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
39180
39181 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
39182
39183         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
39184         * lib/argp-help.c (fill_in_uparams): Check if the constructed
39185         struct uparams is valid. Fall back to the default values if it is
39186         not.
39187
39188 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
39189
39190         * modules/argp (Files): Add argp-pin.c
39191         (Depends-on): dirname
39192         (lib_SOURCES): Add argp-pin.c
39193
39194 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
39195
39196         * m4/argp.m4:  Check if program_invocation_name and
39197         program_invocation_short_name are declared and define appropriate
39198         macros if they are not.
39199
39200 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
39201
39202         * lib/argp-help.c (__argp_base_name): New function
39203         (__argp_short_program_name): Rewrite using __argp_base_name
39204         * lib/argp-namefrob.h: Define program_invocation_name and
39205         program_invocation_short_name if requested
39206         (__argp_base_name): Add prototype
39207         * lib/argp-parse.c (argp_def): Use gettext wrappers
39208         (argp_default_parser): Use __argp_base_name
39209         * lib/argp-pin.c: New file. Defines program_invocation_name and
39210         program_invocation_short_name on systems that lack them.
39211
39212 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
39213
39214         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
39215         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
39216         porting problem reported by Georg Schwarz in
39217         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
39218
39219 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
39220
39221         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
39222         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
39223         porting problem reported by Georg Schwarz in
39224         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
39225
39226 2005-12-05  Bruno Haible  <bruno@clisp.org>
39227
39228         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
39229         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
39230         Reported by Mark Junker <mjscod@gmx.de>.
39231
39232 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
39233
39234         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
39235         Use implementation from Albert Chin, with some
39236         comments/corrections by Stepan Kasal and myself.
39237
39238 2005-12-02  Bruno Haible  <bruno@clisp.org>
39239
39240         * gnulib-tool (func_import): Accept GPLed build tool modules when
39241         --lgpl is given.
39242         * modules/csharpcomp-script: New file.
39243         * modules/csharpcomp: Depend on it.
39244         * modules/javacomp-script: New file.
39245         * modules/javacomp: Depend on it.
39246         Suggested by Simon Josefsson.
39247
39248 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
39249
39250         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
39251         statement, to work around an HP-UX 10.20 compiler bug reported by
39252         Peter O'Gorman.
39253
39254 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
39255
39256         * modules/savedir (Depends-on): Add openat.
39257
39258 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
39259
39260         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
39261         (uintmax_t) [defined uintmax_t]: Do not declare.
39262         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
39263         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
39264         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
39265         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
39266         sake of portability to weird hosts that C allows (though we don't
39267         know of any practical examples).
39268
39269         * lib/savedir.h (fdsavedir): New decl.
39270         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
39271         contains most of the former guts of savedir.
39272         (savedir): Use savedirstream.
39273         Include "openat.h".
39274
39275 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
39276
39277         * modules/obstack (Files): Add m4/ulonglong.m4.
39278         Problem reported by Davide Angelocola.
39279
39280 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
39281
39282         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
39283         coreutils no longer futzes with rounding modes.
39284
39285 2005-11-14  Jim Meyering  <jim@meyering.net>
39286
39287         * lib/mkstemp-safer.c: Include <config.h>, required for possible
39288         replacement of mkstemp.
39289
39290 2005-11-10  Simon Josefsson  <jas@extundo.com>
39291
39292         * lib/readline.c: Remove EOL.
39293
39294 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
39295
39296         * modules/gethrxtime (Depends-on): Add gettime.
39297
39298 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
39299
39300         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
39301         or gettimeofday; no longer needed.
39302
39303 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
39304
39305         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
39306         time business.
39307         (gethrxtime) [! (HAVE_NANOUPTIME
39308         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
39309         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
39310         our own approximation.
39311
39312 2005-11-08  Eric Blake  <ebb9@byu.net>
39313
39314         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
39315
39316 2005-11-08  Eric Blake  <ebb9@byu.net>
39317
39318         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
39319
39320 2005-11-04  Bruno Haible  <bruno@clisp.org>
39321
39322         * gnulib-tool: Implement --update mode.
39323
39324 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
39325
39326         Fix porting problem reported by Theodoros V. Kalamatianos.
39327         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
39328         Don't assume that futimes failing means we must fail.
39329
39330 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
39331
39332         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
39333         variables to suggest the intended function of the PATH_MAX check.
39334
39335 2005-10-30  Kean Johnston  <jkj@sco.com>
39336
39337         Trivial changes to support SCO systems.
39338         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
39339         as PATH_MAX.
39340         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
39341         where __ptr is null when no I/O is pending.
39342
39343 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
39344
39345         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
39346         leave errno alone.  Problem reported by Dmitry V. Levin.
39347
39348 2005-10-28  Simon Josefsson  <jas@extundo.com>
39349
39350         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
39351         Test more.
39352
39353         * tests/test-gc-md2.c, tests/test-md2.c: New files.
39354
39355         * modules/md2, modules/md2-tests: New files.
39356
39357 2005-10-28  Simon Josefsson  <jas@extundo.com>
39358
39359         * m4/inet_ntop.m4: More tests.
39360
39361         * m4/gc-md2.m4, md2.m4: New file.
39362
39363 2005-10-28  Simon Josefsson  <jas@extundo.com>
39364
39365         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
39366         "restrict" keywords, as per POSIX.  Protect the function
39367         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
39368         Don't use K&R prototypes.  Check the sprintf return values.
39369         Re-define EAFNOSUPPORT if not present.  Indent.
39370
39371         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
39372         suggested by Bruno Haible <bruno@clisp.org>.
39373
39374         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
39375
39376         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
39377
39378         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
39379         libgcrypt).
39380
39381         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
39382
39383         * lib/md2.h, lib/md2.c: New files.
39384
39385 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
39386
39387         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
39388         errno alone.  Problem reported by Frederic Jolliton.
39389
39390 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
39391
39392         * modules/verify (License): Change from GPL to LGPL.  This is a
39393         tiny module and there are apparently near-equivalents that are
39394         under the BSD license.
39395
39396 2005-10-24  Simon Josefsson  <jas@extundo.com>
39397
39398         * modules/sha1: Relicense to LGPL.
39399
39400 2005-10-24  Simon Josefsson  <jas@extundo.com>
39401
39402         * lib/md4.h: Shrink buffer size, now that we changed the type.
39403
39404 2005-10-23  Simon Josefsson  <jas@extundo.com>
39405
39406         * gnulib-tool (func_import): Fix --tests-base.
39407
39408 2005-10-22  Simon Josefsson  <jas@extundo.com>
39409
39410         * modules/arcfour (Depends-on): Need stdint.
39411
39412 2005-10-22  Simon Josefsson  <jas@extundo.com>
39413
39414         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
39415         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
39416
39417 2005-10-22  Simon Josefsson  <jas@extundo.com>
39418
39419         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
39420         suggested by Bruno Haible <bruno@clisp.org>.
39421
39422 2005-10-22  Simon Josefsson  <jas@extundo.com>
39423
39424         * lib/crc.h: Include stddef.h, for size_t.
39425
39426 2005-10-22  Simon Josefsson  <jas@extundo.com>
39427
39428         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
39429         arcfour_context struct (simplify test vector testing in GNU
39430         Shishi).
39431
39432 2005-10-21  Simon Josefsson  <jas@extundo.com>
39433
39434         * modules/des, modules/des-tests: New files.
39435
39436         * modules/gc-des, modules/gc-des-tests: New files.
39437
39438         * tests/test-des.c, tests/test-gc-des.c: New file.
39439
39440 2005-10-21  Simon Josefsson  <jas@extundo.com>
39441
39442         * modules/arctwo, modules/arctwo-tests: New files.
39443
39444         * tests/test-arctwo.c: New file.
39445
39446         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
39447
39448         * tests/test-gc-arctwo.c: New file.
39449
39450 2005-10-21  Simon Josefsson  <jas@extundo.com>
39451
39452         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
39453         Bruno Haible <bruno@clisp.org>.
39454
39455         * m4/gc-des.m4: New file.
39456
39457 2005-10-21  Simon Josefsson  <jas@extundo.com>
39458
39459         * m4/arctwo.m4: New file.
39460
39461         * m4/gc-arctwo.m4: New file.
39462
39463 2005-10-21  Simon Josefsson  <jas@extundo.com>
39464
39465         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
39466         block.
39467
39468 2005-10-21  Simon Josefsson  <jas@extundo.com>
39469
39470         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
39471         <bruno@clisp.org>.
39472
39473         * lib/hmac-sha1.c (hmac_sha1): Likewise.
39474
39475         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
39476         Bruno Haible <bruno@clisp.org>.
39477
39478         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
39479         <bruno@clisp.org>.
39480
39481 2005-10-21  Simon Josefsson  <jas@extundo.com>
39482
39483         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
39484
39485 2005-10-21  Simon Josefsson  <jas@extundo.com>
39486
39487         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
39488
39489 2005-10-21  Simon Josefsson  <jas@extundo.com>
39490
39491         * lib/des.h, lib/des.c: New files.
39492
39493         * lib/gc-gnulib.c: Support DES.c
39494
39495 2005-10-21  Simon Josefsson  <jas@extundo.com>
39496
39497         * lib/arctwo.h, lib/arctwo.c: New files.
39498
39499         * lib/gc-gnulib.c: Support ARCTWO.
39500
39501 2005-10-21  Simon Josefsson  <jas@extundo.com>
39502
39503         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
39504         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39505
39506 2005-10-21  Simon Josefsson  <jas@extundo.com>
39507
39508         * gnulib-tool (func_import, func_create_testdir): Define automake
39509         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
39510         Makefile.am snippet),
39511         suggested by Bruno Haible <bruno@clisp.org>.
39512
39513         * modules/gc (Makefile.am): Use it.
39514
39515 2005-10-21  Bruno Haible  <bruno@clisp.org>
39516
39517         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
39518         patch.
39519
39520 2005-10-19  Simon Josefsson  <jas@extundo.com>
39521
39522         * tests/test-gc-rijndael.c: New file.
39523
39524         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
39525
39526 2005-10-19  Simon Josefsson  <jas@extundo.com>
39527
39528         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
39529         interface too.
39530
39531 2005-10-19  Simon Josefsson  <jas@extundo.com>
39532
39533         * tests/test-gc-arcfour.c: New file.
39534
39535         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
39536
39537 2005-10-19  Simon Josefsson  <jas@extundo.com>
39538
39539         * modules/gc-md4, modules/gc-md4-tests: New file.
39540
39541         * tests/test-gc-md4.c: New file.
39542
39543 2005-10-19  Simon Josefsson  <jas@extundo.com>
39544
39545         * m4/gc-md4.m4: New file.
39546
39547 2005-10-19  Simon Josefsson  <jas@extundo.com>
39548
39549         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
39550         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
39551         <kasal@ucw.cz>.
39552
39553 2005-10-19  Simon Josefsson  <jas@extundo.com>
39554
39555         * m4/gc-arcfour.m4: New file.
39556
39557         * m4/gc-rijndael.m4: New file.
39558
39559 2005-10-19  Simon Josefsson  <jas@extundo.com>
39560
39561         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
39562
39563 2005-10-19  Simon Josefsson  <jas@extundo.com>
39564
39565         * lib/gc-gnulib.c: Support ARCFOUR.
39566
39567 2005-10-19  Simon Josefsson  <jas@extundo.com>
39568
39569         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
39570         support.
39571
39572         * lib/gc.h: Add ECB enum type.
39573
39574         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
39575
39576 2005-10-18  Simon Josefsson  <jas@extundo.com>
39577
39578         * tests/test-md5.c: New file.
39579
39580         * modules/md5-tests: New file.
39581
39582 2005-10-18  Simon Josefsson  <jas@extundo.com>
39583
39584         * tests/test-md4.c: New file.
39585
39586         * modules/md4, modules/md4-tests: New files.
39587
39588 2005-10-18  Simon Josefsson  <jas@extundo.com>
39589
39590         * m4/md4.m4: New file.
39591
39592 2005-10-18  Simon Josefsson  <jas@extundo.com>
39593
39594         * lib/md4.h, lib/md4.c: New files, based on md5.?.
39595
39596 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
39597
39598         * gnulib-tool (func_create_testdir): Omit the second check whether
39599         BUILT_SOURCES in nonempty.
39600
39601 2005-10-17  Simon Josefsson  <jas@extundo.com>
39602
39603         * tests/test-rijndael.c: New file.
39604
39605 2005-10-17  Simon Josefsson  <jas@extundo.com>
39606
39607         * modules/sha1: Depend on stdint instead of md5.
39608
39609         * modules/md5: Depend on stdint, remove uint32_t.
39610
39611 2005-10-17  Simon Josefsson  <jas@extundo.com>
39612
39613         * modules/gc-sha1-tests: New file.
39614
39615         * tests/test-gc-sha1.c: New file.
39616
39617 2005-10-17  Simon Josefsson  <jas@extundo.com>
39618
39619         * m4/md5.m4: Remove call to uint32_t.m4.
39620
39621 2005-10-17  Simon Josefsson  <jas@extundo.com>
39622
39623         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
39624
39625         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
39626         md5.h.
39627
39628         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
39629
39630         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
39631
39632 2005-10-17  Simon Josefsson  <jas@extundo.com>
39633
39634         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
39635
39636 2005-10-17  Simon Josefsson  <jas@extundo.com>
39637
39638         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
39639
39640 2005-10-17  Simon Josefsson  <jas@extundo.com>
39641
39642         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
39643
39644         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
39645
39646 2005-10-17  Bruno Haible  <bruno@clisp.org>
39647
39648         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
39649         that it can also be used in a test.
39650
39651 2005-10-16  Bruno Haible  <bruno@clisp.org>
39652
39653         * gnulib-tool (func_emit_tests_Makefile_am): Also define
39654         TESTS_ENVIRONMENT, so that individual tests can augment it.
39655
39656         * gnulib-tool (func_create_testdir): Use an intermediate target for
39657         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
39658         macros, like $(ALLOCA_H), which cannot be passed through the command
39659         line.
39660
39661 2005-10-15  Simon Josefsson  <jas@extundo.com>
39662
39663         * modules/rijndael-tests: New file.
39664
39665         * modules/rijndael: New file.
39666
39667 2005-10-15  Simon Josefsson  <jas@extundo.com>
39668
39669         * m4/rijndael.m4: New file.
39670
39671 2005-10-15  Simon Josefsson  <jas@extundo.com>
39672
39673         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
39674
39675         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
39676
39677 2005-10-14  Simon Josefsson  <jas@extundo.com>
39678
39679         * tests/test-arcfour.c: New file.
39680
39681         * modules/arcfour, modules/arcfour-tests: New files.
39682
39683 2005-10-14  Simon Josefsson  <jas@extundo.com>
39684
39685         * m4/arcfour.m4: New file.
39686
39687 2005-10-14  Simon Josefsson  <jas@extundo.com>
39688
39689         * lib/arcfour.h, lib/arcfour.c: New files.
39690
39691 2005-10-14  Roland McGrath  <roland@redhat.com>
39692
39693         Import from libc.  [BZ #1331]
39694         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
39695         macro argument.
39696         Reported by Matej Vela <vela@debian.org>.
39697
39698 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
39699
39700         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
39701         include <wchar.h>; no longer needed.
39702
39703 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
39704
39705         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
39706
39707 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
39708         and  Ulrich Drepper  <drepper@redhat.com>
39709
39710         Import from libc.
39711         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
39712         instead of inline stream orientation test and two separate
39713         function calls.  Pay no attention to USE_IN_LIBIO.
39714
39715 2005-10-13  Simon Josefsson  <jas@extundo.com>
39716
39717         * modules/gc-hmac-md5-tests: New file.
39718
39719         * tests/test-gc-hmac-sha1.c: New file.
39720
39721         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
39722
39723         * modules/gc-hmac-md5-tests: New file.
39724
39725         * tests/test-gc-md5.c: New file.
39726
39727         * modules/gc-md5-tests: New file.
39728
39729 2005-10-13  Simon Josefsson  <jas@extundo.com>
39730
39731         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
39732         Move memory allocation outside of loop.
39733
39734 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
39735
39736         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
39737         intermediate directory is in a read-only file system.  Problem
39738         reported by Eric Blake.
39739
39740 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
39741
39742         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
39743
39744 2005-10-12  Simon Josefsson  <jas@extundo.com>
39745
39746         * tests/test-hmac-sha1.c: New file.
39747
39748         * modules/hmac-sha1-tests: New file.
39749
39750         * modules/hmac-sha1: New file.
39751
39752 2005-10-12  Simon Josefsson  <jas@extundo.com>
39753
39754         * modules/gc-sha1: New file.
39755
39756 2005-10-12  Simon Josefsson  <jas@extundo.com>
39757
39758         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
39759
39760         * tests/test-gc-pbkdf2-sha1.c: New file.
39761
39762 2005-10-12  Simon Josefsson  <jas@extundo.com>
39763
39764         * modules/gc-md5, modules/gc-hmac-md5: New files.
39765
39766         * modules/gc (Files): Remove md5, memxor and hmac files.
39767
39768 2005-10-12  Simon Josefsson  <jas@extundo.com>
39769
39770         * m4/gc-pbkdf2-sha1.m4: New file.
39771
39772         * m4/gc-hmac-sha1.m4: New file.
39773
39774         * m4/gc-sha1: New file.
39775
39776         * m4/hmac-sha1.m4: New file.
39777
39778 2005-10-12  Simon Josefsson  <jas@extundo.com>
39779
39780         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
39781
39782         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
39783
39784 2005-10-12  Simon Josefsson  <jas@extundo.com>
39785
39786         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
39787         suggested by Bruno Haible <bruno@clisp.org>.
39788
39789 2005-10-12  Simon Josefsson  <jas@extundo.com>
39790
39791         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
39792
39793 2005-10-12  Simon Josefsson  <jas@extundo.com>
39794
39795         * lib/gc-pbkdf2-sha1.c: New file.
39796
39797         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
39798
39799 2005-10-12  Simon Josefsson  <jas@extundo.com>
39800
39801         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
39802
39803         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
39804
39805 2005-10-12  Simon Josefsson  <jas@extundo.com>
39806
39807         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
39808         GC_USE_HMAC_MD5, respectively.
39809
39810         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
39811         (gc_md5): Fix typo.
39812
39813         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
39814
39815         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
39816
39817         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
39818
39819 2005-10-12  Bruno Haible  <bruno@clisp.org>
39820
39821         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
39822         Reported by Stepan Kasal <kasal@ucw.cz>.
39823
39824 2005-10-11  Simon Josefsson  <jas@extundo.com>
39825
39826         * tests/test-crc.c: New file.
39827
39828         * modules/crc, modules/crc-tests: New files.
39829
39830 2005-10-11  Simon Josefsson  <jas@extundo.com>
39831
39832         * m4/crc.m4: New file.
39833
39834 2005-10-11  Simon Josefsson  <jas@extundo.com>
39835
39836         * lib/gc.h: Add gc_hash and gc_hash_buffer.
39837
39838         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
39839
39840         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
39841
39842 2005-10-11  Simon Josefsson  <jas@extundo.com>
39843
39844         * lib/crc.h, lib/crc.c: New files.
39845
39846         * lib/gc.h (gc_hash_buffer): Add doc.
39847
39848 2005-10-11  Bruno Haible  <bruno@clisp.org>
39849
39850         * modules/c-strcasestr: New file.
39851         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
39852
39853 2005-10-11  Bruno Haible  <bruno@clisp.org>
39854
39855         * modules/c-strcase: New file.
39856         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
39857
39858 2005-10-11  Bruno Haible  <bruno@clisp.org>
39859
39860         * lib/strcasecmp.c: Include limits.h.
39861         (strcasecmp): Avoid integer overflow on exotic platforms.
39862         * lib/strncasecmp.c: Include limits.h.
39863         (strncasecmp): Avoid integer overflow on exotic platforms.
39864         Reported by Paul Eggert.
39865
39866 2005-10-11  Bruno Haible  <bruno@clisp.org>
39867
39868         * lib/c-strcasestr.h: New file, from GNU gettext.
39869         * lib/c-strcasestr.c: New file, from GNU gettext.
39870
39871 2005-10-11  Bruno Haible  <bruno@clisp.org>
39872
39873         * lib/c-strcase.h: New file, from GNU gettext.
39874         * lib/c-strcasecmp.c: New file, from GNU gettext.
39875         * lib/c-strncasecmp.c: New file, from GNU gettext.
39876
39877 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
39878
39879         * modules/mempcpy (License): GPL -> LGPL.
39880         * modules/strchrnul (License): Likewise.
39881         * modules/sysexits (License): Likewise.
39882
39883 2005-10-08  Simon Josefsson  <jas@extundo.com>
39884
39885         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
39886
39887 2005-10-07  Simon Josefsson  <jas@extundo.com>
39888
39889         * m4/memxor.m4: Remove gl_C_RESTRICT call.
39890
39891 2005-10-06  Simon Josefsson  <jas@extundo.com>
39892
39893         * tests/test-hmac-md5.c: New file.
39894
39895         * modules/hmac-md5-tests: New file.
39896
39897         * modules/hmac-md5: New file.
39898
39899 2005-10-06  Simon Josefsson  <jas@extundo.com>
39900
39901         * m4/hmac-md5.m4: New file.
39902
39903         * m4/memxor.m4: Require gl_C_RESTRICT.
39904
39905 2005-10-06  Simon Josefsson  <jas@extundo.com>
39906
39907         * lib/memxor.c (memxor): Avoid casts and warnings.
39908
39909 2005-10-06  Simon Josefsson  <jas@extundo.com>
39910
39911         * lib/hmac-md5.c: New file.
39912
39913         * lib/hmac.h: New file.
39914
39915 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
39916
39917         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
39918         promotes to int, not unsigned int, to catch the AIX 5.3
39919         compiler bug.
39920
39921 2005-10-05  Simon Josefsson  <jas@extundo.com>
39922
39923         * modules/memxor: New file.
39924
39925         * modules/iconv (Files): Move config.rpath to havelib, it is used
39926         there.
39927
39928         * modules/havelib (Files): Add config.rpath.
39929
39930 2005-10-05  Simon Josefsson  <jas@extundo.com>
39931
39932         * m4/memxor.m4: New file.
39933
39934 2005-10-05  Simon Josefsson  <jas@extundo.com>
39935
39936         * lib/memxor.c (memxor): Fix compiler error.
39937
39938         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
39939         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
39940
39941         * lib/memxor.h, lib/memxor.c: New files.
39942
39943         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
39944         we assume all systems have it, suggested by Jim Meyering
39945         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
39946         any systems lack sys/socket.h; mingw32 is known to lack it, but we
39947         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
39948         same reasons.
39949
39950 2005-10-05  Simon Josefsson  <jas@extundo.com>
39951
39952         * config/srclist.txt: Add glibc bug 1423 for md5.h.
39953
39954 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
39955
39956         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
39957         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
39958         needed, since the source code now assumes these .h files.
39959
39960 2005-10-05  Derek Price  <derek@ximbiot.com>
39961
39962         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
39963
39964 2005-10-05  Bruno Haible  <bruno@clisp.org>
39965
39966         * modules/stdint (License): Change to LGPL.
39967
39968 2005-10-04  Simon Josefsson  <jas@extundo.com>
39969
39970         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
39971         D. Baushke" <mdb@gnu.org>.
39972
39973 2005-10-04  Bruno Haible  <bruno@clisp.org>
39974
39975         * lib/verify.h (verify_true): Provide alternative definition for C++.
39976
39977 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
39978
39979         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
39980         (SSIZE_MAX): New macro, if not already defined.
39981         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
39982         than 2 GiB.
39983
39984 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
39985
39986         Sync from coreutils.
39987         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
39988         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
39989         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
39990         ULLONG_MAX doesn't work with 2.7.2.1.
39991
39992 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
39993
39994         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
39995         From Ben Pfaff.
39996
39997         * modules/exclude (Depends-on): Depend on verify.
39998         * modules/strtoimax (Depends-on): Likewise.
39999         * modules/utimecmp (Depends-on): Likewise.
40000
40001 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
40002
40003         * lib/exclude.c: Include verify.h.
40004         (verify): Remove.  All callers changed to use verify.h's version.
40005         * lib/strtoimax.c: Likewise.
40006         * lib/utimecmp.c: Likewis.e
40007
40008         Sync from coreutils.
40009         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
40010         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
40011         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
40012         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
40013         bother returning ENOSYS if settimeofday or stime fails; just let
40014         them return whatever errno they want to return.
40015         * lib/utimens.c: Include unistd.h, for dup2.
40016         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
40017         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
40018
40019 2005-10-02  Jim Meyering  <jim@meyering.net>
40020
40021         Sync from coreutils.
40022         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
40023         from glibc-2.2.5 that fails for read-only files.
40024
40025 2005-10-02  Jim Meyering  <jim@meyering.net>
40026
40027         Sync from coreutils.
40028         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
40029         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
40030         `#if HAVE_CONFIG_H'.
40031         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
40032         Remove AT_FDCWD test.
40033         Do not consume the fd unless successful.
40034         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
40035         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
40036         block, so that we don't even try to compile it if settimeofday is
40037         available.  This works around a compilation failure on OSF1 V5.1,
40038         due to stime requiring a `long int*' while tv_sec is `int'.
40039
40040 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
40041
40042         Sync from coreutils.
40043         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
40044         against `yes', rather than just testing for nonempty.
40045
40046 2005-10-01  Simon Josefsson  <jas@extundo.com>
40047
40048         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
40049         and Darwin.
40050
40051         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
40052         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
40053         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
40054         freeaddrinfo and gai_strerror are declared by the POSIX headers.
40055         Check if struct addrinfo is declared.
40056
40057 2005-10-01  Simon Josefsson  <jas@extundo.com>
40058
40059         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
40060         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
40061         AI_* and EAI_* definitions.  Protect function declarations.
40062
40063 2005-10-01  Jim Meyering  <jim@meyering.net>
40064
40065         Sync from coreutils.
40066
40067         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
40068         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
40069         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
40070         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
40071         in the inet and nsl libraries.  Required on Solaris 5.7.
40072
40073 2005-10-01  Jim Meyering  <jim@meyering.net>
40074
40075         Sync from coreutils.
40076         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
40077         in the inet and nsl libraries.  Required on Solaris 5.7.
40078
40079 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
40080
40081         * lib/getdelim.c (getdelim): Remove unused variables.
40082
40083 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
40084
40085         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
40086         so that the code works even with ancient cpp.  Portability problem
40087         with GCC 2.7.2.1 reported by Thomas M.Ott.
40088
40089 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
40090
40091         * modules/regex (Depends-on): Add strcase.
40092
40093         * modules/gethostname (Licence): Change from GPL to LGPL, since
40094         gethostname.c is a trivial implementation of a standard library
40095         function.
40096         * modules/poll (License): Change from GPL to LGPL, since it's
40097         derived from LGPL code.
40098
40099 2005-09-27  Jim Meyering  <jim@meyering.net>
40100
40101         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
40102         HAVE_CONFIG_H.
40103
40104         * lib/intprops.h (signed_type_or_expr__): Define.
40105         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
40106         for unsigned types.
40107
40108 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
40109
40110         * lib/verify.h (verify_expr): Remove, replacing with:
40111         (verify_true): New macro that returns true instead of void.
40112         (verify_type__): Remove.
40113         (verify): Use verify_true rather than verify_type__.
40114
40115 2005-09-26  Bruno Haible  <bruno@clisp.org>
40116
40117         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
40118         is necessary.
40119         (lib_SOURCES): Remove mbchar.c.
40120         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
40121         (Files): Add m4/mbrtowc.m4.
40122         * modules/mbiter: Likewise.
40123         * modules/mbuiter: Likewise.
40124
40125 2005-09-26  Bruno Haible  <bruno@clisp.org>
40126
40127         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
40128         compile mbchar.c if they are not both present.
40129         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
40130         * m4/mbiter.m4 (gl_MBITER): Likewise.
40131         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
40132         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
40133         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
40134
40135 2005-09-25  Jim Meyering  <jim@meyering.net>
40136
40137         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
40138         also uses socklen_t.
40139
40140 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
40141
40142         * lib/utimens.c (ENOSYS): Define if not already defined.
40143         (futimens): Support having a null PATH if the file descriptor
40144         is nonnegative.
40145
40146         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
40147         Remove.
40148         (__attribute): Define to empty unless GCC 3.1 or later.
40149         This works around a core dump on OpenBSD 3.4, which has GCC
40150         2.95.3, which dumps core when given __attribute__(()).  It also
40151         simplifies other tests, since we really don't want to bother with
40152         worrying about which ancient version of GCC supported what.
40153         Original problem reported by Yoann Vandoorselaere, with part of
40154         the fix suggested by Derek Price.
40155
40156 2005-09-24  Jim Meyering  <jim@meyering.net>
40157
40158         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
40159         so we can once again use a positive bitfield width of 1 -- now we
40160         don't have to explain why we were using a bitfield width of 2.
40161
40162 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
40163
40164         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
40165         and similarly for the other external symbols.  Problem reported
40166         by James Gallager.
40167
40168         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
40169         bug reported by Jim Meyering.
40170
40171         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
40172         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
40173         not needed, since socklen is a prerequisite module.
40174
40175 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
40176
40177         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
40178         Problem reported by Eric Blake.
40179         (getaddrinfo): Initialize se so that it's not garbage.
40180         Redo internal storage allocation so that it doesn't make unportable
40181         assumptions about alignment.
40182         Fix a memory leak.
40183
40184         * lib/utimens.c (futimens): Use futimesat if available.
40185         Prefer it to futimes since it doesn't have the futimes bug.
40186
40187         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
40188         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
40189         Instead, declare a function that returns a pointer to an array,
40190         and use verify_type__ to declare the size of the array.
40191         Problem and germ of a solution reported by Bruno Haible.
40192         (verify_type__): Use 2, not 1, for bitfield size, to avoid
40193         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
40194
40195 2005-09-23  Jim Meyering  <jim@meyering.net>
40196
40197         Sync from coreutils.
40198         Correct build failure (socklen_t not defined) on at least
40199         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
40200         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
40201
40202 2005-09-23  Jim Meyering  <jim@meyering.net>
40203
40204         * modules/getaddrinfo (Depends-on): Add socklen.
40205
40206 2005-09-23  Bruno Haible  <bruno@clisp.org>
40207
40208         * tests/test-verify.c: New file.
40209
40210 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
40211
40212         Sync from coreutils.
40213
40214         * modules/argmatch (Depends-on): Add verify.
40215         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
40216         unistd-safer.
40217         * modules/save-cwd (Depends-on): Likewise.
40218
40219         * modules/openat (Files): Add lib/openat-die.c.
40220         (Depends-on): Remove error, exitfail.
40221         Add dirname.
40222
40223         * modules/verify: New file.
40224         * MODULES.html.sh (Diagnostics <assert.h>): New section,
40225         with "verify" module.
40226
40227 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
40228
40229         Sync from coreutils.
40230
40231         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
40232         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
40233         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
40234         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
40235         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
40236         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
40237         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
40238         Don't bother checking for string.h, stdlib.h, unistd.h.
40239         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
40240         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
40241         module's job.
40242         * m4/jm-macros.m4 (gl_MACROS): Likewise.
40243         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
40244
40245         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
40246         (gl_GETDATE): Use it.
40247
40248         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
40249
40250 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
40251
40252         Sync from coreutils.
40253
40254         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
40255         stat-time.h.
40256         * lib/argmatch.h: Include verify.h
40257         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
40258         (ARGMATCH_ASSERT): Remove; unused.
40259         * lib/canonicalize.c: Assume STDC_HEADERS.
40260         * lib/exclude.c: Include "strcase.h".
40261         * lib/regex_internal.h [!defined _LIBC]: Likewise.
40262         * lib/getusershell.c: Include stdio--.h rather than stdio.h
40263         and stdio-safer.h.
40264         (getusershell): Call fopen, not fopen_safer.
40265         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
40266         Do not include unistd-safer.h.
40267         (save_cwd): Don't call fd_safer; no longer needed
40268         now that we include fcntl--.h.
40269
40270         * lib/getdate.y (relative_time): New type.
40271         (RELATIVE_TIME_0): New constant.
40272         (parser_control): Use relative_time instead of doing it ourselves.
40273         (%union): Add new relative_time rel member.
40274         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
40275         Now typeless.
40276         (relunit, relunit_snumber): Now of type rel.
40277         (zone, rel, relunit, get_date): Adjust to above changes.
40278
40279         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
40280         Do not include unistd-safer.h.
40281         (getloadavg): Don't call fd_safer; no longer needed
40282         now that we include fcntl--.h.
40283
40284         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
40285         (make_dir_parents): Treat ENOSYS like EEXIST.
40286
40287         Improve quality of diagnostics on restore_cwd failure.
40288         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
40289         (make_dir_parents): Last arg is now int * (for errno), not bool *.
40290         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
40291         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
40292         each time through the loop.  Do not diagnose restore_cwd failure;
40293         that is the caller's job (and perhaps the caller does not care).
40294
40295         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
40296         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
40297         If the file already exists but is not a directory, don't bother
40298         to try to make its parents.
40299         Close potential file descriptor leak if we can't chdir("/") (!).
40300         Don't always return true if chdir($PWD) fails; return true only
40301         if the requested action was done successfully (except for the
40302         chdir($PWD)).
40303         Don't log final directory unless we actually made it.
40304         Refactor to avoid duplicate code to fix up permissions.
40305         Don't attempt to fix up parent permissions if chdir($PWD) fails.
40306
40307         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
40308         to make it a bit faster and (I hope) clearer.
40309         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
40310         Fix bug in formats like %2N.
40311
40312         * lib/verify.h: New file.
40313
40314 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
40315
40316         Sync from coreutils.
40317         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
40318
40319 2005-09-22  Jim Meyering  <jim@meyering.net>
40320
40321         Sync from coreutils.
40322
40323         * m4/lstat.m4 (gl_FUNC_LSTAT):
40324         Use AC_LIBSOURCES to require lstat.c and lstat.h.
40325         Remove obsolete comment.
40326         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
40327         * m4/xstrtod.m4: Likewise.
40328
40329         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
40330
40331 2005-09-22  Jim Meyering  <jim@meyering.net>
40332
40333         Sync from coreutils.
40334
40335         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
40336
40337         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
40338         the .tm_year member, since otherwise gcc-4.0 would now warn about
40339         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
40340
40341         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
40342         order to avoid an unsuppressible warning from gcc on 64-bit systems.
40343
40344         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
40345         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
40346         when run in a time zone for which daylight savings time is in effect
40347         for the starting date.
40348
40349         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
40350         stop us from restricting permissions of just-created absolute-named
40351         directories.
40352         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
40353         to restore initial working directory.
40354         * lib/mkdir-p.c (make_dir_parents): New parameter:
40355         different_working_dir, to tell caller if/when we change the working
40356         directory and are unable to return to the initial one.
40357         * lib/mkdir-p.h (make_dir_parents): Update prototype.
40358         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
40359         `return false'.  This fixes a bug introduced on 2004-07-30.
40360
40361         * lib/openat.c (fdopendir): Be sure to close the supplied
40362         file descriptor before returning.  This makes our replacement
40363         implementation a little closer to Solaris's, where fdopendir
40364         ties the file descriptor to the returned DIR* pointer.
40365         * lib/openat.c (unlinkat): New function.
40366         * lib/openat.h (unlinkat): Add prototype.
40367         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
40368         (openat_restore_fail): Rename from openat_restore_die.
40369         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
40370
40371         Provide an alternative to exiting immediately upon save_cwd or
40372         restore_cwd failure.  Now, an application can arrange e.g.,
40373         to perform a longjump in that case.
40374         * lib/openat.c: Include dirname.h.
40375         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
40376         (rpl_openat, fdopendir, fstatat): Call openat_save_die
40377         and openat_restore_die rather than calling error directly.
40378         Don't include "error.h" or "exitfail.h"; they're no longer needed.
40379
40380         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
40381         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
40382         define.
40383
40384         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
40385         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
40386                             int utc, int nanoseconds);
40387         Background:
40388         date should not have to allocate a megabyte of virtual memory to
40389         handle a format argument like +%1048575T.  When implemented with
40390         strftime, it must allocate such a buffer, use strftime to fill it
40391         in, print it, then free it.
40392         With fprintftime, it simply prints everything and exits.
40393         With no need for memory allocation, that's one fewer way to fail.
40394         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
40395         optional field width, not before, so we accept %9:z, not %:9z.
40396         (my_strftime): Be sure to use L_('x') for literals.
40397
40398         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
40399         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
40400         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
40401         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
40402         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
40403         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
40404         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
40405         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
40406         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
40407         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
40408         * lib/xgethostname.c, lib/xreadlink.c:
40409         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
40410
40411         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
40412         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
40413         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
40414         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
40415         and don't include <sys/file.h>).
40416
40417 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
40418
40419         Sync from coreutils.
40420
40421         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
40422         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
40423         [!LDAV_DONE]: Avoid unused variable warning.
40424
40425 2005-09-21  Bruno Haible  <bruno@clisp.org>
40426
40427         * lib/unicodeio.h (unicode_to_mb): New declaration.
40428
40429 2005-09-20  Derek Price  <derek@ximbiot.com>
40430
40431         * lib/getaddrinfo.c: Don't include <netdb.h> included from
40432         getaddrinfo.h.
40433
40434 2005-09-20  Bruno Haible  <bruno@clisp.org>
40435
40436         * gnulib-tool: Remove trailing slashes from the values specified for
40437         --source-base, --m4-base, --tests-base, --aux-dir.
40438         Suggested by Simon Josefsson <jas@extundo.com>.
40439
40440 2005-09-20  Bruno Haible  <bruno@clisp.org>
40441
40442         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
40443         func_modules_to_filelist, func_import, func_create_testdir): Make all
40444         sorting results locale-independent, so that gnulib-cache.m4 doesn't
40445         change when gnulib-tool is invoked in a different locale.
40446
40447 2005-09-19  Simon Josefsson  <jas@extundo.com>
40448
40449         * m4/socklen.m4: Fix typo.
40450
40451 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40452
40453         Use a consistent style for including <config.h>.
40454         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
40455         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
40456         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
40457         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
40458         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
40459         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
40460         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
40461         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
40462         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
40463         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
40464         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
40465         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
40466         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
40467         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
40468         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
40469         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
40470         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
40471         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
40472         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
40473         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
40474         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
40475         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
40476         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
40477         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
40478         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
40479         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
40480         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
40481         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
40482         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
40483         lib/xstrtoumax.c, lib/yesno.c:
40484         Standardize inclusion of config.h.
40485         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
40486         lib/inttostr.h:  Removed inclusion of config.h from header files.
40487         * lib/inttostr.c:  Adjusted in-tree users.
40488         * lib/timespec.h: Remove superfluous warning to include config.h.
40489         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
40490         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
40491         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
40492         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
40493         config.h with HAVE_CONFIG_H.
40494
40495 2005-09-19  Jim Meyering  <jim@meyering.net>
40496
40497         * modules/pathmax (License): Change to LGPL.
40498
40499 2005-09-19  Derek Price  <derek@ximbiot.com>
40500
40501         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
40502
40503 2005-09-19  Bruno Haible  <bruno@clisp.org>
40504
40505         * gnulib-tool (import): Provide default for --tests-base.
40506
40507 2005-09-19  Bruno Haible  <bruno@clisp.org>
40508
40509         * doc/quote.texi: New file, extracted from gnulib.texi.
40510         * doc/ctime.texi: New file, extracted from gnulib.texi.
40511         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
40512         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
40513         * doc/gnulib.texi: Include them.
40514
40515 2005-09-18  Bruno Haible  <bruno@clisp.org>
40516
40517         Portability fix.
40518         * gnulib-tool (func_readlink): New function.
40519         (func_ln_if_changed): Use it.
40520
40521 2005-09-18  Bruno Haible  <bruno@clisp.org>
40522
40523         * gnulib-tool: Support --with-tests also with --import.
40524         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
40525         (func_import): Use variables $testsbase and $inctests. Emit a
40526         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
40527         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
40528         SUBDIRS += $testsdir.
40529         (func_create_testdir): Update.
40530
40531 2005-09-18  Bruno Haible  <bruno@clisp.org>
40532
40533         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
40534         instead of $dry_run.
40535         (func_cp_if_changed, func_mv_if_changed): Remove functions.
40536         (func_ln_if_changed): Don't handle dry-run here.
40537         (func_import): In dry-run mode, detect more precisely which actions
40538         would be performed, and don't use "...ing" verbs.
40539
40540 2005-09-18  Bruno Haible  <bruno@clisp.org>
40541
40542         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
40543         (func_import): Use join on two temporary files instead of three nested
40544         loops, in order to determine which files are new or old.
40545
40546 2005-09-18  Bruno Haible  <bruno@clisp.org>
40547
40548         * gnulib-tool (func_import): Comment out code that spits out the
40549         new files with --dry-run.
40550
40551 2005-09-18  Bruno Haible  <bruno@clisp.org>
40552
40553         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
40554
40555 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
40556
40557         * lib/stat-time.h: New file.
40558         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
40559         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
40560         in a different way.
40561         (timespec_cmp): New function.
40562         * lib/utimecmp.c: Include stat-time.h.
40563         (SYSCALL_RESOLUTION): Depend on whether various struct stat
40564         members exist, not on the obsolescent ST_MTIM_NSEC.
40565         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
40566
40567 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
40568
40569         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
40570
40571 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
40572
40573         * MODULES.html.sh (File system functions): Add stat-time.
40574         * modules/stat-time: New file.
40575         * modules/timespec (Files): Remove m4/st_mtim.m4; this
40576         is now done in a different way, by the stat-time module.
40577         * modules/utimecmp (Depends-on): Add stat-time.
40578
40579 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
40580
40581         * m4/st_mtim.m4: Remove.  Superseded by...
40582         * m4/stat-time.m4: New file.
40583         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
40584         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
40585
40586 2005-09-15  Derek Price  <derek@ximbiot.com>
40587
40588         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
40589
40590 2005-09-15  Derek Price  <derek@ximbiot.com>
40591
40592         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
40593         * lib/regex_internal.c: Ditto, using this...
40594         (__GNUC_PREREQ): ...new macro.
40595         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
40596         using...
40597         (__GNUC_PREREQ): ...this new macro.
40598
40599         * lib/strstr.h: Include string.h. Define strstr as a macro here.
40600
40601 2005-09-15  Derek Price  <derek@ximbiot.com>
40602             Paul Eggert  <eggert@cs.ucla.edu>
40603
40604         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
40605         changes, consolidating in...
40606         * lib/regex_internal.h: ...this file.
40607
40608 2005-09-13  Jim Meyering  <jim@meyering.net>
40609
40610         * lib/canon-host.c: Filter through gnu indent and reword comments
40611         slightly.
40612         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
40613
40614 2005-09-13  Derek Price  <derek@ximbiot.com>
40615
40616         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
40617         failure.
40618         Reported by Jim Meyering  <jim@meyering.net>.
40619
40620 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
40621
40622         * lib/base64.c: Typo.
40623         (base64_encode): Put b64str in initialized data section.
40624
40625 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
40626
40627         Merge glibc and coreutils changes into gnulib, plus a few
40628         extra fixes.
40629         * lib/md5.c: Use #error rather than a string.
40630         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
40631         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
40632         (__attribute__): Define to empty for non recent-GCC.
40633         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
40634         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
40635         Renamed from their non-__ counterparts, with new macros replacing
40636         them if not _LIBC.  Add __THROW attribute.
40637         (rol): Remove.
40638         (struct md5_ctx): Align buffer if using GCC.
40639         * lib/sha1.h (struct sha1_ctx): Likewise.
40640         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
40641         The old name was backwards.
40642         (NOTSWAP): Remove; not used.
40643         (rol): New macro, moved here from md5.h.
40644         (sha1_process_block): Remove a FIXME that doesn't make sense.
40645
40646 2005-09-12  Derek Price  <derek@ximbiot.com>
40647
40648         Return usable errors from canon-host.
40649         * lib/canon-host.h: New file.
40650         * lib/canon-host.c (canon_host): Wrap...
40651         (canon_host_r): ...this new function, which now relies exclusively on
40652         getaddrinfo.
40653         (ch_strerror): New function.
40654         (last_cherror): New global.
40655         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
40656         interface.
40657         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
40658         void *.
40659         (freeaddrinfo): Free ai->ai_canonname when set.
40660
40661 2005-09-12  Derek Price  <derek@ximbiot.com>
40662
40663         Make canon-host require getaddrinfo.
40664         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
40665         AC_LIBSOURCE canon-host.h.  Call...
40666         (gl_PREREQ_CANON_HOST): ...this new function, which requires
40667         gl_GETADDRINFO.
40668         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
40669
40670 2005-09-12  Derek Price  <derek@ximbiot.com>
40671
40672         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
40673         LGPL.
40674         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
40675
40676 2005-09-12  Derek Price  <derek@ximbiot.com>
40677
40678         * lib/gai_strerror.c: Include config.h when available.  Include
40679         getaddrinfo.h before other headers to test interface.
40680         Reported by Larry Jones <lawrence.jones@ugs.com>.
40681
40682 2005-09-12  Derek Price  <derek@ximbiot.com>
40683             Paul Eggert  <eggert@cs.ucla.edu>
40684
40685         * modules/glob (Files): Add glob-libc.h.
40686
40687 2005-09-12  Derek Price  <derek@ximbiot.com>
40688             Paul Eggert  <eggert@cs.ucla.edu>
40689
40690         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
40691         glob_.h, glob-libc.h.
40692         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
40693
40694 2005-09-12  Derek Price  <derek@ximbiot.com>
40695             Paul Eggert  <eggert@cs.ucla.edu>
40696
40697         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
40698         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
40699         protecting things that should be done only in gnulib contexts.
40700         * lib/glob_.h: New file, containing only the glob things needed for
40701         gnulib.
40702         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
40703         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
40704         (glob, globfree, glob_pattern_p): Now defined simply in terms of
40705         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
40706         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
40707         and to respect the namespace rules better.
40708
40709 2005-09-08  Simon Josefsson  <jas@extundo.com>
40710
40711         * modules/socklen: New file.
40712
40713 2005-09-08  Simon Josefsson  <jas@extundo.com>
40714
40715         * m4/socklen.m4: New file.
40716
40717 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
40718
40719         * modules/utimens (Files): Add m4/utimbuf.m4, since
40720         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
40721         Reported by Sergey Poznyakoff.
40722
40723 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
40724
40725         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
40726         definitions, since that's the preferred style in glibc.
40727         Fix a minor spacing issue, and update copyright notice to match
40728         glibc's.
40729
40730 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
40731
40732         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
40733
40734 2005-09-06  Simon Josefsson  <jas@extundo.com>
40735
40736         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
40737         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
40738
40739 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
40740
40741         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
40742         warning.
40743
40744 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
40745
40746         * config/srclist.txt: Add glibc bug 1302.
40747
40748 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
40749
40750         Change bitset word type from unsigned int to unsigned long int,
40751         as this has better performance on typical 64-bit hosts.
40752         Port bitset code to hosts with unusual word sizes.
40753         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
40754         (build_collating_symbol):
40755         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
40756         argument is a bitset.  This is merely a style issue, but it makes
40757         it clearer that an entire array is expected.
40758         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
40759         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
40760         Port to the case where bitset_word is not the same as unsigned int.
40761         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
40762         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
40763         Likewise.
40764         * lib/regexec.c (check_dst_limits_calc_pos_1,
40765         check_subexp_matching_top):
40766         (build_trtable, group_nodes_into_DFAstates):
40767         Likewise.
40768         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
40769         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
40770         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
40771         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
40772         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
40773         * lib/regcomp.c (optimize_subexps, lower_subexp):
40774         Work even if bitset_word has holes in its bitwise representation.
40775         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
40776         * lib/regexec.c (check_dst_limits_calc_pos_1,
40777         check_subexp_matching_top):
40778         Likewise.
40779         * lib/regex_internal.c (re_string_reconstruct):
40780         Don't assume UCHAR_MAX == 255.
40781         * lib/regex_internal.h (bitset_set_all): Likewise.
40782         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
40783         All uses changed.
40784         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
40785         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
40786         All uses changed.
40787         (BITSET_WORD_MAX): New macro.
40788         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
40789         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
40790         (bitset_empty, bitset_copy):
40791         Prefer sizeof (bitset) to multiplying it out ourselves.
40792         (bitset_not_merge): Remove; unused.
40793         (bitset_contain): Return bool, not unsigned int with one bit on.
40794         All callers changed.
40795         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
40796         alignment than re_node_set; do this by defining a new internal
40797         type struct dests_alloc and using it to allocate memory.
40798
40799 2005-09-05  Bruno Haible  <bruno@clisp.org>
40800
40801         * gnulib-tool (func_import): Fix comparison in handling of symbolic
40802         links.
40803
40804 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
40805
40806         * modules/size_max (Makefile.am): Add size_max.h
40807
40808 2005-09-04  Derek Price  <derek@ximbiot.com>
40809
40810         * gnulib-tool (func_import): Fix reversed $symbolic logic.
40811
40812 2005-09-03  Simon Josefsson  <jas@extundo.com>
40813
40814         * gnulib-tool: Fix typo.
40815
40816 2005-09-03  Simon Josefsson  <jas@extundo.com>
40817
40818         * config/srclist.txt: Add glibc bug 1293.
40819
40820 2005-09-03  Derek Price  <derek@ximbiot.com>
40821
40822         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
40823         From Larry Jones <lawrence.jones@ugs.com>.
40824
40825 2005-09-02  Simon Josefsson  <jas@extundo.com>
40826
40827         * modules/socklen: New file.
40828
40829 2005-09-02  Simon Josefsson  <jas@extundo.com>
40830
40831         * modules/havelib: New module.
40832
40833         * modules/gettext, modules/iconv, modules/lock, modules/readline:
40834         Use havelib.
40835
40836 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
40837
40838         Check for arithmetic overflow when calculating sizes, to prevent
40839         some buffer-overflow issues.  These patches are conservative, in the
40840         sense that when I couldn't determine whether an overflow was possible,
40841         I inserted a run-time check.
40842         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
40843         macros.
40844         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
40845         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
40846         (re_xnrealloc, re_x2nrealloc): New inline functions.
40847         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
40848         parse_bracket_exp):
40849         (build_equiv_class, build_charclass): Check for arithmetic overflow
40850         in size expression calculations.
40851         * lib/regex_internal.c (re_string_realloc_buffers):
40852         (build_wcs_upper_buffer, re_node_set_add_intersect):
40853         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
40854         (re_dfa_add_node, register_state): Likewise.
40855         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
40856         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
40857         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
40858         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
40859
40860 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
40861
40862         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
40863         m4/ulonglong.m4.  Problem reported by Martin Lambers.
40864
40865 2005-09-02  Bruno Haible  <bruno@clisp.org>
40866
40867         Support for lib vs. lib64 distinction on biarch platforms.
40868         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
40869         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
40870         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
40871
40872 2005-09-02  Bruno Haible  <bruno@clisp.org>
40873
40874         * gnulib-tool (import): In the other first-use case, provide defaults
40875         as well.
40876
40877 2005-09-02  Bruno Haible  <bruno@clisp.org>
40878
40879         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
40880         patches not yet found in the latest gettext release.
40881
40882 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
40883
40884         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
40885         to avoid a collision with bits/local_lim.h in glibc.
40886         All uses changed.  Problem reported by Dmitry V. Levin in
40887         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
40888
40889         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
40890         bugs in int versus size_t comparisons.
40891         (re_string_context_at): Fix bug where the code assumed that
40892         Idx is signed.
40893
40894         Use bool where appropriate.
40895         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
40896         All callers changed.
40897         (calc_eclosure_iter): Likewise, for ROOT arg.
40898         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
40899         (build_charclass_op): Likewise, for NON_MATCH arg.
40900         * lib/regex_internal.c (re_string_allocate, re_string_construct):
40901         (re_string_construct_common): Likewise, for ICASE arg.
40902         * lib/regexec.c (re_search_2_stub, re_search_stub):
40903         Likewise, for RET_LEN arg.
40904         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
40905         (set_regs): Likewise, for FL_BACKTRACK arg.
40906         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
40907         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
40908         (calc_eclosure_iter, parse_bracket_exp):
40909         Use bool for internal variables that are booleans.
40910         * lib/regexec.c (re_search_internal, check_matching,
40911         proceed_next_node):
40912         (set_regs, build_sifted_states, sift_states_bkref):
40913         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
40914         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
40915         (find_collation_sequence_value):
40916         Likewise.
40917         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
40918         (re_node_set_compare):
40919         Return bool, not int. All callers changed.
40920         * lib/regexec.c (check_halt_node_context, check_dst_limits):
40921         (build_trtable, check_node_accept): Likewise.
40922         * lib/regex_internal.h: Include stdbool.h.
40923
40924         Fix bugs uncovered when converting to bool.
40925         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
40926         failure instead of charging ahead blindly.
40927         * lib/regex_internal.c (register_state): Likewise.
40928         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
40929         for freeing internal storage.
40930         (group_nodes_into_DFA_states): Use unsigned int, not int, for
40931         bitset pieces used as boolean, to avoid undefined behavior
40932         on hosts that do int overflow checking.
40933
40934 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
40935
40936         * config/srclist.txt: Add glibc bugs 1285-1287.
40937
40938 2005-09-01  Jim Meyering  <jim@meyering.net>
40939
40940         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
40941         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
40942         Require gl_STAT_MACROS, too.
40943
40944 2005-09-01  Bruno Haible  <bruno@clisp.org>
40945
40946         * gnulib-tool (import): In the first-use case, provide defaults.
40947
40948 2005-09-01  Bruno Haible  <bruno@clisp.org>
40949
40950         * gnulib-tool (func_import): Remove the .tmp files.
40951
40952 2005-09-01  Bruno Haible  <bruno@clisp.org>
40953
40954         * gnulib-tool (func_import): Fix handling of symbolic links.
40955
40956 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
40957
40958         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
40959         old glibc regex code mishandles strings longer than 2**31 bytes.
40960         This patch fixes this when the regex code is used in gnulib
40961         (i.e., outside glibc).
40962
40963         This patch should not affect the use of the regex code inside
40964         glibc.  No doubt this problem also needs to be handled for glibc
40965         as well, but the result will be an incompatible change to the
40966         glibc ABI, and the old ABI will have to be supported too.  That
40967         can be the the subject for another patch.
40968
40969         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
40970         governing whether the rest of this patch is active.  By default,
40971         the macro is disabled and the patch has no effect.
40972         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
40973         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
40974         (struct re_pattern_buffer, re_search, re_search_2, re_match):
40975         (re_match_2, re_set_registers): Use the new types.
40976         * lib/regex_internal.h (Idx, re_hashval_t): New types.
40977         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
40978         New macros.
40979         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
40980         (re_string_context_at, bin_tree_t, re_dfastate_t):
40981         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
40982         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
40983         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
40984         (re_string_char_size_at, re_string_wchar_at):
40985         (re_string_elem_size_at):
40986         Use the new types and macros to port to 64-bit hosts.
40987         Use unsigned types for internal values, so that the code
40988         mostly works even for arrays larger than SSIZE_MAX.
40989         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
40990         (search_duplicated_node, calc_eclosure_iter, fetch_number):
40991         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
40992         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
40993         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
40994         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
40995         (calc_inveclosure, parse_dup_op, build_range_exp):
40996         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
40997         (fetch_number, create_token_tree, mark_opt_subexp):
40998         Likewise.
40999         * lib/regex_internal.c (re_string_construct_common,
41000         create_ci_newstate):
41001         (create_cd_newstate, re_string_allocate, re_string_construct):
41002         (re_string_realloc_buffers, build_wcs_upper_buffer):
41003         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
41004         (re_string_reconstruct, re_string_peek_byte_case):
41005         (re_string_fetch_byte_case, re_string_context_at):
41006         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
41007         (re_node_set_init_copy, re_node_set_add_intersect):
41008         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
41009         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
41010         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
41011         (re_acquire_state, re_acquire_state_context, register_state):
41012         Likewise.
41013         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
41014         search_cur_bkref_entry):
41015         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
41016         (re_search_internal, re_search_2_stub, re_search_stub)
41017         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
41018         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
41019         (update_cur_sifted_state, check_dst_limits):
41020         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
41021         (check_subexp_limits, sift_states_bkref, merge_state_array):
41022         (check_subexp_matching_top, get_subexp, get_subexp_sub):
41023         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
41024         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
41025         (expand_bkref_cache, check_node_accept_bytes):
41026         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
41027         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
41028         (acquire_init_state_context, check_halt_node_context):
41029         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
41030         (sift_states_backward, clean_state_log_if_needed):
41031         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
41032         (find_recover_state, transit_state_sb, transit_state_mb):
41033         (transit_state_bkref, build_trtable, match_ctx_clean):
41034         Likewise.
41035         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
41036         to work around an assumption that REG_MISSING is negative.
41037
41038         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
41039         (seek_collating_symbol_entry) [defined _LIBC]:
41040         (lookup_collation_sequence_value) [defined _LIBC]:
41041         (build_range_exp, build_collating_symbol) [defined _LIBC]:
41042         Use prototypes rather than old-style function definitions.
41043         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
41044         (transit_state_sb) [0]:
41045         (find_collation_sequence_value) [defined _LIBC]: Likewise.
41046
41047         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
41048         rm_eo.
41049
41050         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
41051         (optimize_subexps, lower_subexp):
41052         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
41053         since the signed shift might overflow.  Use 1u<<31 instead.
41054         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
41055         Likewise.
41056         * lib/regexec.c (check_dst_limits_calc_pos_1,
41057         check_subexp_matching_top): Likewise.
41058
41059         * lib/regcomp.c (optimize_subexps, lower_subexp):
41060         Use CHAR_BIT rather than 8, for clarity.
41061         * lib/regexec.c (check_dst_limits_calc_pos_1):
41062         (check_subexp_matching_top): Likewise.
41063         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
41064         have to worry about portability issues when shifting it left.
41065         Remove no-longer-needed test for table_size > 0.
41066         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
41067         in a word, as the resulting behavior is undefined.
41068         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
41069         in one case, a <= should have been an <, and in another case the
41070         whole test was missing.
41071         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
41072         the standard name CHAR_BIT.
41073         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
41074         this is not true on one's complement and signed-magnitude hosts.
41075
41076         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
41077         next_last_offset.
41078         (struct re_dfa_t): Remove unused member states_alloc.
41079         * lib/regcomp.c (init_dfa): Don't initialize unused members.
41080
41081 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41082
41083         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
41084         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
41085         and large-file glibc and in 32-bit large-file Solaris.
41086
41087 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41088
41089         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
41090         lengths fit in regoff_t; this isn't true if regoff_t is the same
41091         width as size_t.
41092         * lib/regex.c (re_search_internal): 5th arg is LAST_START
41093         (= START + RANGE) instead of RANGE.  This avoids overflow
41094         problems when regoff_t is the same width as size_t.
41095         All callers changed.
41096         (re_search_2_stub): Check for overflow when adding the
41097         sizes of the two strings.
41098         (re_search_stub): Check for overflow when adding START
41099         to RANGE; if it occurs, substitute the extreme value.
41100
41101 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41102
41103         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
41104
41105 2005-08-31  Jim Meyering  <jim@meyering.net>
41106
41107         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
41108         a pointer-to-const.
41109         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
41110         (register_state): Likewise.
41111         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
41112         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
41113         (group_nodes_into_DFAstates): Likewise.
41114
41115 2005-08-31  Jim Meyering  <jim@meyering.net>
41116
41117         * check-module: Add a FIXME comment.
41118
41119 2005-08-31  Eric Blake  <ebb9@byu.net>
41120
41121         * modules/unistd-safer (Files): Add unistd--.h.
41122         * modules/stdio-safer (Files): Add stdio--.h.
41123
41124 2005-08-31  Derek Price  <derek@ximbiot.com>
41125
41126         * lib/getdelim.c (getdelim): Return EOF on EOF.
41127         Reported by Larry Jones <lawrence.jones@ugs.com>.
41128
41129 2005-08-31  Bruno Haible  <bruno@clisp.org>
41130
41131         Avoid unnecessary diffs in the generated lib/Makefile.am.
41132         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
41133         the generated files.
41134         (func_import): Don't set cmd.
41135
41136 2005-08-31  Bruno Haible  <bruno@clisp.org>
41137
41138         * lib/strstr.c: Include <stddef.h>, for NULL.
41139         * lib/strcasestr.c: Likewise.
41140         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41141
41142 2005-08-31  Bruno Haible  <bruno@clisp.org>
41143
41144         * gnulib-tool: New option --macro-prefix.
41145         (func_import): Use macro_prefix.
41146         (import): Handle option --macro-prefix.
41147
41148 2005-08-31  Bruno Haible  <bruno@clisp.org>
41149
41150         * gnulib-tool (import): Rename most ac_* variables to cached_*.
41151         Also use new variables cached_lgpl, cached_libtool.
41152
41153 2005-08-31  Bruno Haible  <bruno@clisp.org>
41154
41155         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
41156         always instantiating them.
41157
41158 2005-08-31  Bruno Haible  <bruno@clisp.org>
41159
41160         * gnulib-tool (func_import): Read the previous cached settings
41161         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
41162         earlier added by gnulib but are now dropped. Warn when a gnulib file
41163         overwrites a non-gnulib file.
41164
41165 2005-08-31  Bruno Haible  <bruno@clisp.org>
41166
41167         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
41168         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
41169         projects that don't keep autogenerated files in CVS. Put into
41170         actioncmd only the specified modules, not the transitive closure.
41171
41172 2005-08-31  Bruno Haible  <bruno@clisp.org>
41173
41174         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
41175         Create directories that shall be filled.
41176         (import): Don't look for gl_* macros in configure.ac. Recurse across
41177         all directories containing a gnulib-cache.m4 files, if meaningful.
41178
41179 2005-08-31  Bruno Haible  <bruno@clisp.org>
41180
41181         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
41182         (import): Set seen_libtool when we see gl_LIBTOOL.
41183
41184 2005-08-31  Bruno Haible  <bruno@clisp.org>
41185
41186         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
41187         declaration macro definitions from generated gnulib.m4.
41188
41189 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
41190
41191         * lib/iconvme.h: Add prototype for iconv_alloc.
41192
41193 2005-08-29  Simon Josefsson  <jas@extundo.com>
41194
41195         * lib/iconvme.c: Fix errno.
41196
41197 2005-08-29  Bruno Haible  <bruno@clisp.org>
41198
41199         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
41200         that it works when the directory contains spaces.
41201
41202 2005-08-29  Bruno Haible  <bruno@clisp.org>
41203
41204         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
41205
41206 2005-08-29  Bruno Haible  <bruno@clisp.org>
41207
41208         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
41209         Emit more advice.
41210
41211 2005-08-29  Bruno Haible  <bruno@clisp.org>
41212         and Stepan Kasal  <kasal@ucw.cz>
41213
41214         * check-module: If more parameters are given, check each of them
41215         separately; add more exceptions, as noted by Jim Meyering.
41216         (check_module): New procedure.
41217         (%exempt_header): Now contains all exceptions.
41218
41219 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
41220
41221         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
41222
41223 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
41224
41225         * lib/iconvme.c: Split iconv_string into iconv_alloc.
41226
41227 2005-08-28  Bruno Haible  <bruno@clisp.org>
41228
41229         * m4/gnulib-tool.m4: New file.
41230
41231 2005-08-27  Jim Meyering  <jim@meyering.net>
41232
41233         * modules/unistd-safer (Files): Add pipe-safer.c.
41234         * modules/fcntl-safer (Files): Add creat-safer.c.
41235
41236 2005-08-27  Jim Meyering  <jim@meyering.net>
41237
41238         * m4/stdlib-safer.m4: New file.  From coreutils.
41239         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
41240         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
41241         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
41242         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
41243         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
41244
41245 2005-08-27  Jim Meyering  <jim@meyering.net>
41246
41247         * lib/fopen-safer.c: Merge minor changes from coreutils.
41248         * lib/dup-safer.c: Likewise.
41249         * lib/fd-safer.c: Likewise.
41250
41251         Merge from coreutils.
41252         * lib/stdio--.h: New file.
41253         * lib/stdlib--.h: New file.
41254         * lib/mkstemp-safer.c: New file.
41255
41256         GNU tar needs these.
41257         * lib/pipe-safer.c: New file.
41258         * lib/creat-safer.c: New file.
41259         * lib/fcntl--.h (creat): Define to creat_safer.
41260         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
41261         * lib/unistd--.h (pipe): Define to pipe_safer.
41262         * lib/unistd-safer.h: Declare pipe_safer.
41263
41264 2005-08-26  Simon Josefsson  <jas@extundo.com>
41265
41266         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
41267         Haible <bruno@clisp.org>.
41268
41269 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
41270
41271         * lib/regex_internal.h: Remove all references to
41272         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
41273         or better.
41274         (bitset_not, bitset_merge, bitset_not_merge):
41275         (bitset_mask, re_string_allocate, re_string_construct):
41276         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
41277         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
41278         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
41279         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
41280         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
41281         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
41282         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
41283         (re_acquire_state_context):
41284         Remove unnecessary forward decls.
41285         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
41286         Put __attribute at function definition,
41287         now that the function decl has been removed.
41288         * lib/regex_internal.c (re_string_peek_byte_case):
41289         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
41290         Likewise.
41291
41292 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
41293
41294         * m4/regex.m4: Add AC_PREREQ(2.50).
41295         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
41296
41297 2005-08-25  Simon Josefsson  <jas@extundo.com>
41298
41299         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
41300         __fsetlocking.
41301
41302 2005-08-25  Simon Josefsson  <jas@extundo.com>
41303
41304         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
41305         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
41306         GLIBC specific code.
41307
41308 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
41309
41310         Make regex safe for g++.  This fixes one real bug (an "err"
41311         that should have been "*err").  g++ problem reported by
41312         Sam Steingold.
41313         * lib/regex_internal.h (re_calloc): New macro, consistent with
41314         re_malloc etc.  All callers of calloc changed to use re_calloc.
41315         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
41316         not int.  All callers changed.
41317         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
41318         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
41319         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
41320         (find_recover_state): Change "err" to "*err"; this fixes what
41321         appears to be a real bug.
41322         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
41323         versus int.
41324
41325 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
41326
41327         * modules/regex (Depends-on): Add malloc, since the code
41328         assumes that !malloc(0) means failure.
41329
41330 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
41331
41332         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
41333
41334         alloca modernization/simplification for regex.
41335         * lib/regex.c: Remove portability cruft for alloca.  This no longer
41336         needs to be at the start of the file, and can be moved into
41337         regex_internal.h and simplified.
41338         * lib/regex_internal.h: Include <alloca.h>.
41339         (__libc_use_alloca) [!defined _LIBC]: New macro.
41340         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
41341         now works outside glibc.
41342
41343 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
41344
41345         * config/srclist.txt: Add glibc bugs 1241, 1245.
41346
41347 2005-08-25  Jim Meyering  <jim@meyering.net>
41348
41349         * lib/open-safer.c: Include <config.h>.
41350         Otherwise, we'd lose LARGEFILE support in any file using
41351         e.g. "fcntl--.h"
41352
41353 2005-08-25  Bruno Haible  <bruno@clisp.org>
41354
41355         * m4/minmax.m4: Require autoconf 2.52.
41356         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
41357         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
41358         alternatives of translit over the alphabet.
41359         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
41360
41361 2005-08-24  Simon Josefsson  <jas@extundo.com>
41362
41363         * tests/test-getpass.c: New file.
41364
41365 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
41366
41367         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
41368         for GNU regex features.
41369
41370 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
41371
41372         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
41373         * lib/regex.h (regerror): Likewise.
41374
41375         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
41376         requires this.  (The code never needed it.)
41377
41378         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
41379         All uses of recently-renamed identifiers changed to use the new,
41380         POSIX-compliant names.  The code will build and run just fine
41381         without these changes, but it's better to eat our own dog food
41382         and use the standard-conforming names.
41383
41384         * lib/regex.h: Fix a multitude of POSIX name space violations.
41385         These changes have an effect only for programs that define
41386         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
41387         do not change anything for programs compiled in the normal way.
41388         Also, there is no effect on the ABI.
41389
41390         (_REGEX_SOURCE): New macro.
41391         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
41392         defined and _GNU_SOURCE is not; this fixes a name space violation.
41393
41394         Rename the following macros to obey POSIX requirements.
41395         The old names are still visible as macros if _REGEX_SOURCE is defined.
41396         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
41397         RE_BACKSLASH_ESCAPE_IN_LISTS.
41398         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
41399         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
41400         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
41401         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
41402         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
41403         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
41404         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
41405         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
41406         (REG_INTERVALS): renamed from RE_INTERVALS.
41407         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
41408         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
41409         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
41410         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
41411         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
41412         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
41413         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
41414         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
41415         RE_UNMATCHED_RIGHT_PAREN_ORD.
41416         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
41417         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
41418         (REG_DEBUG): renamed from RE_DEBUG.
41419         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
41420         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
41421         unusual, since we can't clash with the POSIX REG_ICASE.
41422         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
41423         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
41424         (REG_NO_SUB): renamed from RE_NO_SUB.
41425         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
41426         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
41427         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
41428         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
41429         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
41430         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
41431         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
41432         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
41433         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
41434         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
41435         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
41436         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
41437         RE_SYNTAX_POSIX_MINIMAL_BASIC.
41438         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
41439         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
41440         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
41441         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
41442         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
41443         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
41444         (REG_FIXED): Renamed from REGS_FIXED.
41445         (REG_NREGS): Renamed from RE_NREGS.
41446
41447         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
41448         of other REG_* macros, since POSIX says the user is allowed to
41449         #undef these macros selectively.
41450
41451         (reg_errcode_t): Update comment stating what other tables need
41452         to be consistent.
41453
41454         Rename the following enum values to obey POSIX requirements.
41455         The old names are still visible as macros.
41456         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
41457         is not defined, since GNU is supposed to be a superset of POSIX as
41458         much as possible, and since we want reg_errcode_t to be a signed
41459         type for implementation consistency.
41460         (_REG_NOERROR): Renamed from REG_NOERROR.
41461         (_REG_NOMATCH): Renamed from REG_NOMATCH.
41462         (_REG_BADPAT): Renamed from REG_BADPAT.
41463         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
41464         (_REG_ECTYPE): Renamed from REG_ECTYPE.
41465         (_REG_EESCAPE): Renamed from REG_EESCAPE.
41466         (_REG_ESUBREG): Renamed from REG_ESUBREG.
41467         (_REG_EBRACK): Renamed from REG_EBRACK.
41468         (_REG_EPAREN): Renamed from REG_EPAREN.
41469         (_REG_EBRACE): Renamed from REG_EBRACE.
41470         (_REG_BADBR): Renamed from REG_BADBR.
41471         (_REG_ERANGE): Renamed from REG_ERANGE.
41472         (_REG_ESPACE): Renamed from REG_ESPACE.
41473         (_REG_BADRPT): Renamed from REG_BADRPT.
41474         (_REG_EEND): Renamed from REG_EEND.
41475         (_REG_ESIZE): Renamed from REG_ESIZE.
41476         (_REG_ERPAREN): Renamed from REG_ERPAREN.
41477         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
41478         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
41479         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
41480         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
41481
41482         (_REG_RE_NAME, _REG_RM_NAME): New macros.
41483         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
41484         changed.  But support the old name if the new one is not defined
41485         and if _REGEX_SOURCE.
41486
41487         Change the following member names in struct re_pattern_buffer.
41488         The old names are still supported if !_REGEX_SOURCE.
41489         The new names are always supported, regardless of _REGEX_SOURCE.
41490         (re_buffer): Renamed from buffer.
41491         (re_allocated): Renamed from allocated.
41492         (re_used): Renamed from used.
41493         (re_syntax): Renamed from syntax.
41494         (re_fastmap): Renamed from fastmap.
41495         (re_translate): Renamed from translate.
41496         (re_can_be_null): Renamed from can_be_null.
41497         (re_regs_allocated): Renamed from regs_allocated.
41498         (re_fastmap_accurate): Renamed from fastmap_accurate.
41499         (re_no_sub): Renamed from no_sub.
41500         (re_not_bol): Renamed from not_bol.
41501         (re_not_eol): Renamed from not_eol.
41502         (re_newline_anchor): Renamed from newline_anchor.
41503
41504         Change the following member names in struct re_registers.
41505         The old names are still supported if !_REGEX_SOURCE.
41506         The new names are always supported, regardless of _REGEX_SOURCE.
41507         (rm_num_regs): Renamed from num_regs.
41508         (rm_start): Renamed from start.
41509         (rm_end): Renamed from end.
41510
41511         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
41512         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
41513         Prepend __ to parameter names.
41514
41515         Undo yesterday's changes.
41516
41517 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
41518
41519         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
41520         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
41521         lib/regex.c.
41522
41523 2005-08-24  Jim Meyering  <jim@meyering.net>
41524
41525         Sync from coreutils.
41526         * m4/fcntl-safer.m4: New file.
41527
41528         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
41529         and object files for this module.
41530
41531 2005-08-24  Jim Meyering  <jim@meyering.net>
41532
41533         Sync from coreutils.
41534         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
41535
41536 2005-08-24  Jim Meyering  <jim@meyering.net>
41537
41538         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
41539         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
41540
41541 2005-08-24  Jim Meyering  <jim@meyering.net>
41542
41543         * modules/fcntl-safer: New module.
41544         * modules/fts (Depends-on): Add fcntl-safer.
41545         * MODULES.html.sh (File descriptor based Input/Output):
41546         Add fcntl-safer.
41547
41548 2005-08-24  Bruno Haible  <bruno@clisp.org>
41549
41550         Support for unit test modules.
41551         * modules/README: Mention tests modules.
41552         * modules/TEMPLATE-TESTS: New file.
41553         * gnulib-tool: New options --extract-tests-module, --with-tests and
41554         --tests-base (unused for the moment).
41555         (testsbase, inctests): New variables.
41556         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
41557         (func_verify_module): Exclude TEMPLATE-TESTS.
41558         (func_verify_nontests_module, func_verify_tests_module): New functions.
41559         (func_get_dependencies): Add implicit dependency for tests modules.
41560         (func_get_tests_module): New function.
41561         (func_modules_transitive_closure): When --with-tests was specified,
41562         include the unit tests as well, unless explicitly avoided.
41563         (func_emit_lib_Makefile_am): Ignore the tests modules here.
41564         (func_emit_tests_Makefile_am): New function.
41565         (func_create_testdir): When --with-tests was specified, emit a
41566         tests/ directory.
41567         * MODULES.html.sh (Future developments): Update.
41568
41569 2005-08-24  Bruno Haible  <bruno@clisp.org>
41570
41571         * modules/tls-tests: New file.
41572         * tests/test-tls.c: New file, from GNU gettext.
41573
41574 2005-08-24  Bruno Haible  <bruno@clisp.org>
41575
41576         * modules/lock-tests: New file.
41577         * tests/test-lock.c: New file, from GNU gettext.
41578
41579 2005-08-24  Bruno Haible  <bruno@clisp.org>
41580
41581         * lib/lock.h: Add multiple inclusion guard.
41582         * lib/tls.h: Add multiple inclusion guard.
41583
41584 2005-08-24  Bruno Haible  <bruno@clisp.org>
41585
41586         * gnulib-tool: Add support for the --aux-dir option to
41587         --create-testdir, --create-megatestdir, --test, --megatest.
41588         (func_create_testdir, func_create_megatestdir): Optionally emit a
41589         AC_CONFIG_AUX_DIR directive.
41590         (create-testdir, create-megatestdir, test, megatest): Provide a
41591         default value for $auxdir.
41592
41593 2005-08-24  Bruno Haible  <bruno@clisp.org>
41594
41595         * gnulib-tool (import): Use compound statement instead of subshell
41596         where possible.
41597
41598 2005-08-24  Bruno Haible  <bruno@clisp.org>
41599
41600         * gnulib-tool (import): Change --aux-dir default to "build-aux".
41601
41602 2005-08-24  Bruno Haible  <bruno@clisp.org>
41603
41604         * gnulib-tool (func_version): Update.
41605
41606 2005-08-24  Bruno Haible  <bruno@clisp.org>
41607
41608         * gnulib-tool (func_import, func_create_testdir,
41609         func_create_megatestdir): Quote all autoconf macro arguments.
41610
41611 2005-08-24  Bruno Haible  <bruno@clisp.org>
41612
41613         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
41614         option --force, because --force causes the aclocal.m4 of each
41615         subdirectory to be newer than the corresponding config.h.in.
41616
41617 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
41618
41619         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
41620         All contents moved to gl_REGEX.
41621         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
41622         assume that it does.
41623
41624 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
41625
41626         * lib/regex.h (REG_NOSYS)
41627         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
41628         Define, since POSIX requires it as of 2001.
41629         (_REG_ENOSYS)
41630         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
41631         New private symbol, used to keep the enum signed in all cases.
41632         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
41633         Youngman in
41634         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
41635
41636         * lib/regex_internal.c (re_string_skip_chars, register_state):
41637         (calc_state_hash):
41638         Remove forward decls; no longer needed now that we use prototypes.
41639         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
41640         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
41641         (clean_state_log_if_needed): Likewise.
41642
41643 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
41644
41645         * config/srclist.txt: Add glibc bugs 1231-1233.
41646
41647 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
41648
41649         Fix problems reported by Sam Steingold in
41650         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
41651         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
41652         assumed that reg_errcode_t is a signed type, which is not
41653         necessarily true if _XOPEN_SOURCE is not defined.
41654         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
41655         since some compilers warn about it otherwise.
41656
41657 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
41658
41659         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
41660         (init_word_char, create_initial_state, duplicate_node_closure):
41661         (fetch_token, peek_token_bracket, build_range_exp):
41662         (build_collating_symbol): Remove forward decls; no longer needed
41663         now that we use prototypes.
41664
41665         * lib/regcomp.c:
41666         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
41667         (re_compile_fastmap_iter, regcomp, regerror, regfree):
41668         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
41669         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
41670         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
41671         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
41672         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
41673         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
41674         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
41675         (build_range_exp, build_collating_symbol, parse_bracket_exp):
41676         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
41677         (build_charclass, build_charclass_op, fetch_number, create_tree):
41678         (create_token_tree, mark_opt_subexp, duplicate_tree):
41679         Use prototypes rather than old-style definitions.
41680
41681         * lib/regex_internal.c:
41682         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
41683         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
41684         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
41685         (re_string_reconstruct, re_string_peek_byte_case):
41686         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
41687         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
41688         (re_node_set_init_copy, re_node_set_add_intersect):
41689         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
41690         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
41691         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
41692         (re_acquire_state, re_acquire_state_context, register_state):
41693         (create_ci_newstate, create_cd_newstate, free_state):
41694         Likewise.
41695         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
41696         re_search_2):
41697         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
41698         (re_search_internal, prune_impossible_nodes):
41699         (acquire_init_state_context, check_matching, static):
41700         (check_halt_node_context, check_halt_state_context, proceed_next_node):
41701         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
41702         (update_regs, sift_states_backward, build_sifted_states):
41703         (clean_state_log_if_needed, merge_state_array):
41704         (update_cur_sifted_state, add_epsilon_src_nodes):
41705         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
41706         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
41707         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
41708         (find_recover_state, check_subexp_matching_top, transit_state_mb):
41709         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
41710         (check_arrival, check_arrival_add_next_nodes):
41711         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
41712         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
41713         (check_node_accept_bytes, check_node_accept, extend_buffers):
41714         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
41715         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
41716         (sift_ctx_init):
41717         Likewise.
41718
41719         * lib/regex_internal.h:
41720         (re_string_allocate, re_string_construct, re_string_reconstruct):
41721         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
41722         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
41723         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
41724         (re_string_context_at, re_string_peek_byte_case):
41725         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
41726         is defined, since we now use prototypes always.
41727
41728         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
41729         C89 or better.  All uses removed.
41730
41731 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
41732
41733         * config/srclist.txt: Add glibc bugs 1220-1227.
41734
41735 2005-08-20  Jim Meyering  <jim@meyering.net>
41736
41737         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
41738         of unused local, dfa.
41739
41740 2005-08-20  Bruno Haible  <bruno@clisp.org>
41741
41742         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
41743
41744 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
41745
41746         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
41747         (re_node_set_insert_last, re_dfa_add_node):
41748         Rename local variables to avoid GCC shadowing warnings.
41749
41750 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
41751
41752         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
41753         [defined lint]: Suppress bogus uninitialized-variable warnings.
41754
41755         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
41756         and let the caller return REG_ESPACE if out of space.  This
41757         removes an uninitialied-variable warning with GCC 4.0.1, and also
41758         avoids taking the address of a local variable.  All callers
41759         changed.
41760
41761 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
41762
41763         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
41764         $LIBCSRC/posix/regexec.c.
41765         Add glibc bug 1217 for regcomp.c.
41766
41767 2005-08-19  Jim Meyering  <jim@meyering.net>
41768
41769         * lib/regexec.c (proceed_next_node): Redo local variables to
41770         avoid GCC shadowing warnings.
41771
41772 2005-08-18  Bruno Haible  <bruno@clisp.org>
41773
41774         * lib/strstr.c (strstr): Fix return value in multibyte case.
41775         * lib/strcasestr.c (strcasestr): Likewise.
41776
41777 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
41778
41779         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
41780
41781 2005-08-17  Jim Meyering  <jim@meyering.net>
41782
41783         Make the %s format (seconds since the epoch) work for a negative
41784         number and when used with a zero-padded field width, e.g. %015s.
41785
41786         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
41787         label so that it precedes the code to set `digits'.  Otherwise,
41788         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
41789         print `00-22'.  Now, it prints `-0022', as it should.
41790
41791 2005-08-17  Bruno Haible  <bruno@clisp.org>
41792
41793         * modules/strstr (Files): Add m4/mbrtowc.m4.
41794         (Depends-on): Add mbuiter.
41795
41796 2005-08-17  Bruno Haible  <bruno@clisp.org>
41797
41798         * modules/strcasestr: New file.
41799         * MODULES.html.sh (String handling, based on ANSI C 89): Add
41800         strcasestr.
41801
41802 2005-08-17  Bruno Haible  <bruno@clisp.org>
41803
41804         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
41805
41806 2005-08-17  Bruno Haible  <bruno@clisp.org>
41807
41808         * modules/mbuiter: New file.
41809         * MODULES.html.sh (Extended multibyte and wide character utilities):
41810         Add mbuiter.
41811
41812 2005-08-17  Bruno Haible  <bruno@clisp.org>
41813
41814         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
41815         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
41816
41817 2005-08-17  Bruno Haible  <bruno@clisp.org>
41818
41819         * m4/strcasestr.m4: New file.
41820
41821 2005-08-17  Bruno Haible  <bruno@clisp.org>
41822
41823         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
41824         * lib/strstr.c: Completely rewritten, with multibyte locale support.
41825
41826 2005-08-17  Bruno Haible  <bruno@clisp.org>
41827
41828         * lib/strcasestr.h: New file.
41829         * lib/strcasestr.c: New file.
41830
41831 2005-08-17  Bruno Haible  <bruno@clisp.org>
41832
41833         * lib/strcasecmp.c: Use mbuiter.h.
41834
41835 2005-08-17  Bruno Haible  <bruno@clisp.org>
41836
41837         * lib/mbuiter.h: New file.
41838
41839 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
41840
41841         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
41842         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
41843         and gl_GETOPT are both invoked via different paths (as happens
41844         with GNU tar CVS because it uses both argp and getopt), the former
41845         wins.
41846
41847 2005-08-16  Bruno Haible  <bruno@clisp.org>
41848
41849         * modules/tls: New file.
41850         * MODULES.html.sh (Multithreading): Add tls.
41851
41852 2005-08-16  Bruno Haible  <bruno@clisp.org>
41853
41854         * modules/strnlen1: New file.
41855         * MODULES.html.sh (String handling): Add strnlen1.
41856
41857 2005-08-16  Bruno Haible  <bruno@clisp.org>
41858
41859         * modules/strcase (Files): Add m4/mbrtowc.m4.
41860         (Depends-on): Add strnlen1, mbchar.
41861
41862 2005-08-16  Bruno Haible  <bruno@clisp.org>
41863
41864         * modules/mbiter: New file.
41865         * MODULES.html.sh (Extended multibyte and wide character utilities):
41866         Add mbiter.
41867
41868 2005-08-16  Bruno Haible  <bruno@clisp.org>
41869
41870         * modules/mbfile: New file.
41871         * MODULES.html.sh (Extended multibyte and wide character utilities):
41872         Add mbfile.
41873
41874 2005-08-16  Bruno Haible  <bruno@clisp.org>
41875
41876         * modules/mbchar: New file.
41877         * MODULES.html.sh (Extended multibyte and wide character utilities):
41878         New section.
41879
41880 2005-08-16  Bruno Haible  <bruno@clisp.org>
41881
41882         * m4/tls.m4: New file, from GNU gettext.
41883
41884 2005-08-16  Bruno Haible  <bruno@clisp.org>
41885
41886         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
41887         always.
41888         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
41889
41890 2005-08-16  Bruno Haible  <bruno@clisp.org>
41891
41892         * m4/mbiter.m4: New file.
41893
41894 2005-08-16  Bruno Haible  <bruno@clisp.org>
41895
41896         * m4/mbfile.m4: New file.
41897
41898 2005-08-16  Bruno Haible  <bruno@clisp.org>
41899
41900         * m4/mbchar.m4: New file.
41901
41902 2005-08-16  Bruno Haible  <bruno@clisp.org>
41903
41904         * lib/tls.h: New file, from GNU gettext.
41905         * lib/tls.c: New file, from GNU gettext.
41906
41907 2005-08-16  Bruno Haible  <bruno@clisp.org>
41908
41909         * lib/strnlen1.h: New file.
41910         * lib/strnlen1.c: New file.
41911
41912 2005-08-16  Bruno Haible  <bruno@clisp.org>
41913
41914         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
41915         (mbi_init): Update.
41916         (mbi_avail, mbi_advance): Let the iteration end before the terminating
41917         NUL byte, not after it.
41918
41919 2005-08-16  Bruno Haible  <bruno@clisp.org>
41920
41921         * lib/strcase.h (strcasecmp): Add note in comments.
41922         * lib/strncasecmp.c: Use code from strcasecmp.c.
41923         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
41924         (strcasecmp): Work correctly in multibyte locales.
41925
41926 2005-08-16  Bruno Haible  <bruno@clisp.org>
41927
41928         * lib/mbiter.h: New file.
41929
41930 2005-08-16  Bruno Haible  <bruno@clisp.org>
41931
41932         * lib/mbfile.h: New file.
41933
41934 2005-08-16  Bruno Haible  <bruno@clisp.org>
41935
41936         * lib/mbchar.h: New file.
41937         * lib/mbchar.c: New file.
41938
41939 2005-08-16  Bruno Haible  <bruno@clisp.org>
41940
41941         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
41942         the valid ones. Makes the comparison operations transitive:
41943         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
41944         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
41945
41946 2005-08-15  Simon Josefsson  <jas@extundo.com>
41947
41948         * modules/ssize_t (License): Change to 'unlimited'.
41949
41950         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
41951
41952 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
41953
41954         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
41955         Add comments for each pending glibc patch.
41956
41957 2005-08-15  Bruno Haible  <bruno@clisp.org>
41958
41959         * lib/regex.h (__restrict_arr): Don't define to __restrict if
41960         __cplusplus is defined.
41961
41962 2005-08-14  Jim Meyering  <jim@meyering.net>
41963
41964         Sync from coreutils.
41965
41966         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
41967         Use the hash-table-based cycle-detection code not just when
41968         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
41969         Reported by James Youngman in
41970         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
41971         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
41972         FTS_TIGHT_CYCLE_CHECK.
41973         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
41974         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
41975         once again.
41976         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
41977         * lib/fts.c (fd_safer): Remove decl.
41978         Include fcntl--.h rather than unistd-safer.h
41979         (fts_safe_changedir): Don't call fd_safer; no longer needed
41980         now that we include fcntl--.h.
41981
41982 2005-08-12  Simon Josefsson  <jas@extundo.com>
41983
41984         * modules/getndelim2: Use ssize_t module.
41985         * modules/getnline: Likewise.
41986         * modules/safe-read: Likewise.
41987         * modules/xreadlink: Likewise.
41988
41989         * modules/ssize_t: New file.
41990
41991 2005-08-12  Simon Josefsson  <jas@extundo.com>
41992
41993         * m4/readline.m4: Look for termcap, curses or ncurses if required.
41994
41995 2005-08-12  Simon Josefsson  <jas@extundo.com>
41996
41997         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
41998         ssize_t.
41999
42000 2005-08-12  Simon Josefsson  <jas@extundo.com>
42001
42002         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
42003         readline, getdelim and check_version.
42004         (Support for systems lacking ISO C 99: Sizes of integer types):
42005         Add size_max.
42006
42007 2005-08-12  Bruno Haible  <bruno@clisp.org>
42008
42009         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
42010
42011 2005-08-11  Simon Josefsson  <jas@extundo.com>
42012
42013         * modules/readline: New file.
42014
42015         * modules/strnlen (Files): Add strnlen.h.
42016
42017 2005-08-11  Simon Josefsson  <jas@extundo.com>
42018
42019         * m4/readline.m4: New file.
42020
42021 2005-08-11  Simon Josefsson  <jas@extundo.com>
42022
42023         * lib/readline.h, readline.c: New file.
42024
42025 2005-08-11  Simon Josefsson  <jas@extundo.com>
42026
42027         * doc/gnulib.texi (Initial import, Finishing touches): Mention
42028         gl_AVOID.
42029
42030 2005-08-11  Bruno Haible  <bruno@clisp.org>
42031
42032         * lib/strnlen.h (strnlen): Change parameter name to match comment.
42033
42034 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
42035
42036         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
42037
42038 2005-08-10  Simon Josefsson  <jas@extundo.com>
42039
42040         * tests/test-iconvme.c: New file.
42041
42042 2005-08-10  Simon Josefsson  <jas@extundo.com>
42043
42044         * m4/strnlen.m4: New file.
42045
42046         * m4/strndup.m4: Don't check for strnlen declaration, done in
42047         strnlen.m4.
42048
42049 2005-08-10  Simon Josefsson  <jas@extundo.com>
42050
42051         * lib/strndup.c: Use strnlen.h.
42052
42053         * lib/strnlen.h: New file.
42054
42055 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
42056
42057         * README: Typos.
42058
42059 2005-08-02  Simon Josefsson  <jas@extundo.com>
42060
42061         * modules/readline: New file.
42062
42063 2005-08-02  Simon Josefsson  <jas@extundo.com>
42064
42065         * modules/getdelim: New file.
42066
42067         * modules/getline: Rewrite, don't use getndelim2.
42068
42069 2005-08-02  Simon Josefsson  <jas@extundo.com>
42070
42071         * m4/getline.m4: Separate out getdelim stuff into separate module.
42072
42073         * m4/getdelim.m4: New file.
42074
42075 2005-08-02  Simon Josefsson  <jas@extundo.com>
42076
42077         * lib/getline.h, getline.c: Rewrite.
42078
42079         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
42080
42081 2005-07-31  Bruno Haible  <bruno@clisp.org>
42082
42083         * lib/lock.h (gl_lock_initializer): New macro.
42084         (gl_lock_define_initialized): Use it.
42085         (gl_rwlock_initializer): New macro.
42086         (gl_rwlock_define_initialized): Use it.
42087         (gl_recursive_lock_initializer): New macro.
42088         (gl_recursive_lock_define_initialized): Use it.
42089
42090 2005-07-30  Karl Berry  <karl@gnu.org>
42091
42092         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
42093         Report from Ben Pfaff, regarding getopt.
42094
42095 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
42096
42097         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
42098         normal way.
42099         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
42100         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
42101         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
42102         (gl_GETOPT): Use the new macros.  Most of the implementation
42103         is moved to the new macros.  This is for programs like Emacs
42104         that don't want all the functionality of gl_GETOPT.
42105
42106 2005-07-26  Bruno Haible  <bruno@clisp.org>
42107
42108         * m4/lock.m4: Update from GNU gettext.
42109
42110 2005-07-26  Bruno Haible  <bruno@clisp.org>
42111
42112         * lib/lock.h: Update from GNU gettext.
42113         * lib/lock.c: Update from GNU gettext.
42114
42115 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
42116
42117         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
42118         obsolescent AC_TRY_RUN.  Include the default includes files, for
42119         'exit'.
42120
42121 2005-07-24  Bruno Haible  <bruno@clisp.org>
42122
42123         * modules/visibility: New file.
42124         * MODULES.html.sh (Misc): Add visibility.
42125
42126 2005-07-24  Bruno Haible  <bruno@clisp.org>
42127
42128         * m4/visibility.m4: New file.
42129
42130 2005-07-24  Bruno Haible  <bruno@clisp.org>
42131
42132         * doc/visibility.texi: New file.
42133
42134 2005-07-22  Bruno Haible  <bruno@clisp.org>
42135
42136         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
42137         $(ALLOCA_H), redundant through BUILT_SOURCES.
42138         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
42139         redundant through BUILT_SOURCES.
42140         * modules/byteswap (Makefile.am): Remove explicit dependency on
42141         $(BYTESWAP_H), redundant through BUILT_SOURCES.
42142         * modules/fnmatch (Makefile.am): Remove explicit dependency on
42143         $(FNMATCH_H), redundant through BUILT_SOURCES.
42144         * modules/getopt (Makefile.am): Remove explicit dependency on
42145         $(GETOPT_H), redundant through BUILT_SOURCES.
42146         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
42147         redundant through BUILT_SOURCES.
42148         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
42149         redundant through BUILT_SOURCES.
42150         * modules/stdbool (Makefile.am): Remove explicit dependency on
42151         $(STDBOOL_H), redundant through BUILT_SOURCES.
42152         * modules/stdint (Makefile.am): Remove explicit dependency on
42153         $(STDINT_H), redundant through BUILT_SOURCES.
42154         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
42155         Remove explicit dependency on $(SYSEXITS_H).
42156         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
42157
42158 2005-07-18  Simon Josefsson  <jas@extundo.com>
42159
42160         * lib/check-version.c (check_version): Accept identical versions too.
42161
42162 2005-07-18  Bruno Haible  <bruno@clisp.org>
42163
42164         * modules/lock: New file.
42165         * MODULES.html.sh (Multithreading): New section.
42166
42167 2005-07-18  Bruno Haible  <bruno@clisp.org>
42168
42169         * m4/lock.m4: New file, from GNU gettext.
42170
42171 2005-07-18  Bruno Haible  <bruno@clisp.org>
42172
42173         * lib/lock.h: New file, from GNU gettext.
42174         * lib/lock.c: New file, from GNU gettext.
42175
42176 2005-07-18  Bruno Haible  <bruno@clisp.org>
42177
42178         * lib/lock.h (gl_once_t): New type.
42179         (gl_once_define, gl_once): New macros.
42180         * lib/lock.c (fresh_once): New variable.
42181         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
42182         functions.
42183
42184 2005-07-16  Simon Josefsson  <jas@extundo.com>
42185
42186         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
42187         workaround, suggested by Bruno.
42188
42189 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
42190
42191         * modules/xalloc (Depends-on): Add xalloc-die.
42192         * modules/xvasprintf (Depends-on): Add xalloc-die.
42193
42194 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
42195
42196         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
42197         with a minor change.
42198
42199 2005-07-15  Bruno Haible  <bruno@clisp.org>
42200
42201         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
42202         When using lib/poll.c, define poll as rpl_poll.
42203
42204 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
42205
42206         * modules/argp (Depends-on): Remove unlocked-io.
42207
42208 2005-07-14  Derek Price  <derek@ximbiot.com>
42209
42210         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
42211         for glob symlink bug.
42212
42213 2005-07-14  Bruno Haible  <bruno@clisp.org>
42214
42215         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
42216         Instead, test for *_unlocked function declarations directly.
42217
42218 2005-07-11  Simon Josefsson  <jas@extundo.com>
42219
42220         * modules/size_max: New file.
42221
42222         * modules/xsize: Depend on size_max module for size_max.m4.
42223
42224 2005-07-11  Simon Josefsson  <jas@extundo.com>
42225
42226         * lib/size_max.h: New file.
42227
42228 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
42229
42230         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
42231         copyright symbol and the year.
42232         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
42233         (version_etc_va): Use parameterized copyright notice.
42234         Reword to conform to the current GNU coding standards.
42235
42236 2005-07-11  Karl Berry  <karl@gnu.org>
42237
42238         * doc/gnulib.texi (Quoting): new node.
42239         (Initial import): more info, from Patrice.
42240
42241 2005-07-11  Bruno Haible  <bruno@clisp.org>
42242
42243         * gnulib-tool (func_usage): Document option --avoid.
42244         (Command line options): Handle --avoid.
42245         (func_acceptable): New function.
42246         (func_modules_transitive_closure): Use it.
42247
42248 2005-07-11  Bruno Haible  <bruno@clisp.org>
42249
42250         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
42251         Reported by Jim Meyering.
42252
42253 2005-07-10  Bruno Haible  <bruno@clisp.org>
42254
42255         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
42256         Needed when size_t is smaller than 'unsigned int'.
42257         Reported by Paul Eggert.
42258
42259 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
42260
42261         * modules/argp (Depends-on): Add unlocked-io
42262
42263 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
42264
42265         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
42266         block of defines.
42267
42268 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
42269
42270         * config/srclist.txt: Comment out regcomp.c, since we have a porting
42271         fix now.
42272
42273 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
42274         and Paul Eggert  <eggert@cs.ucla.edu>
42275
42276         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
42277         in wint_t, not wchar_t.  Remove now-unnecessary cast.
42278
42279 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
42280
42281         * modules/regex (Files): Add lib/regex_internal.c,
42282         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
42283         (Depends-on): Add extensions.
42284         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
42285
42286 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
42287
42288         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
42289         pathconf.
42290         * m4/same.m4 (gl_SAME): Likewise.
42291         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
42292
42293         * m4/regex.m4: Adjust to new libc regex implementation.
42294         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
42295         all the .c and .h parts of (the new) regex.
42296         Quote the m4 stuff better.
42297         Check for RE_ICASE bug of old gnulib.
42298         Check for REG_STARTEND of recent libc.
42299         Rename local variables from jm_* to gl_*.
42300         Quote operand of "test -f".
42301         Say "recent enough" version of libc, not "version 2".
42302         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
42303         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
42304         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
42305         Remove check for btowc, isascii.
42306         Require AM_LANGINFO_CODESET.
42307
42308 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
42309
42310         * lib/regex.c, regex.h: Sync from libc.
42311         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
42312         * lib/regexec.c:
42313         New files, synced from libc, except that regex_internal.h
42314         currently has a small porting fix.
42315
42316 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
42317
42318         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
42319         regex_internal.c, regexec.c.
42320         Add regex_internal.h too, but as a comment, since the libc version
42321         is currently broken in gnulib mode.
42322
42323 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
42324
42325         Support programs like Emacs that use gnulib but not gettext.
42326         * MODULES.html.sh (Internationalization functions): Add gettext-h.
42327         * modules/gettext-h: New file.
42328         * modules/gettext (Files): Remove lib/gettext.h.
42329         (Depends-on): Add gettext-h.
42330         (Makefile.am): Remove lib_SOURCES.
42331         * modules/argmatch, modules/c-stack, modules/closeout:
42332         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
42333         * modules/execute, modules/file-type, modules/getaddrinfo:
42334         * modules/getopt, modules/human, modules/javacomp:
42335         * modules/javaexec, modules/mkdir-p, modules/obstack:
42336         * modules/openat, modules/pagealign_alloc, modules/pipe:
42337         * modules/quotearg, modules/regex, modules/rpmatch:
42338         * modules/unicodeio, modules/userspec, modules/version-etc:
42339         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
42340         * modules/xsetenv:
42341         Depend on gettext-h, not gettext.
42342
42343 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
42344
42345         * gnulib-tool (func_import): Add support for 'public domain' license.
42346         * modules/alloca, modules/atexit, modules/memmove:
42347         Now public domain, not GPL.
42348         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
42349         * modules/realloc, modules/strerror, modules/strtod:
42350         Now LGPL, not GPL.
42351
42352 2005-07-05  Bruno Haible  <bruno@clisp.org>
42353
42354         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
42355         autoconf CVS. Needed for mingw.
42356
42357 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
42358
42359         Remove the dependency of the strftime module on the tzset module.
42360         * modules/strftime (Depends-on): Remove dependency on tzset.
42361
42362 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
42363
42364         Remove the dependency of the strftime module on the tzset module.
42365         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
42366         gl_FUNC_TZSET_CLOBBER.
42367
42368 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
42369
42370         Remove the dependency of the strftime module on the tzset module.
42371         * lib/strftime.c (my_strftime)
42372         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
42373         Copy the input structure, to work around some of the bug with
42374         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
42375         Solaris releases, you should also use the tzset module, but we won't
42376         require it as a dependency any more since we don't want LGPLed code
42377         to depend on GPLed code.
42378
42379 2005-07-02  Jim Meyering  <jim@meyering.net>
42380
42381         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
42382         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
42383         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
42384         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
42385
42386 2005-07-02  Jim Meyering  <jim@meyering.net>
42387
42388         * lib/backupfile.c (backup_args): Change a `0' to NULL.
42389
42390 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
42391
42392         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
42393         declares only 'struct timespec;' (!).
42394
42395 2005-07-01  Jim Meyering  <jim@meyering.net>
42396
42397         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
42398         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
42399         * lib/save-cwd.c, tempname.c:
42400         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
42401         and don't include <sys/file.h>).
42402
42403 2005-06-29  Jim Meyering  <jim@meyering.net>
42404
42405         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
42406         type name.  Use the variable name instead.
42407         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
42408         Likewise.
42409
42410 2005-06-28  Simon Josefsson  <jas@extundo.com>
42411
42412         * modules/check-version (Files): Add check-version.m4.
42413
42414 2005-06-28  Simon Josefsson  <jas@extundo.com>
42415
42416         * m4/check-version.m4: New file, suggested by Jim Meyering
42417         <jim@meyering.net>.
42418
42419 2005-06-28  Simon Josefsson  <jas@extundo.com>
42420
42421         * lib/check-version.h, lib/check-version.c: New files.
42422
42423 2005-06-28  Simon Josefsson  <jas@extundo.com>
42424
42425         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
42426         collision with global variable.  Better indentation.  Don't
42427         increment buffer pointer beyond buffer end.  Based on comments
42428         from Paul Eggert <eggert@cs.ucla.edu>.
42429
42430         * lib/base64.h: Indent.
42431
42432 2005-06-28  Simon Josefsson  <jas@extundo.com>
42433
42434         * doc/gnulib.texi (Library version handling): New section.
42435
42436 2005-06-28  Jim Meyering  <jim@meyering.net>
42437
42438         * check-module (find_included_lib_files): Hard-code another
42439         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
42440         but modules/fts-lgpl (correctly) does not list those files.
42441
42442         * modules/canonicalize (Files): Add lib/pathmax.h.
42443
42444 2005-06-25  Simon Josefsson  <jas@extundo.com>
42445
42446         * modules/check-version: New file.
42447
42448 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
42449
42450         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
42451         initializer of struct addrinfo, as an indication that we don't
42452         care how many members the structure has.
42453
42454 2005-06-24  Derek Price  <derek@ximbiot.com>
42455         and Bruno Haible  <bruno@clisp.org>
42456
42457         Remove stat module & update lstat.
42458         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
42459         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
42460         * m4/stat.m4: Remove this file.
42461
42462 2005-06-24  Derek Price  <derek@ximbiot.com>
42463         and Bruno Haible  <bruno@clisp.org>
42464
42465         Remove stat module & update lstat.
42466         * lib/stat.c: Remove this file...
42467         (slash_aware_lstat): ...moving this content and its support...
42468         * lib/lstat.c (rpl_lstat): ...into here.
42469         * lib/lstat.h: New file.
42470
42471 2005-06-24  Derek Price  <derek@ximbiot.com>
42472         and Bruno Haible  <bruno@clisp.org>
42473
42474         Remove stat module & update lstat.
42475         * config/srclist.txt (libc sources): Remove stat.
42476
42477 2005-06-24  Derek Price  <derek@ximbiot.com>
42478         and Bruno Haible  <bruno@clisp.org>
42479
42480         Remove stat module & update lstat.
42481         * MODULES.html.sh (stat): Remove.
42482         * MODULES.html: Regenerated.
42483         * modules/lstat (Description): Correct function name.
42484         (Files): Add "lstat.h".
42485         (Depends-on): Remove stat, add xalloc, stat-macros.
42486         * modules/stat: Remove this file.
42487         (Include): Add "lstat.h", remove <sys/stat.h>.
42488
42489 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
42490
42491         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
42492         (ranged_convert): Don't save conversion in a temporary struct.
42493         This causes a warning with GCC 4.0.0, and anyway in the typical
42494         case it's not worth the extra 100 bytes or so of code.
42495         (ranged_convert, __mktime_internal): When calling a function via a
42496         pointer P, use P () rather than (*P) (), as we now assume C89 or
42497         better.
42498
42499 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
42500
42501         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
42502         "who -r" failed to give output.  Problem reported by Tim Waugh.
42503
42504         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
42505         (xcalloc): Use it to avoid needless tests.
42506         Problem reported by Jim Meyering.
42507
42508 2005-06-20  Derek Price  <derek@ximbiot.com>
42509
42510         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
42511         unnecessary for Autoconfs > 2.59c.
42512
42513 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
42514
42515         * lib/argp.h (__option_is_short): Check upper limit of
42516         __key. Isprint() requires its argument to have the value
42517         of an unsigned char or EOF.
42518
42519 2005-06-16  Jim Meyering  <jim@meyering.net>
42520
42521         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
42522         when either N or S is zero.
42523
42524 2005-06-16  Derek Price  <derek@ximbiot.com>
42525
42526         * m4/bison.m4: Declare YACC & YFLAGS precious.
42527
42528 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
42529
42530         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
42531         multibyte string or pattern, fall back on unibyte matching.
42532         Problem reported by James Youngman.
42533
42534 2005-06-08  Bruno Haible  <bruno@clisp.org>
42535
42536         * modules/csharpcomp: New file.
42537         * MODULES.html.sh (C#): Add csharpcomp.
42538
42539 2005-06-08  Bruno Haible  <bruno@clisp.org>
42540
42541         * m4/csharpcomp.m4: New file, from GNU gettext.
42542
42543 2005-06-08  Bruno Haible  <bruno@clisp.org>
42544
42545         * lib/csharpcomp.h: New file, from GNU gettext.
42546         * lib/csharpcomp.c: New file, from GNU gettext.
42547         * lib/csharpcomp.sh.in: New file, from GNU gettext.
42548
42549 2005-06-08  Bruno Haible  <bruno@clisp.org>
42550
42551         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
42552         warning on mingw.
42553
42554 2005-06-07  Derek Price  <derek@ximbiot.com>
42555
42556         Sync from CVS.
42557         * lib/glob_.h: Indent nested #ifdef.
42558
42559 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
42560
42561         Sync from coreutils.
42562         Use "file name" when talking about file names, instead of "filename"
42563         or "path", as per the GNU coding standards.
42564         * lib/mkdir-p.c: Renamed from makepath.c.
42565         (make_dir_parents): Renamed from make_path.  All callers changed.
42566         * lib/mkdir-p.h: Likewise.  All includers changed.
42567         * lib/filenamecat.c: Renamed from path-concat.c.
42568         (file_name_concat): Renamed from path_concat.  All callers changed.
42569         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
42570         * lib/filenamecat.h: Likewise.  All includers changed.
42571         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
42572         in comments or local variable names.
42573         * lib/basename.c: Likewise.
42574         * lib/canonicalize.c, canonicalize.h: Likewise.
42575         * lib/dirname.c, dirname.h: Likewise.
42576         * lib/euidaccess.c: Likewise.
42577         * lib/exclude.c: Likewise
42578         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
42579         * lib/fsusage.c, fsuage.h: Likewise.
42580         * lib/fts.c, fts_.h: Likewise.
42581         * lib/getcwd.c: Likewise.
42582         * lib/getloadavg.c: Likewise.
42583         * lib/mkstemp.c: Likewise.
42584         * lib/mountlist.c, mountlist.h: Likewise.
42585         * lib/openat.c, openat.h: Likewise.
42586         * lib/readlink-stub.c: Likewise.
42587         * lib/readutmp.c, readutmp.h: Likewise.
42588         * lib/rename.c: Likewise.
42589         * lib/rmdir.c: Likewise.
42590         * lib/same.c: Likewise.
42591         * lib/savedir.c: Likewise.
42592         * lib/stripslash.c: Likewise.
42593         * lib/tempname.c: Likewise.
42594         * lib/xreadlink.c: Likewise.
42595         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
42596         All uses changed.
42597         * lib/exclude.h: Likewise.
42598
42599         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
42600         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
42601         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
42602         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
42603         * lib/pathmax.h: Include <limits.h> unconditionally, since other
42604         files have been getting away with it for years (MORE/BSD 4.3
42605         is extinct now).
42606         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
42607         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
42608
42609         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
42610         Define to 256, not 255, as per modern POSIX.
42611
42612 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
42613
42614         Sync from coreutils.
42615         Use "file name" when talking about file names, instead of "filename"
42616         or "path", as per the GNU coding standards.
42617         * MODULES.html.sh: mkdir-p renamed from makepath.
42618         filenamecat renamed from path-concat.
42619         * modules/filenamecat: Renamed from modules/path-concat.
42620         (Files): filenamecat.h and filenamecat.c renamed from
42621         path-concat.h and path-concat.c.
42622         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
42623         (Include): filenamecat.h, not path-concat.h.
42624         * modules/mkdir-p: Renamed from modules/makepath.
42625         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
42626         makepath.c.
42627         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
42628         (Include): mkdir-p.h, not makepath.h.
42629
42630 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
42631
42632         Sync from coreutils.
42633         * m4/mkdir-p.m4: Renamed from makepath.m4.
42634         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
42635         Rename files from makepath.c to mkdir-p.c, and from
42636         makepath.h to mkdir-p.h.
42637         * m4/filenamecat.m4: Renamed from path-concat.m4.
42638         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
42639         Rename files from path-concat.c to filenamecat.c,
42640         and from path-concat.h to filenamecat.h.
42641         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
42642         "file name" in local variables or comments.
42643         * m4/rename.m4: Likewise.
42644
42645 2005-06-01  Bruno Haible  <bruno@clisp.org>
42646
42647         * modules/csharpexec: New file.
42648         * MODULES.html.sh (C#): New section.
42649
42650 2005-06-01  Bruno Haible  <bruno@clisp.org>
42651
42652         * m4/csharp.m4: New file, from GNU gettext.
42653         * m4/csharpexec.m4: New file, from GNU gettext.
42654
42655 2005-06-01  Bruno Haible  <bruno@clisp.org>
42656
42657         * lib/csharpexec.h: New file, from GNU gettext.
42658         * lib/csharpexec.c: New file, from GNU gettext.
42659         * lib/csharpexec.sh.in: New file, from GNU gettext.
42660
42661 2005-05-31  Derek Price  <derek@ximbiot.com>
42662             Paul Eggert  <eggert@cs.ucla.edu>
42663
42664         Sync from cvs.
42665         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
42666
42667 2005-05-31  Derek Price  <derek@ximbiot.com>
42668             Paul Eggert  <eggert@cs.ucla.edu>
42669
42670         Sync from cvs.
42671         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
42672
42673 2005-05-29  Derek Price  <derek@ximbiot.com>
42674
42675         * config/srclist.txt (glob_.h, glob.c): Add these files.
42676
42677 2005-05-29  Derek Price  <derek@ximbiot.com>
42678
42679         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
42680         * modules/glob: New file.
42681         * modules/getlogin_r: Add link to POSIX spec in description.
42682
42683 2005-05-29  Derek Price  <derek@ximbiot.com>
42684             Paul Eggert  <eggert@cs.ucla.edu>
42685
42686         * m4/glob.m4: New file.
42687
42688 2005-05-29  Derek Price  <derek@ximbiot.com>
42689             Paul Eggert  <eggert@cs.ucla.edu>
42690
42691         * lib/glob_.h, lib/glob.c: New files.
42692
42693 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
42694
42695         * modules/fts (Files): Remove m4/inttypes-pri.m4.
42696         * modules/fts-lgpl (Depends-on): Remove gettext.
42697
42698 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
42699
42700         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
42701         and don't require gt_INTTYPES_PRI.
42702
42703 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
42704
42705         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
42706
42707         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
42708         the configuration hassle isn't worth it.
42709         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
42710         (LONGEST_MODIFIER, PRIuMAX): Remove.
42711
42712 2005-05-27  Bruno Haible  <bruno@clisp.org>
42713
42714         * lib/getlogin_r.h: Remove second include of <stddef.h>.
42715
42716 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
42717
42718         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
42719         _POSIX_PTHREAD_SEMANTICS for Solaris.
42720
42721 2005-05-25  Derek Price  <derek@ximbiot.com>
42722
42723         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
42724
42725 2005-05-25  Derek Price  <derek@ximbiot.com>
42726             Paul Eggert  <eggert@cs.ucla.edu>
42727
42728         * modules/getlogin_r, m4/getlogin_r.m4: New files.
42729         * lib/getlogin_r.c, getlogin_r.h: New files.
42730
42731 2005-05-25  Bruno Haible  <bruno@clisp.org>
42732             Derek Price  <derek@ximbiot.com>
42733
42734         * lib/getlogin_r.h: Simplify API documentation.
42735
42736 2005-05-23  Derek Price  <derek@ximbiot.com>
42737
42738         * modules/minmax (Files): Add m4/minmax.m4.
42739         (configure.ac): Add gl_MINMAX.
42740
42741 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
42742
42743         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
42744         so that unistd-safer.h (GPL'ed code) need not be included.
42745
42746 2005-05-22  Bruno Haible  <bruno@clisp.org>
42747
42748         * m4/minmax.m4: New file.
42749         Based on a patch by Derek Price <derek@ximbiot.com>.
42750
42751 2005-05-22  Bruno Haible  <bruno@clisp.org>
42752
42753         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
42754         (INT64_MIN): Fix definition.
42755         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
42756
42757         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
42758         NEED_SIGNED_INT_TYPES.
42759
42760         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
42761         HAVE_SYSTEM_INTTYPES.
42762
42763 2005-05-22  Bruno Haible  <bruno@clisp.org>
42764
42765         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
42766         Also include <sys/param.h> if it defines MIN, MAX.
42767         Based on a patch by Derek Price <derek@ximbiot.com>.
42768
42769 2005-05-21  Jim Meyering  <jim@meyering.net>
42770
42771         * modules/fts (Files): Add m4/inttypes-pri.m4.
42772         (Depends-on): Add lstat and remove gettext.  Alphabetize.
42773
42774 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
42775
42776         New fts module.
42777         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
42778         (setup_dir, free_dir): New functions.
42779         (enter_dir, leave_dir): Define trivial
42780         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
42781         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
42782         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
42783         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
42784         Move to fts-cycle.c.
42785         (fts_open): Use setup_dir.
42786         (fts_close): Use free_dir.
42787         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
42788         This adds a label and some gotos, but the alternatives were messier.
42789         Check for memory allocation failure when entering a dir.
42790         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
42791         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
42792         (FTS): New member fts_cycle, that is a union that contains the
42793         old active_dir_ht and cycle_state.  All uses changed to mention
42794         fts_cycle.ht and fts_cycle.state.
42795         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
42796         fts.c, with the following changes:
42797         (setup_dir, free_dir): New functions.
42798         (enter_dir): Now returns bool.  Return true if successful, false
42799         if memory exhausted.  All callers changed.
42800         Do not bother partly cleaning up on
42801         memory allocation failure; that is free_dir's job.
42802         However, free ad if hash_insert fails, to avoid memory leak.
42803         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
42804         fts->fts_options to see which union member to use.
42805
42806 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
42807
42808         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
42809         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
42810
42811 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
42812
42813         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
42814
42815 2005-05-20  Jim Meyering  <jim@meyering.net>
42816
42817         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
42818         Now a macro, to pacify GCC.
42819
42820 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
42821
42822         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
42823         of -1.
42824
42825 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
42826
42827         * lib/chown.c (rpl_chown): Return -1 on failure.
42828
42829 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
42830
42831         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
42832         Don't check for stddef.h.
42833         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
42834         don't use its results.
42835         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
42836         since we include them unconditionally.  Don't require
42837         AM_STDBOOL_H, since stdbool is a prerequisite.
42838         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
42839         since we assume C89 or better.
42840         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
42841         as we don't use their results.
42842         Don't check for fchdir, memmove, memset, strrchr, as we use
42843         them unconditionally.
42844         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
42845         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
42846
42847 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
42848
42849         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
42850         Include <stddef.h> unconditionally, since we assume C89 now.
42851         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
42852         * lib/fts.c: Include fts_.h first, to check interface.
42853         Do not include intprops.h; no longer needed.
42854         Include cycle-check.h and hash.h, since fts_.h no longer does.
42855         Remove unnecessary casts of closedir to void.
42856         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
42857         decide whether to decrement nlinks.
42858         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
42859         (FTS): Use struct hash_table * instead of Hash_table, so that
42860         we no longer need to include hash.h here.
42861
42862 2005-05-18  Jim Meyering  <jim@meyering.net>
42863
42864         * modules/dirfd (License): Change to LGPL.  Most of the code
42865         is already in the public domain.
42866
42867 2005-05-18  Jim Meyering  <jim@meyering.net>
42868
42869         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
42870         Reported by Yoann Vandoorselaere.
42871
42872 2005-05-17  Jim Meyering  <jim@meyering.net>
42873
42874         * m4/fts.m4: New file, from coreutils.
42875
42876 2005-05-17  Jim Meyering  <jim@meyering.net>
42877
42878         * lib/fts.c, lib/fts_.h: New files, from coreutils.
42879
42880 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
42881
42882         Sync from coreutils.
42883         * m4/unlinkdir.m4: New file.
42884
42885 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
42886
42887         Sync from coreutils.
42888         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
42889         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
42890         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
42891         White space changes only.
42892         * lib/makepath.c (make_path): Port to hosts where leading "//" is
42893         special.
42894         * lib/yesno.c: Include getline.h, not ctype.h.
42895         (yesno): Don't remove leading white space; POSIX doesn't allow it.
42896         Use getline to remove arbitrary restriction on response length.
42897
42898 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
42899
42900         * config/srclist-update: Spell out "Street" in FSF postal
42901         mail address; this is the style the FSF seems to prefer.
42902
42903         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
42904         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
42905         this updates FSF postal mail address.
42906
42907         Sync from coreutils.
42908         * modules/unlinkdir: New file.
42909         * modules/yesno (Depends-on): Add getline.
42910         * MODULES.html.sh (File system functions): Add unlinkdir.
42911
42912 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
42913
42914         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
42915         lib/strsep.h:
42916         Change the initial comment to refer to GPL, not LGPL.
42917         gnulib-tool will change it to LGPL as needed.
42918
42919         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
42920         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
42921         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
42922         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
42923         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
42924         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
42925         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
42926         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
42927         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
42928         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
42929         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
42930         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
42931         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
42932         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
42933         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
42934         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
42935         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
42936         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
42937         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
42938         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
42939         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
42940         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
42941         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
42942         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
42943         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
42944         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
42945         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
42946         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
42947         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
42948         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
42949         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
42950         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
42951         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
42952         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
42953         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
42954         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
42955         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
42956         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
42957         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
42958         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
42959         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
42960         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
42961         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
42962         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
42963         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
42964         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
42965         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
42966         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
42967         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
42968         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
42969         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
42970         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
42971         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
42972         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
42973         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
42974         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
42975         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
42976         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
42977         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
42978         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
42979         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
42980         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
42981         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
42982         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
42983         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
42984         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
42985         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
42986         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
42987         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
42988         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
42989         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
42990         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
42991         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
42992         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
42993         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
42994         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
42995         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
42996         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
42997         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
42998         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
42999         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
43000         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
43001         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
43002         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
43003         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
43004         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
43005         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
43006         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
43007         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
43008         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
43009         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
43010         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
43011         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
43012         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
43013         lib/yesno.c, lib/yesno.h:
43014         Update FSF postal mail address.
43015
43016 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
43017
43018         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
43019         tests/test-memmem.c, tests/test-stpncpy.c:
43020         Update FSF postal mail address.
43021
43022 2005-05-13  Bruno Haible  <bruno@clisp.org>
43023
43024         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
43025         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
43026         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
43027         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
43028         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
43029         Add support for 64-bit integers in the MSVC compiler.
43030
43031 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
43032
43033         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
43034
43035 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
43036
43037         * gnulib-tool (func_import): Sort and uniquify recommended includes.
43038
43039 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
43040
43041         * doc/getdate.texi (General date syntax): Don't say that date
43042         date --iso-8601=ns generates acceptable dates; it doesn't yet.
43043         Problem reported by Nic Ferrier.
43044
43045 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43046
43047         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
43048         specified in ai_socktype. Fix invalid ai_protocol
43049         check. ai_protocol is usually set to 0 or depending on
43050         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
43051         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
43052         ai_socktype / ai_protocol in the returned addrinfo structure.
43053
43054 2005-05-10  Simon Josefsson  <jas@extundo.com>
43055
43056         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
43057         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
43058
43059 2005-05-10  Karl Berry  <karl@gnu.org>
43060
43061         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
43062         (from http://www.gnu.org/licenses).
43063         * doc/COPYING.LIB: also rename to COPYING.LESSER.
43064         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
43065         fdl.texi suffices.
43066
43067 2005-05-10  Karl Berry  <karl@gnu.org>
43068
43069         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
43070         (COPYING.DOC): remove.
43071
43072         * config/srclist-update: new FSF address.
43073
43074 2005-05-10  Derek Price  <derek@ximbiot.com>
43075
43076         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
43077         possible.
43078
43079 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43080             Bruno Haible  <bruno@clisp.org>
43081
43082         * modules/inet_ntop: New file.
43083         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
43084         inet_ntop.
43085
43086 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43087             Bruno Haible  <bruno@clisp.org>
43088
43089         * m4/inet_ntop.m4: New file.
43090
43091 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43092             Bruno Haible  <bruno@clisp.org>
43093
43094         * lib/inet_ntop.h: New file.
43095         * lib/inet_ntop.c: New file, from glibc with modifications.
43096
43097 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
43098
43099         * modules/time_r (License): Change to LGPL.
43100         * modules/extensions (License): Change to LGPL.  Actually,
43101         the license is more permissive than that, but currently gnulib-tool
43102         doesn't know how to handle more-permissive licenses.
43103
43104         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
43105         Problem reported by Dave Love.
43106
43107 2005-05-08  Jim Meyering  <jim@meyering.net>
43108
43109         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
43110         blank.
43111
43112 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
43113
43114         * modules/argmatch (Depends-on): Add stdbool.
43115         * modules/backupfile (Depends-on): Likewise.
43116         * modules/chdir-long (Depends-on): Likewise.
43117         * modules/closeout (Depends-on): Likewise.
43118         * modules/cycle-check (Depends-on): Likewise.
43119         * modules/dirname (Depends-on): Likewise.
43120         * modules/fnmatch (Depends-on): Likewise.
43121         * modules/fsusage (Depends-on): Likewise.
43122         * modules/fwriteerror (Depends-on): Likewise.
43123         * modules/getcwd (Depends-on): Likewise.
43124         * modules/getloadavg (Depends-on): Likewise.
43125         * modules/hard-locale (Depends-on): Likewise.
43126         * modules/makepath (Depends-on): Likewise.
43127         * modules/mountlist (Depends-on): Likewise.
43128         * modules/nanosleep (Depends-on): Likewise.
43129         * modules/posixtm (Depends-on): Likewise.
43130         * modules/quotearg (Depends-on): Likewise.
43131         * modules/readtokens (Depends-on): Likewise.
43132         * modules/readtokens0 (Depends-on): Likewise.
43133         * modules/readutmp (Depends-on): Likewise.
43134         * modules/save-cwd (Depends-on): Likewise.
43135         * modules/strftime (Depends-on): Likewise.
43136         * modules/userspec (Depends-on): Likewise.
43137         * modules/utimecmp (Depends-on): Likewise.
43138         * modules/xgetcwd (Depends-on): Likewise.
43139         * modules/xnanosleep (Depends-on): Likewise.
43140         * modules/xstrtod (Depends-on): Likewise.
43141         * modules/yesno (Depends-on): Likewise.
43142
43143 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
43144
43145         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
43146         needless checks.
43147
43148 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
43149
43150         Merge from coreutils.  Among other things,
43151         add bulletproofing for cases where stdin, stdout, or stderr are closed.
43152         * lib/fd-safer.c: New file.
43153         * lib/fcntl-safer.h, open-safer.c: Remove.
43154         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
43155         * lib/dup-safer.c: Include unistd-safer.h first.
43156         Don't include errno.h.
43157         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
43158         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
43159         * lib/file-type.c: Rely on file-type.h change.
43160         * lib/getloadavg.c: Include unistd-safer.h.
43161         (getloadavg): Use safer open.
43162         * lib/getusershell.c: Include "stdio-safer.h".
43163         (getusershell): Use safer fopen.
43164         * lib/long-options.c (long_options): Use NULL rather than 0.
43165         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
43166         'free'.
43167         * lib/modechange.c: Likewise.
43168         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
43169         (MODE_DONE): New constant.
43170         (struct mode_change): Remove 'next' member.
43171         (make_node_op_equals): New function; like the old one of the
43172         same name, except it allocates an array.
43173         (mode_compile, mode_create_from_ref): Use it.
43174         (mode_compile): Allocate result as an array, not a linked list.
43175         Parse octal string ourself, so that we catch mistakes like "+0".
43176         (mode_adjust): Arg is an array, not a linked list.
43177         * lib/modechange.c: Include stat-macros.h, xalloc.h.
43178         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
43179         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
43180         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
43181         Remove.  This is now stat-macros.h's job.
43182         (talloc): Remove.  All callers replaced by xalloc, so that
43183         our invokers don't have to worry about reporting memory failures.
43184         (make_node_op_equals): Remove.
43185         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
43186         New constants.
43187         (struct mode_change): Moved here from modechange.h.
43188         (mode_append_entry): Remove.
43189         (mode_compile): Remove MASKED_OPS arg, since it encouraged
43190         apps to have incorrect behavior.  Use simpler algorithm for head
43191         and tail.  Don't futz with umask; that's now the job of mode_adjust.
43192         Detect more invalid usages rather than having somewhat-random behavior.
43193         Don't insert an "a=" action, as that leads to incorrect behavior.
43194         (mode_compile, mode_create_from_ref): Return NULL on error instead
43195         of an enum, since now there's only one way to have an error.  All
43196         callers changed.
43197         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
43198         at the correct time.  Simplify calculation of "+u" and its ilk.
43199         Don't mishandle "+X".
43200         (mode_free): Remove "register" and localize decls.
43201         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
43202         (struct mode_change): Move to modechange.c; callers don't
43203         need to see this stuff.
43204         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
43205         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
43206         (mode_change, mode_adjust): Reflect the new signatures noted above.
43207         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
43208         that might redefine system include files.
43209         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
43210         (my_usleep): Use NULL rather than (void *) 0.
43211         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
43212         Use siginterrupt to specify that system calls should be interrupted.
43213         (rpl_nanosleep): Move initialization of suspended closer to call of
43214         my_usleep.
43215         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
43216         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
43217         (desirable_utmp_entry): New function.
43218         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
43219         using x2nrealloc, to simplify logic.
43220         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
43221         size calculation.  Do not assume utmp file is a regular file.
43222         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
43223         (READ_UTMP_CHECK_PIDS): New constant.
43224         * lib/save-cwd.c: Include unistd-safer.h.
43225         (save_cwd): Use fd_safer.
43226         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
43227         [!_LIBC] Include "stat-macros.h" instead.
43228         * lib/unistd-safer.h (fd_safer): New decl.
43229
43230 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
43231
43232         * modules/getloadavg (Depends-on): Add unistd-safer.
43233         * modules/getusershell (Depends-on): Add stdio-safer.
43234         * modules/lstat (Depends-on): Remove xalloc.
43235         * modules/mkstemp (Depends-on): Add stat-macros.
43236         * modules/modechange (Depends-on): Remove xstrtol.
43237         Add stat-macros, xalloc.
43238         * modules/save-cwd (Depends-on): Add unistd-safer.
43239         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
43240         * modules/unistd-safer (Files): Add lib/fd-safer.c
43241         (Makefile.am): Remove lib_SOURCES.
43242
43243         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
43244         Remove fcntl-safer; unistd-safer supersedes it.
43245
43246 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
43247
43248         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
43249         AC_HEADER_STAT.
43250         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
43251         (gl_PREREQ_CHOWN): Remove.
43252         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
43253         it.  Don't require AC_HEADER_STAT.
43254         (gl_PREREQ_LSTAT): Remove.
43255         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
43256         Don't require AC_HEADER_STAT.
43257         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
43258         (gl_PREREQ_RMDIR): Remove.
43259         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
43260         mention stat-macros.h or AC_HEADER_STAT, since we'll make
43261         the stat-macros module a prerequisite.
43262         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
43263         * m4/filemode.m4 (gl_FILEMODE): Likewise.
43264         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
43265         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
43266         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
43267         variable names.
43268         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
43269         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
43270         variable prefixes.
43271         * m4/fcntl-safer.m4: Remove.
43272         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
43273         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
43274         Invoke gl_PREREQ_FD_SAFER.
43275         (gl_PREREQ_FD_SAFER): New macro.
43276         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
43277         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
43278         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
43279         Remove duplicate call to AC_LIBOBJ(readutmp).
43280         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
43281
43282         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
43283         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
43284
43285 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
43286
43287         * MODULES.html.sh (Misc): Add byteswap.
43288
43289 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
43290
43291         * modules/getcwd (Depends-on): Add extensions.
43292         * modules/openat (Depends-on): Likewise.
43293
43294 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
43295
43296         * modules/byteswap: New file.
43297
43298 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
43299
43300         * m4/byteswap.m4: New file.
43301
43302 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
43303
43304         * lib/byteswap_.h: New file.
43305
43306 2005-04-25  Karl Berry  <karl@gnu.org>
43307
43308         * m4/gettext.m4: Update from GNU gettext 0.14.4.
43309
43310 2005-04-25  Albert Chin  <china@thewrittenword.com>
43311
43312         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
43313         Toolkit C bug.
43314
43315 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
43316
43317         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
43318         (func_ln_if_changed) Remove forcibly for no error message
43319         in case file does not exist.
43320
43321 2005-04-19  Simon Josefsson  <jas@extundo.com>
43322
43323         * gnulib-tool (Options): Make --symlink mean --symbolic.
43324
43325 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
43326
43327         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
43328
43329 2005-04-16  Simon Josefsson  <jas@extundo.com>
43330
43331         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
43332
43333 2005-04-15  Simon Josefsson  <jas@extundo.com>
43334
43335         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
43336
43337 2005-04-15  Simon Josefsson  <jas@extundo.com>
43338
43339         * gnulib-tool: Rename --symlink to --symbolic.
43340
43341 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
43342
43343         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
43344         symbolic links to files instead of copying/moving.  Add --aux-dir,
43345         specifying directory relative --dir where auxiliary build tools
43346         are placed.
43347
43348 2005-04-14  Bruno Haible  <bruno@clisp.org>
43349
43350         * modules/allocsa (License): Change to LGPL.
43351         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
43352
43353 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
43354
43355         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
43356         that "UTC +1 second" continues to work.  Problem reported
43357         by Dmitry V. Levin.
43358         (relunit_snumber): New rule.
43359         (relunit): Use it.
43360
43361 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
43362
43363         * lib/getdate.y (universal_time_zone_table): New constant.
43364         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
43365         universal_time_zone_table.
43366         (lookup_zone): Prefer universal_time_zone_table to
43367         local_time_zone_table, so that "GMT" time stamps are allowed in
43368         London during the summer.  Problem reported by Ian Abbott.
43369
43370 2005-04-12  Jim Meyering  <jim@meyering.net>
43371
43372         * lib/human.c (humblock): Set *options even when returning due to
43373         xstrtoumax conversion failure.  Thanks to a used-uninitialized
43374         warning from gcc-4.
43375
43376 2005-04-09  Jim Meyering  <jim@meyering.net>
43377
43378         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
43379         -Wuninitialized: initialize tm0.tm_year.
43380
43381 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
43382
43383         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
43384         count, since there's no maximum.  All uses changed.
43385         Add member dsts_seen.
43386         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
43387         not being INT_MAX.
43388         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
43389         Use pc_rels_seen to decide whther a date is absolute.
43390
43391         * lib/getdate.y (number): Don't overwrite year.
43392         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
43393         check.
43394
43395 2005-04-02  Simon Josefsson  <jas@extundo.com>
43396
43397         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
43398         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
43399
43400 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
43401
43402         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
43403         where no absolute path name can be longer than PATH_MAX.
43404
43405 2005-03-27  Jim Meyering  <jim@meyering.net>
43406
43407         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
43408
43409 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
43410
43411         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
43412         "one's complement" -> "ones' complement" in comment, as per Knuth.
43413         "value of type" -> "type or expression" in comment.
43414         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
43415
43416 2005-03-26  Jim Meyering  <jim@meyering.net>
43417
43418         Comment nits.
43419         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
43420         Correct typos: s/or/of/.
43421
43422 2005-03-26  Jim Meyering  <jim@meyering.net>
43423
43424         * modules/check-include-files: Move to ../ and rename to...
43425         * check-module: ...this.
43426
43427 2005-03-25  Jim Meyering  <jim@meyering.net>
43428
43429         * modules/xvasprintf (Files): Add xalloc.h.
43430
43431 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
43432
43433         * modules/gettext (Files): config/config.rpath ->
43434         build-aux/config.rpath
43435         * modules/iconv (Files): Likewise.
43436         Problem reported by Oskar Liljeblad.
43437
43438 2005-03-23  Jim Meyering  <jim@meyering.net>
43439
43440         * modules/check-include-files: New script to check for
43441         missing dependencies, multiple includes, etc.
43442
43443         * modules/c-strtold (Depends-on): Add xalloc.
43444         * modules/c-strtod (Depends-on): Add xalloc.
43445         * modules/hash (Depends-on): Add xalloc.
43446         (Files): Remove lib/xalloc.h.
43447
43448         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
43449         * modules/userspec (Files): Add lib/inttostr.h.
43450
43451 2005-03-23  Jim Meyering  <jim@meyering.net>
43452
43453         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
43454
43455 2005-03-22  Jim Meyering  <jim@meyering.net>
43456
43457         * modules/stat-macros: New module.
43458         * modules/canonicalize, modules/euidaccess, modules/file-type,
43459         * modules/filemode, modules/lchown, modules/makepath,
43460         * modules/rmdir, modules/stat: Depend on new stat-macros module
43461         rather than listing lib/stat-macros.h manually.
43462         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
43463
43464 2005-03-22  Jim Meyering  <jim@meyering.net>
43465
43466         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
43467
43468 2005-03-22  Bruno Haible  <bruno@clisp.org>
43469
43470         * config/srclist.txt: Replace target directory 'config' with
43471         'build-aux'.
43472         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
43473         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
43474         ../build-aux/.
43475
43476 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
43477
43478         * modules/chdir-long (Depends-on): Add mempcpy.
43479
43480         * modules/acl, modules/backupfile, modules/c-strtod,
43481         modules/c-strtold, modules/canon-host, modules/canonicalize,
43482         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
43483         modules/exclude, modules/exitfail, modules/file-type,
43484         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
43485         modules/getdate, modules/getline, modules/getpagesize,
43486         modules/getpass, modules/getugroups, modules/group-member,
43487         modules/hard-locale, modules/hash, modules/human, modules/idcache,
43488         modules/inttostr, modules/long-options, modules/makepath,
43489         modules/md5, modules/memcasecmp, modules/memcoll,
43490         modules/modechange, modules/mountlist, modules/path-concat,
43491         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
43492         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
43493         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
43494         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
43495         modules/strftime, modules/strndup, modules/strverscmp,
43496         modules/timespec, modules/unlocked-io, modules/userspec,
43497         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
43498         modules/yesno:
43499         Remove lib_SOURCES line from Makefile.am section, as this is now
43500         done automatically by the corresponding Autoconf macro.
43501
43502 2005-03-21  Jim Meyering  <jim@meyering.net>
43503
43504         Changes imported from coreutils.
43505
43506         * lib/cycle-check.c: Don't include xalloc.h.
43507
43508         * lib/path-concat.c: Don't include assert.h.
43509         (path_concat): Remove assertion that would have triggered
43510         for ABASE starting with more than one slash.
43511         Reported by Andreas Schwab.
43512
43513         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
43514         properly when ABASE is an absolute file name.
43515         Correct the description of this function.
43516         Include <assert.h>.
43517         Add an assertion and a test driver.
43518         This fixes a bug introduced on 2004-07-02.
43519         Andreas Schwab reported the resulting failure of cp --parents:
43520         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
43521
43522 2005-03-21  Jim Meyering  <jim@meyering.net>
43523
43524         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
43525         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
43526
43527 2005-03-21  Jim Meyering  <jim@meyering.net>
43528         and  Paul Eggert  <eggert@cs.ucla.edu>
43529
43530         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
43531         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
43532         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
43533         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
43534         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
43535         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
43536         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
43537         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
43538         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
43539         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
43540         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
43541         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
43542         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
43543         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
43544         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
43545         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
43546         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
43547         for these modules.
43548
43549 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
43550
43551         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
43552         (which shouldn't happen), generate nothing instead of returning 0
43553         immediately, so that nstrftime (NULL, ...) doesn't return 0.
43554
43555 2005-03-16  Bruno Haible  <bruno@clisp.org>
43556
43557         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
43558         HAVE_LONGLONG_64BIT.
43559
43560 2005-03-16  Bruno Haible  <bruno@clisp.org>
43561
43562         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
43563         HAVE_LONGLONG_64BIT.
43564
43565 2005-03-16  Bruno Haible  <bruno@clisp.org>
43566
43567         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
43568         HAVE_LONGLONG_64BIT.
43569
43570 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
43571
43572         * lib/strftime.c (my_strftime): Prepend space to format so that we can
43573         reliably distinguish strftime failure from empty output on POSIX
43574         hosts.
43575
43576 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
43577
43578         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
43579         (iconv_string): Don't guess a size-zero buffer, as that might cause
43580         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
43581         result would be 'too large', where 'too large' is (heuristically)
43582         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
43583         overflow concerns.  This will prevent some unwanted malloc failures
43584         when the inputs are very large.
43585
43586 2005-03-15  Karl Berry  <karl@gnu.org>
43587
43588         * config/srclist.txt (config.rpath): from gettext.
43589         * config/config.rpath: update.
43590
43591 2005-03-15  Bruno Haible  <bruno@clisp.org>
43592
43593         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
43594         to 'negate'.
43595
43596         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
43597         variable.
43598
43599         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
43600         results.
43601
43602 2005-03-14  Simon Josefsson  <jas@extundo.com>
43603
43604         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
43605         <fx@gnu.org>.
43606
43607 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
43608
43609         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
43610         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
43611         intprops.h.
43612         * lib/strtol.c: Likewise.
43613
43614 2005-03-14  Jim Meyering  <jim@meyering.net>
43615
43616         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
43617         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
43618         to be nonzero so that we (and caller) can detect the difference
43619         between a valid zero-length expansion and an error return, even
43620         when the underlying strftime fails before writing anything into
43621         that location.
43622
43623 2005-03-14  Bruno Haible  <bruno@clisp.org>
43624
43625         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
43626         Update from GNU gettext 0.14.3.
43627
43628 2005-03-10  Jim Meyering  <jim@meyering.net>
43629
43630         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
43631
43632 2005-03-10  Jim Meyering  <jim@meyering.net>
43633
43634         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
43635         so that this module works on systems without fchdir.
43636
43637 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
43638
43639         Factor int-properties macros into a single file, except for
43640         glibc-related files.
43641         * lib/intprops.h: New file.
43642         * lib/getloadavg.c: Include it instead of limits.h.
43643         (INT_STRLEN_BOUND): Remove.
43644         * lib/human.c: Include intprops.h.
43645         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
43646         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
43647         302/1000.
43648         * lib/inttostr.h: Include intprops.h instead of limits.h.
43649         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
43650         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
43651         for consistency with intprops.h.
43652         (time_t_is_integer, twos_complement_arithmetic): Use them.
43653         * lib/sig2str.h: Include <signal.h>, intprops.h.
43654         (INT_STRLEN_BOUND): Remove.
43655         * lib/strftime.c (TYPE_SIGNED): Remove.
43656         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
43657         * lib/strtol.c: Adjust comments to match intprops.h.
43658         * lib/userspec.c: Include intprops.h.
43659         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
43660         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
43661         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
43662         instead of rolling our own expressions.
43663         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
43664
43665         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
43666         instead of int.
43667         (my_strftime): Do not mishandle years close to INT_MAX, by doing
43668         the right thing even if adding 1900 would overflow.  Similarly
43669         for tm_mon + 1 and tm_yday + 1.
43670         Make %Y always equivalent to %C%y, and similarly for %G and %g.
43671         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
43672         (DO_SIGNED_NUMBER): New macro.
43673         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
43674
43675 2005-03-07  Bruno Haible  <bruno@clisp.org>
43676
43677         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
43678
43679 2005-03-07  Bruno Haible  <bruno@clisp.org>
43680
43681         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
43682
43683 2005-03-04  Derek R. Price  <derek@ximbiot.com>
43684
43685         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
43686         (func_import): Only replace files via --import when they have actually
43687         changed.
43688
43689 2005-03-03  Derek R. Price  <derek@ximbiot.com>
43690
43691         * m4/mmap-anon.m4: New file.
43692         * m4/pagealign_alloc.m4: New file.
43693
43694 2005-03-03  Derek R. Price  <derek@ximbiot.com>
43695             Bruno Haible  <bruno@clisp.org>
43696
43697         * modules/pagealign_alloc: New file.
43698         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
43699
43700 2005-03-03  Derek R. Price  <derek@ximbiot.com>
43701             Bruno Haible  <bruno@clisp.org>
43702
43703         * lib/pagealign_alloc.h: New file.
43704         * lib/pagealign_alloc.c: New file.
43705
43706 2005-03-03  Bruno Haible  <bruno@clisp.org>
43707
43708         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
43709         Use an all-permissive copyright notice, recommended by RMS.
43710
43711 2005-03-02  Bruno Haible  <bruno@clisp.org>
43712
43713         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
43714         of AIX, the replacement has to be done only after <string.h> is
43715         included, therefore not in config.h. stpncpy.h does the replacement,
43716         and stpncpy.c uses it.
43717
43718 2005-03-02  Bruno Haible  <bruno@clisp.org>
43719
43720         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
43721         stpncpy.c uses it.
43722
43723 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
43724
43725         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
43726         The workaround isn't strictly needed for POSIX conformance, and
43727         it's too much of a pain to configure and maintain.  We'll ask
43728         people to fix their kernels instead.
43729         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
43730         (NANOSLEEP_BUG_WORKAROUND): Remove.
43731         (xnanosleep): Remove the workaround.
43732
43733 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
43734
43735         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
43736         Reported by Derek Price.
43737         (Include): Add "timespec.h".
43738
43739         * modules/xnanosleep (Depends-on): Remove gethrxtime.
43740
43741 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
43742
43743         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
43744         to detect nanosleep bug.
43745
43746 2005-03-01  Bruno Haible  <bruno@clisp.org>
43747
43748         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
43749
43750 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
43751
43752         * modules/gethrxtime: New file.
43753         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
43754         (Depends-on): Add gethrxtime.
43755         (configure.ac): Add gl_XNANOSLEEP.
43756         (Makefile.am): Remove lib_SOURCES line.
43757
43758 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
43759
43760         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
43761         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
43762
43763 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
43764
43765         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
43766         * lib/timespec.h (gettime): Return void, since it always
43767         succeeds now.  All uses changed.
43768         * lib/gettime.c (gettime) Likewise.
43769         [HAVE_NANOTIME]: Prefer nanotime.
43770         Assume gettimeofday succeeds, as POSIX requires.
43771         Assime time () succeeds, since other code already does.
43772         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
43773         (timespec_subtract): Remove.
43774         (NANOSLEEP_BUG_WORKAROUND): New constant.
43775         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
43776         things considerably.  Use it only on GNU/Linux hosts, since the
43777         workaround shouldn't be needed elsewhere.
43778
43779 2005-02-24  Bruno Haible  <bruno@clisp.org>
43780
43781         * modules/gettext (Files): Add m4/glibc2.m4.
43782
43783 2005-02-24  Bruno Haible  <bruno@clisp.org>
43784
43785         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
43786         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
43787         * m4/progtest.m4:
43788         Update from GNU gettext 0.14.2.
43789         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
43790
43791 2005-02-24  Bruno Haible  <bruno@clisp.org>
43792
43793         * lib/localcharset.c: Update from GNU gettext 0.14.2.
43794         * lib/config.charset: Update from GNU gettext 0.14.2.
43795
43796 2005-02-24  Bruno Haible  <bruno@clisp.org>
43797
43798         * lib/gettext.h: Update from GNU gettext 0.14.2.
43799
43800 2005-02-23  Simon Josefsson  <jas@extundo.com>
43801
43802         * m4/iconvme.m4: New file.
43803
43804 2005-02-23  Jim Meyering  <jim@meyering.net>
43805
43806         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
43807         change.
43808         Thanks to Bruno Haible for catching it.
43809
43810 2005-02-22  Simon Josefsson  <jas@extundo.com>
43811
43812         * modules/iconvme: New file.
43813
43814         * MODULES.html.sh: Add iconvme.
43815
43816 2005-02-22  Simon Josefsson  <jas@extundo.com>
43817
43818         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
43819
43820 2005-02-22  Simon Josefsson  <jas@extundo.com>
43821
43822         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
43823
43824 2005-02-22  Jim Meyering  <jim@meyering.net>
43825
43826         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
43827         s/ifndef/ifdef/.
43828
43829 2005-02-20  Neil Conway  <neilc@samurai.com>
43830
43831         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
43832         returned by OSX/Darwin if the specified buffer is not large
43833         enough for the hostname.
43834
43835 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
43836
43837         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
43838         pass it to _help, otherwise the latter coredumps trying to
43839         dereference state.root_argp.
43840
43841 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
43842
43843         * modules/chdir-long (Depends-on): Add memrchr.
43844         * modules/memrchr (Files): Add lib/memrchr.h.
43845         (Include): "memrchr.h".
43846
43847 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
43848
43849         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
43850
43851 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
43852
43853         * lib/memrchr.h: New file.
43854         * lib/chdir-long.c: Include it.
43855         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
43856         Don't bother including stddef.h.
43857
43858 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
43859
43860         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
43861         inclusion.
43862         Include <sys/types.h>, for dev_t.
43863         (ME_DUMMY, ME_REMOTE): Move from here....
43864         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
43865         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
43866         Dmitry V. Levin.
43867         Include mountlist.h first, to test the interface.
43868
43869 2005-01-29  Bruno Haible  <bruno@clisp.org>
43870
43871         * lib/progname.c (program_name): Initialize.
43872         Needed when linking statically on MacOS X.
43873
43874 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
43875
43876         Sync from coreutils.
43877         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
43878         (Depends-on): Add c-strtod.
43879         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
43880
43881 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
43882
43883         Sync from coreutils.
43884         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
43885
43886         Remove files that are specific to coreutils.
43887         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
43888
43889 2005-01-28  Bruno Haible  <bruno@clisp.org>
43890
43891         * modules/javacomp: New file.
43892         * MODULES.html.sh (Java): Add javacomp.
43893
43894 2005-01-28  Bruno Haible  <bruno@clisp.org>
43895
43896         * m4/javacomp.m4: New file, from GNU gettext.
43897
43898 2005-01-28  Bruno Haible  <bruno@clisp.org>
43899
43900         * lib/javacomp.sh.in: New file, from GNU gettext.
43901         * lib/javacomp.h: New file, from GNU gettext.
43902         * lib/javacomp.c: New file, from GNU gettext.
43903
43904 2005-01-26  Simon Josefsson  <jas@extundo.com>
43905
43906         * lib/gai_strerror.c: Use GPL in header.
43907
43908 2005-01-26  Bruno Haible  <bruno@clisp.org>
43909
43910         * modules/javaexec: New file.
43911         * MODULES.html.sh (Java): Add javaexec.
43912
43913 2005-01-26  Bruno Haible  <bruno@clisp.org>
43914
43915         * m4/javaexec.m4: New file, from GNU gettext.
43916
43917 2005-01-26  Bruno Haible  <bruno@clisp.org>
43918
43919         * lib/javaexec.sh.in: New file, from GNU gettext.
43920         * lib/javaexec.h: New file, from GNU gettext.
43921         * lib/javaexec.c: New file, from GNU gettext.
43922
43923 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
43924
43925         * modules/lchown (Depends-on): Remove lchown.h
43926
43927 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
43928
43929         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
43930         must be defined if the header file was not found, in order
43931         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
43932
43933 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
43934
43935         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
43936         initializers for struct pentry_state.
43937         (__argp_error): Check return value of __asprintf
43938         (__argp_failure): Translate error message
43939
43940         * lib/argp-parse.c: Removed braces around the expansion of N_()
43941
43942 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43943
43944         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
43945         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
43946         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
43947         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
43948         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
43949         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
43950         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
43951         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
43952         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
43953         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
43954         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
43955         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
43956         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
43957         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
43958         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
43959         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
43960         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
43961         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
43962         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
43963         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
43964         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
43965         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
43966         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
43967         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
43968         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
43969         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
43970         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
43971         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
43972         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
43973         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
43974         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
43975         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
43976         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
43977         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
43978         xstrtol.m4, xstrtoumax.m4, yesno.m4:
43979         Use an all-permissive copyright notice, recommended by RMS.
43980
43981 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
43982
43983         * modules/chdir-long (Depends-on): Remove mempcpy.
43984
43985 2005-01-21  Jim Meyering  <jim@meyering.net>
43986
43987         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
43988         same value as for Solaris 9.
43989
43990         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
43991         component length.  This included changing the parameter to be
43992         of type `char *' rather than `char const *'.
43993         * lib/chdir-long.h (chdir_long): Update prototype.
43994
43995         * lib/openat.c (fdopendir, fstatat): New functions.
43996         * lib/openat.h: Include headers required for use of DIR and struct
43997         stat.
43998         [AT_SYMLINK_NOFOLLOW]: Define.
43999         (fdopendir, fstatat): Add prototypes.
44000
44001 2005-01-21  Bruno Haible  <bruno@clisp.org>
44002
44003         * modules/classpath: New file.
44004         * MODULES.html.sh (Java): Add classpath.
44005
44006 2005-01-21  Bruno Haible  <bruno@clisp.org>
44007
44008         * lib/classpath.h: New file, from GNU gettext.
44009         * lib/classpath.c: New file, from GNU gettext.
44010
44011 2005-01-20  Simon Josefsson  <jas@extundo.com>
44012
44013         * modules/version-etc-fsf: New file.
44014
44015 2005-01-20  Simon Josefsson  <jas@extundo.com>
44016
44017         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
44018         * lib/version-etc.c: Remove version_etc_copyright.
44019         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
44020         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
44021
44022 2005-01-20  Simon Josefsson  <jas@extundo.com>
44023
44024         * lib/base64.h (isbase64): Add.
44025
44026         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
44027         using a unsigned prototype, don't inline.
44028         (base64_decode): Use it.
44029
44030 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
44031
44032         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
44033         it.
44034
44035 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
44036
44037         * lib/save-cwd.c (save_cwd): Remove code to support the case
44038         where fchdir is missing or flaky.
44039
44040 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
44041
44042         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
44043
44044 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
44045
44046         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
44047         AC_LIBSOURCES now does this.
44048         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
44049         with new ullong_max module.
44050
44051 2005-01-19  Bruno Haible  <bruno@clisp.org>
44052
44053         * modules/sh-quote: New file.
44054         * MODULES.html.sh (Executing programs): Add sh-quote.
44055
44056 2005-01-19  Bruno Haible  <bruno@clisp.org>
44057
44058         * lib/sh-quote.h: New file, from GNU gettext.
44059         * lib/sh-quote.c: New file, from GNU gettext.
44060
44061 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
44062
44063         Merge from coreutils.
44064         * m4/ullong_max.m4: New file.
44065         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
44066         (gl_MACROS): Assume localeconv exists.
44067
44068 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
44069
44070         Merge changes from coreutils, as described below in several
44071         changelogs dated today.
44072
44073         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
44074         (O_DIRECTORY): Remove; not needed here, since "." must be
44075         a directory.  All uses removed.
44076         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
44077         universal on Suns, and we also need to test for IRIX.
44078         Revamp code to use 'if' rather than '#if'.
44079         Avoid unnecessary comparison of cwd->desc to 0.
44080
44081         * lib/utimens.c (futimens): Robustify the previous patch, by checking
44082         for known valid error numbers rather than observed invalid ones.
44083
44084 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
44085
44086         * modules/ullong_max: New file.
44087
44088         * modules/chdir-long, modules/openat: New files.
44089         * modules/save-cwd (Depends-on): Depend on chdir-long.
44090         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
44091
44092 2005-01-18  Jim Meyering  <jim@meyering.net>
44093
44094         Merge from coreutils.
44095         * m4/chdir-long.m4, m4/openat.m4: New files.
44096         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
44097         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
44098         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
44099         is sane and DOES follow symlinks.  Besides, testing 20 different
44100         systems found no broken chown implementations.
44101         Prompted by a change in rsync's copy of this macro.
44102         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
44103
44104         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
44105
44106         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
44107         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
44108         NULL-means-set-to-current-time semantics.
44109         Remove temporary file immediately, rather than waiting
44110         for configure's at-exit trap code to do it.
44111
44112 2005-01-18  Jim Meyering  <jim@meyering.net>
44113
44114         * lib/version-etc.c (version_etc_copyright): Update copyright date.
44115
44116         * lib/utimens.c (futimens): Account for the fact that futimes
44117         can also fail with errno == ENOSYS or errno == ENOENT.
44118         Patch from Dmitry V. Levin.
44119
44120         Change the name of the robust chdir function from chdir to chdir_long.
44121         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
44122         (restore_cwd): Use chdir_long, not chdir.
44123         * lib/chdir-long.c: Renamed from chdir.c.
44124         * lib/chdir-long.h: Renamed from chdir.h.
44125         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
44126         Hurd.
44127
44128 2005-01-18  Bruno Haible  <bruno@clisp.org>
44129
44130         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
44131         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
44132         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
44133         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
44134         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
44135         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
44136         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
44137         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
44138         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
44139         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
44140         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
44141         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
44142         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
44143         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
44144         Use an all-permissive copyright notice, recommended by RMS.
44145
44146 2005-01-18  Bob Proulx  <bob@proulx.com>
44147
44148         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
44149         simplify offsetof() macro construct to avoid compile failure with
44150         native HP-UX 11.0 ANSI C compiler.
44151
44152 2005-01-17  Bruno Haible  <bruno@clisp.org>
44153
44154         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
44155         redundant because stpncpy.m4 takes care of it.
44156
44157 2005-01-17  Bruno Haible  <bruno@clisp.org>
44158
44159         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
44160
44161 2005-01-17  Bruno Haible  <bruno@clisp.org>
44162
44163         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
44164         used.
44165
44166 2005-01-17  Bruno Haible  <bruno@clisp.org>
44167
44168         * lib/fwriteerror.h (fwriteerror): Change specification to include
44169         fclose.
44170         * lib/fwriteerror.c: Include <stdbool.h>.
44171         (fwriteerror): At the end, close the file stream. Record whether
44172         stdout was already closed.
44173
44174 2005-01-17  Bruno Haible  <bruno@clisp.org>
44175
44176         * lib/execute.c (environ): Declare if needed.
44177         * lib/pipe.c (environ): Likewise.
44178         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
44179
44180 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
44181
44182         * modules/argp: Depend on vsnprintf
44183
44184 2005-01-10  Jim Meyering  <jim@meyering.net>
44185
44186         * modules/closeout (Depends-on): Add atexit.
44187
44188 2005-01-06  Bruno Haible  <bruno@clisp.org>
44189
44190         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
44191
44192 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
44193
44194         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
44195         definitions to be after all include files, to avoid collisions.
44196         Problem reported by Bob Proulx.
44197
44198 2005-01-04  Jim Meyering  <jim@meyering.net>
44199
44200         Changes imported from coreutils.
44201         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
44202         as the mkstemp template, use a temporary directory and an
44203         8.3-friendly template to avoid trouble on systems like DJGPP.
44204         Reported by Juan M. Guerrero via Stepan Kasal.
44205         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
44206         close. Remove the temporary directory right away, rather than waiting
44207         for configure's at-exit trap code to do it.
44208         Suggestion from Stepan Kasal.
44209
44210 2005-01-01  Simon Josefsson  <jas@extundo.com>
44211
44212         * gnulib-tool: Print #include directives when --import'ing.
44213
44214 2004-12-28  Simon Josefsson  <jas@extundo.com>
44215
44216         * tests/test-base64.c: Include required header files.  Remove
44217         unused variables.
44218
44219 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
44220
44221         * modules/error (Depends-on): Remove gettext.
44222
44223 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
44224
44225         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
44226         not needed.  This removes a dependency on the gettext module.
44227         [defined _LIBC]: Do not include <libintl.h>; not needed.
44228
44229 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
44230
44231         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
44232         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
44233
44234 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
44235
44236         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
44237         HAVE_DECL_STRTOLD.
44238
44239 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
44240
44241         * modules/getdate (Depends-on): Remove alloca-opt.
44242
44243 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
44244
44245         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
44246
44247 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
44248
44249         * lib/argp-parse.c: Include <stddef.h>.
44250         (alignof, alignto): New macros.
44251         (parser_init): Don't assume that void * is aligned sufficiently
44252         for struct option.
44253
44254         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
44255         need to extend the stack.
44256         (YYINITDEPTH): New macro, so that the initial stack isn't overly
44257         large.
44258
44259 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
44260
44261         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
44262
44263 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
44264
44265         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
44266         (2004-10-24) change.  Apparently this was a false alarm.
44267
44268         * modules/getdate: Depend on alloca-opt, not alloca.
44269
44270 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
44271
44272         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
44273         Remove now-obsolete comment about AIX.
44274         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
44275         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
44276         (YYMAXDEPTH): New macro.
44277
44278 2004-12-18  Simon Josefsson  <jas@extundo.com>
44279
44280         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
44281
44282 2004-12-18  Bruno Haible  <bruno@clisp.org>
44283
44284         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
44285
44286 2004-12-18  Bruno Haible  <bruno@clisp.org>
44287
44288         * lib/fatal-signal.c (fatal_signals): Make non-const.
44289         (init_fatal_signals): New function.
44290         (uninstall_handlers, install_handlers): Ignore signals that were set to
44291         SIG_IGN.
44292         (at_fatal_signal): Call init_fatal_signals.
44293         (init_fatal_signal_set): Likewise. Ignore signals that were set to
44294         SIG_IGN.
44295         Reported by Paul Eggert.
44296
44297 2004-12-18  Bruno Haible  <bruno@clisp.org>
44298
44299         * doc/alloca.texi: New file.
44300         * doc/alloca-opt.texi: New file.
44301
44302 2004-12-17  Jim Meyering  <jim@meyering.net>
44303
44304         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
44305         Otherwise, install-sh could exit with improper exit status when
44306         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
44307
44308 2004-12-16  Simon Josefsson  <jas@extundo.com>
44309
44310         * tests/test-base64.c: Add license.
44311
44312 2004-12-15  Stepan Kasal  <address@hidden>
44313
44314         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
44315
44316 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
44317
44318         * modules/getcwd (Files): Add m4/d-ino.m4.
44319         Suggested by Mark D. Baushke.
44320
44321 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
44322
44323         * lib/getdate.y (textint): New member "negative".
44324         (time_zone_hhmm): New function.
44325         Expect 14 shift-reduce conflicts, not 13.
44326         (o_colon_minutes): New rule.
44327         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
44328         (yylex): Set the "negative" member of signed numbers.
44329
44330 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
44331
44332         * doc/getdate.texi (Time of day items, Time zone items):
44333         Describe new formats +00:00, UTC+00:00.
44334
44335 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
44336
44337         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
44338         spurious "-l"s.  Problem reported by Stepan Kasal.
44339
44340 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
44341
44342         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
44343         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
44344
44345 2004-12-04  Simon Josefsson  <jas@extundo.com>
44346
44347         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
44348         Vandoorselaere <yoann@prelude-ids.org>.
44349
44350 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
44351
44352         Changes imported from coreutils.
44353         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
44354         exist.
44355         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
44356
44357 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
44358
44359         Changes imported from coreutils.
44360         * lib/hard-locale.c: Assume <locale.h> exists.
44361         Include "strdup.h".
44362         (GLIBC_VERSION): New macro.
44363         (hard_locale): Assume setlocale exists.
44364         Rewrite to avoid #ifdef.
44365         Use strdup rather than malloc + strcpy.
44366         * lib/human.c: Assume <locale.h> exists.
44367         (human_readable): Assume localeconv exists.
44368
44369 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
44370
44371         * modules/hard-locale (Depends-on): Add strdup.
44372
44373 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
44374
44375         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
44376         convert T2, not T.  (Imported from libc.)
44377
44378 2004-11-30  Simon Josefsson  <jas@extundo.com>
44379
44380         * modules/restrict (License): Change to LGPL.
44381
44382 2004-11-30  Simon Josefsson  <jas@extundo.com>
44383
44384         * m4/restrict.m4: Add copyright and copying conditions.
44385
44386 2004-11-30  Simon Josefsson  <jas@extundo.com>
44387
44388         * m4/base64.m4: New file.
44389
44390 2004-11-30  Simon Josefsson  <jas@extundo.com>
44391
44392         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
44393         base64.
44394
44395         * tests/test-base64.c: New file.
44396
44397         * modules/base64: New file.
44398
44399 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
44400
44401         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
44402         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
44403
44404         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
44405
44406 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
44407
44408         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
44409         (__getcwd.c): Don't restore errno; glibc doesn't.
44410         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
44411         first, falling back to our code only if its results look suspicious.
44412         Ensure that the resulting buffer is only as large as necessary.
44413
44414         * lib/readutmp.c: Include readutmp.h first.
44415         Include <errno.h>, since readutmp.h no longer does that.
44416         * lib/readutmp.h: Don't include <errno.h>,
44417         <sys/param.h>, <time.h>; not needed to establish interface.
44418         (errno): Remove decl.
44419         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
44420         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
44421         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
44422
44423 2004-11-28  Simon Josefsson  <jas@extundo.com>
44424
44425         * lib/base64.h, base64.c: New file.
44426
44427 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
44428
44429         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
44430
44431 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
44432
44433         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
44434         (Depends-on): Remove pathmax, same.  Add mempcpy.
44435         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
44436         (Makefile.am): Append getcwd.h to lib_SOURCES.
44437         (Include): Add getcwd.h.
44438         (Maintainer): Change from Jim Meyering to "all, glibc",
44439         since getdate now uses intended-for-glibc code.
44440         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
44441         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
44442
44443 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
44444
44445         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
44446         HP's ANSI C compiler.
44447         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
44448         Declaring int functions causes warnings on some modern systems and
44449         shouldn't be needed to compile on ancient ones.
44450         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
44451         defined.
44452
44453         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
44454         with the following changes.
44455         (__set_errno): Parenthesize properly.
44456         Include <stdbool.h>.
44457         (MIN, MAX, MATCHING_INO): New macros.
44458         (__getcwd): Define with prototype, not K&R form.
44459         Use heuristics to allocate default buffer on stack if possible.
44460         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
44461         behavior, and to avoid the PATH_MAX limit when computing
44462         ../../../../...
44463         Use MATCHING_INO to compare inode number to file.
44464         Check for arithmetic overflow in size calculations.
44465         Fix bug in reallocation of dot array that caused getcwd to fail
44466         on directories nested deeper than 75.
44467         Be more careful about saving errno on error.
44468         Do not use realloc; use only free+malloc, as this is a bit
44469         more flexible and avoids a needless copy operation.
44470         Do not inspect st_dev and st_ino for symbolic links; POSIX
44471         doesn't specify the latter.
44472         Check for closedir errors.
44473         Avoid needless casts.
44474         Use "#ifdef weak_alias" around weak_alias, to be like other
44475         glibc code.
44476         The following changes to getcwd.c have effect only when used in
44477         gnulib; they have no effect inside glibc proper.
44478         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
44479         as alloca isn't used.
44480         (alloca, __alloca): Likewise.
44481         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
44482         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
44483         unconditionally, as gnulib assumes C89 or better.
44484         Do not include <sys/param.h>.
44485         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
44486         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
44487         better.
44488         (NULL) [!defined NULL]: Remove; we assume C89 or better.
44489         Include <dirent.h> in a way that is compatible with modern Autoconf.
44490         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
44491         New macros, if not already defined.
44492         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
44493         Use "_LIBC", not "defined _LIBC", for consistency.
44494         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
44495         a mempcpy module.
44496         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
44497         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
44498         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
44499         credit only to Jim Meyering and adjust the copyright dates.
44500         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
44501         <stdlib.h>, <unistd.h>, "pathmax.h".
44502         Instead, include "xgetcwd.h" (first) and "getcwd.h".
44503         (INITIAL_BUFFER_SIZE): Remove.
44504         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
44505
44506 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
44507
44508         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
44509         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
44510         Use the _ONCE methods, for efficiency.
44511         Check for fcntl.h.  In test program, include <errno.h>
44512         and <fcntl.h> if available.  Remove old K&R cruft from
44513         test program.  Check for common errors in GNU/Linux,
44514         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
44515         don't do AC_LIBOBJ, as that's getcwd.m4's job.
44516         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
44517         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
44518         name accordingly.
44519         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
44520         accommodate new getcwd.c.
44521         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
44522         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
44523         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
44524         that's all we need now.
44525
44526 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
44527
44528         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
44529         argp-parse.c depends on getopt internals, that means we should
44530         always use our getopt, to be on the safe side.
44531         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
44532         order not to spoil the result of an eventual previous invocation
44533         of gl_GETOPT_SUBSTITUTE.
44534
44535 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
44536
44537         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
44538         redefinition warnings. To avoid them, include the defines
44539         in `#if !defined __need_getopt ... #endif'. The only place
44540         where __getopt_argv_const is used is in definitions
44541         of getopt_long and getopt_long_only below, which are as well
44542         protected by `#ifndef __need_getopt'.
44543         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
44544         __need_getopt after including <stdio.h> and <unistd.h> These
44545         headers might have defined it.
44546
44547 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
44548
44549         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
44550
44551 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
44552
44553         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
44554         (futimens): New function, which uses futimes if available.
44555         (futimens, utimens): Support timespec==NULL, with same semantics
44556         as utime and utimens.
44557         * lib/utimens.h (futimens): New decl.
44558
44559 2004-11-23  Jim Meyering  <jim@meyering.net>
44560
44561         * lib/getopt_.h: Remove trailing blanks.
44562
44563 2004-11-23  Jim Meyering  <jim@meyering.net>
44564
44565         * lib/__fpending.c: Add comment.
44566
44567 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
44568
44569         * modules/canonicalize (Depends-on): Add xreadlink.
44570         Problem reported by James Youngman.
44571
44572 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
44573
44574         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
44575         New macros.
44576         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
44577         optopt): Use them instead of invoking ## directly; otherwise, the
44578         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
44579
44580 2004-11-19  Bruno Haible  <bruno@clisp.org>
44581
44582         * lib/strtok_r.c: Move comments from here...
44583         * lib/strtok_r.h: ... to here.
44584
44585 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
44586
44587         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
44588         implementations that mishandle size_t overflow.
44589
44590 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
44591
44592         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
44593         might fail.  Problem reported by Yoann Vandoorselaere.
44594         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
44595         implementations that mishandle size_t overflow.
44596
44597 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
44598
44599         * modules/canon-host (Depends-on): Add strdup.
44600
44601 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
44602
44603         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
44604
44605 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
44606
44607         * lib/canon-host.c: Include "strdup.h".
44608         (canon_host): Use getaddrinfo if available, so that IPv6 works.
44609         Use strdup instead of malloc/strcpy to duplicate strings.
44610
44611         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
44612         (human_space_before_unit): New constant.
44613         * lib/human.c (human_readable): Support it.
44614
44615         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
44616         (xgetcwd): Set errno correctly when failing.
44617         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
44618         the failure is actually due to a PATH_MAX problem.
44619
44620         Further getopt changes to make it more likely that glibc will
44621         buy the changes back.
44622         * lib/getopt.c (POSIXLY_CORRECT): New constant.
44623         (getopt): Use it, so to preserve glibc semantic
44624         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
44625         when compiling for libc.
44626         * lib/getopt_.h (__getopt_argv_const): Bring it back.
44627         (getopt_long, getopt_long_only): Use it.
44628
44629         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
44630         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
44631         (getopt): Argv is now char * const *, as per standard.
44632         (_getopt_internal_r, _getopt_internal): Argv is now char **,
44633         not char *__getopt_argv_const *.
44634         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
44635         _getopt_long_only_r): Likewise.
44636         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
44637         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
44638         _getopt_long_r, _getopt_long_only_r): Likewise.
44639         * lib/getopt_.h (__getopt_argv_const): Remove.
44640         (getopt): Argv is now char * const *, as per standard.
44641
44642         * lib/getdate.y (tORDINAL): New token.
44643         (day, relunit): Allow it for relative times.
44644         (relative_time_table): Use tORDINAL for ordinals.
44645
44646 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
44647
44648         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
44649         Document that "second" isn't allowed as an ordinal number.
44650
44651 2004-11-16  Jim Meyering  <jim@meyering.net>
44652
44653         * modules/closeout (Depends-on): Add fpending.
44654
44655 2004-11-15  Jim Meyering  <jim@meyering.net>
44656
44657         * lib/closeout.c: Include "__fpending.h" once again.
44658         Include <stdbool.h>.
44659         (close_stdout): Don't fail just because stdout was closed initially,
44660         since some programs don't write to stdout in the normal course of
44661         operation (other than --version and --help), and we don't want this
44662         function to make e.g. `touch file >&-' fail.
44663         But do fail if it was closed and someone has tried to write to it.
44664         E.g., `printf foo >&-' must fail.
44665
44666 2004-11-13  Jim Meyering  <jim@meyering.net>
44667
44668         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
44669
44670 2004-11-12  Simon Josefsson  <jas@extundo.com>
44671
44672         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
44673         small doc fix is still pending.
44674
44675 2004-11-11  Simon Josefsson  <jas@extundo.com>
44676
44677         * modules/strtok_r: New file.
44678
44679         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44680         strtok_r.
44681
44682 2004-11-11  Simon Josefsson  <jas@extundo.com>
44683
44684         * m4/strtok_r.m4: New file.
44685
44686         * m4/getopt.m4: Replace opterr.
44687
44688 2004-11-11  Simon Josefsson  <jas@extundo.com>
44689
44690         * lib/strtok_r.h, strtok_r.c: New file.
44691
44692 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
44693
44694         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
44695         of replacing opterr, getopt, etc.  This should handle the
44696         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
44697
44698 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
44699
44700         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
44701         we can stop lying to compilers about the constness of argv when we
44702         are compiled outside glibc.
44703         (getopt, getopt_long, getopt_long_only): Use it.
44704         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
44705         _getopt_internal, getopt): Likewise.
44706         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
44707         _getopt_long_only_r): Likewise.
44708         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
44709         _getopt_long_r, _getopt_long_only_r): Likewise.
44710
44711         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
44712         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
44713         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
44714         the other external symbols.
44715         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
44716         declaration, since the above renaming now works around collisions.
44717
44718 2004-11-11  Jim Meyering  <jim@meyering.net>
44719
44720         * lib/linebreak.c: Remove trailing blanks.
44721         * lib/alloca_.h: Likewise.
44722         * lib/acosl.c: Likewise.
44723         * lib/euidaccess.c: Likewise.
44724         * lib/allocsa.h: Likewise.
44725
44726 2004-11-10  Simon Josefsson  <jas@extundo.com>
44727
44728         * m4/getaddrinfo.m4: New file.
44729
44730 2004-11-10  Simon Josefsson  <jas@extundo.com>
44731
44732         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
44733
44734 2004-11-10  Simon Josefsson  <jas@extundo.com>
44735
44736         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44737         getaddrinfo.
44738
44739         * modules/getaddrinfo: New file.
44740
44741 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
44742
44743         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
44744
44745 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
44746
44747         * lib/mktime.c (SHR): New macro, which is a portable
44748         substitute for >> that should work even on Crays.
44749         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
44750         Problem reported by Mark D. Baushke in
44751         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
44752         * lib/getdate.y (SHR): Likewise.
44753         (tm_diff): Use it.
44754         * lib/strftime.c (SHR): Likewise.
44755         (tm_diff): Use it.
44756         * lib/quotearg.c (struct quoting_options): Use unsigned int for
44757         quote_these_too, so that right shifts are well defined.  All uses
44758         changed.
44759
44760 2004-11-10  Jim Meyering  <jim@meyering.net>
44761
44762         Ensure that no close failure goes unreported.
44763         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
44764         return early when it seems there's nothing to flush.
44765         Don't include __fpending.h.
44766
44767 2004-11-10  Jim Meyering  <jim@meyering.net>
44768
44769         * modules/closeout (Depends-on): Remove fpending.
44770
44771 2004-11-10  Jim Meyering  <jim@meyering.net>
44772
44773         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
44774
44775 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
44776
44777         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
44778         gl_FUNC_STRFTIME.
44779         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
44780         and AC_REQUIRE when possible, to avoid duplicate checks.
44781         Check for <wchar.h>.
44782
44783 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
44784
44785         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
44786
44787 2004-11-09  Bruno Haible  <bruno@clisp.org>
44788
44789         * m4/sockpfaf.m4: New file.
44790
44791 2004-11-05  Bruno Haible  <bruno@clisp.org>
44792
44793         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
44794         Reported by Mark D. Baushke <mdb@cvshome.org>.
44795
44796 2004-11-04  Bruno Haible  <bruno@clisp.org>
44797
44798         2004-09-11  Bruno Haible  <bruno@clisp.org>
44799                 * allocsa.valgrind: New file.
44800         2004-02-06  Bruno Haible  <bruno@clisp.org>
44801                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
44802                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
44803                 Reported by Christopher Seip <chris.seip@hp.com>.
44804
44805 2004-11-04  Bruno Haible  <bruno@clisp.org>
44806
44807         * modules/allocsa (Files): Add lib/allocsa.valgrind.
44808         (Makefile.am): Distribute it.
44809
44810 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
44811
44812         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
44813         with errno == ERANGE if the buffer is too small.
44814         Problem reported by Mark D. Baushke.
44815
44816 2004-11-03  Albert Chin  <china@thewrittenword.com>
44817             Paul Eggert  <eggert@cs.ucla.edu>
44818
44819         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
44820         equivalent, substitute $ac_type for equivalent type rather than
44821         blindly using uint32_t *always* which won't work if uint32_t is not
44822         available.  Define _UINT32_T to work around typedef of uint32_t if
44823         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
44824         2.5.1.
44825
44826 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
44827
44828         * m4/jm-macros.m4: Sync from coreutils.
44829         (gl_MACROS): Check for mbrlen, for pathchk.
44830         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
44831
44832 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
44833
44834         * lib/xreadlink.c (MAXSIZE): New macro.
44835         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
44836         size does not exceed MAXSIZE.  Avoid cast.
44837         As suggested by Mark D. Baushke in
44838         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
44839         if readlink fails with buffer size just under MAXSIZE, try again
44840         with MAXSIZE.
44841
44842 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
44843
44844         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
44845
44846 2004-11-02  Derek R. Price  <derek@ximbiot.com>
44847         and  Paul Eggert  <eggert@cs.ucla.edu>
44848
44849         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
44850         (get_date): Overparenthesize to avoid GCC warning.
44851
44852 2004-11-02  Bruno Haible  <bruno@clisp.org>
44853
44854         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
44855         returns void.
44856
44857 2004-11-02  Bruno Haible  <bruno@clisp.org>
44858
44859         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
44860         function returns void.
44861
44862 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
44863
44864         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
44865         fflush_unlocked, flockfile, funlockfile, funlockfile,
44866         fputs_unlocked, putc_unlocked.
44867
44868 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
44869
44870         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
44871         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
44872         already declared.
44873
44874 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
44875
44876         * modules/getdate (Files): Add doc/getdate.texi.
44877         (Depends-on): Add setenv, xalloc.
44878
44879 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
44880
44881         * lib/getdate.y: Add support for TZ="foo" within a date string.
44882         Fix some bugs near time_t boundaries.  Reject dates with
44883         out-of-range components, e.g., "Sept 31".
44884         Include <stdlib.h>, "setenv.h", "xalloc.h".
44885         (ISDIGIT_LOCALE): Remove; unused.
44886         Note that the TZ and time functions used here are not reentrant.
44887         (mktime_ok, get_tz): New functions.
44888         (TZBUFSIZE): New constant.
44889         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
44890         This requires that we sometimes generate our own TZ="XXX..." setting.
44891
44892 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
44893
44894         * doc/getdate.texi: New file, from coreutils with modifications for
44895         the new TZ parsing.
44896
44897 2004-10-27  Derek R. Price  <derek@ximbiot.com>
44898
44899         * lib/mktime.c (not_equal_tm): Remove redundant check.
44900
44901 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
44902
44903         * modules/regex (lib_SOURCES): Add regex.c.
44904         Reported by James Youngman in
44905         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
44906
44907 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
44908
44909         * lib/getdate.y: Use Bison 1.875 features, and some minor
44910         code cleanups.  This change does not affect semantics.
44911         Don't include <stdlib.h>; no longer needed.
44912         Don't include unlocked-io.h; only the "#if TEST" code uses
44913         stdio, and performance isn't crucial there.
44914         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
44915         Bison 1.875 features as described below.
44916         All uses of "PC." replaced by "pc->".
44917         (YYSTYPE): Add a forward declaration.
44918         (yylex, yyerror): Use full prototypes in forward decls.
44919         Use "%pure-parser" rather than obsolescent "%pure_parser".
44920         Use %parse-param and %lex-param instead of obsolescent
44921         YYPARSE_PARAM and YYLEX_PARAM.
44922         (meridian_table, month_and_day_table, time_units_table,
44923         relative_time_table, time_zone_table, military_table,
44924         lookup_zone, lookup_word, get_date):
44925         Use NULL instead of 0 where appropriate.
44926         (to_hour): Avoid abort (), to avoid a dependency on
44927         stdlib.h.
44928         (yyerror, yylex): Now accepts parser_control * arg.
44929         (main) [TEST]: Use '\0' rather than 0 for char.
44930
44931 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
44932
44933         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
44934
44935 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
44936
44937         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
44938         It's now the caller's responsibility to handle the case where
44939         !HAVE_GETPAGESIZE && !defined getpagesize.
44940
44941         * lib/mktime.c (leapyear): Arg is long int, not int.
44942
44943 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
44944
44945         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
44946
44947 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
44948
44949         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
44950         missing.  Problem reported by James Youngman.
44951
44952 2004-10-16  Simon Josefsson  <jas@extundo.com>
44953
44954         * gnulib-tool: Fix comments.  Fix parse problem.
44955         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
44956
44957 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
44958
44959         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
44960         implementation of getopt_long.  Problem reported by Alexander Taler in:
44961         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
44962
44963 2004-10-15  Bruno Haible  <bruno@clisp.org>
44964
44965         * gnulib-tool: Untabify. Initialize supplied_libname.
44966         (func_usage): More homogenous output.
44967         (func_modules_transitive_closure, func_modules_to_filelist,
44968         func_emit_lib_Makefile_am): New functions.
44969         (func_import): New function, extracted from big case statement. Use
44970         func_get_license, func_modules_transitive_closure,
44971         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
44972         opt_lgpl. Don't use test -a, as it's not portable.
44973         (func_create_testdir): Use func_modules_transitive_closure,
44974         func_modules_to_filelist, func_emit_lib_Makefile_am.
44975
44976 2004-10-15  Bruno Haible  <bruno@clisp.org>
44977
44978         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
44979
44980 2004-10-15  Bruno Haible  <bruno@clisp.org>
44981
44982         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
44983         the portions belonging to each module.
44984         Suggested by Derek Robert Price <derek@ximbiot.com>.
44985
44986 2004-10-12  Simon Josefsson  <jas@extundo.com>
44987
44988         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
44989         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
44990         to real functions.
44991
44992 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44993
44994         * modules/vsnprintf: New file.
44995
44996 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44997
44998         * m4/vsnprintf.m4: New file.
44999
45000 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45001
45002         * lib/vsnprintf.h: New file.
45003         * lib/vsnprintf.c: New file.
45004
45005 2004-10-11  Bruno Haible  <bruno@clisp.org>
45006
45007         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
45008         vsnprintf.
45009
45010 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
45011
45012         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
45013
45014 2004-10-07  Bruno Haible  <bruno@clisp.org>
45015
45016         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
45017         fits into the provided buffer.
45018
45019 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
45020
45021         * lib/diacrit.c, diacrit.h: Add GPL notice.
45022
45023         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
45024         notice.
45025         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
45026         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
45027         This avoids a potential constant-folding bug.
45028
45029 2004-10-05  Bruno Haible  <bruno@clisp.org>
45030
45031         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
45032         for the declaration of strsep.
45033
45034 2004-10-05  Bruno Haible  <bruno@clisp.org>
45035
45036         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
45037
45038 2004-10-04  Simon Josefsson  <jas@extundo.com>
45039
45040         * modules/memmem: New file.
45041         * tests/test-memmem.c: New file.
45042         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
45043
45044 2004-10-04  Simon Josefsson  <jas@extundo.com>
45045
45046         * m4/memmem.m4: New file.
45047
45048 2004-10-04  Simon Josefsson  <jas@extundo.com>
45049
45050         * lib/memmem.h: New file.
45051         * lib/memmem.c: New file, taken from glibc.
45052
45053 2004-10-04  Simon Josefsson  <jas@extundo.com>
45054
45055         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
45056         '#ifdef USE_UNLOCKED_IO'.
45057
45058 2004-10-04  Simon Josefsson  <jas@extundo.com>
45059
45060         * config/srclist.txt: Add memmem from glibc.
45061
45062 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
45063
45064         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
45065
45066         * modules/argmatch, modules/argp, modules/closeout, modules/error,
45067         modules/exclude, modules/getdate, modules/getline,
45068         modules/getndelim2, modules/getpass, modules/getpass-gnu,
45069         modules/getusershell, modules/linebuffer, modules/md5,
45070         modules/mountlist, modules/posixtm, modules/readtokens,
45071         modules/readutmp, modules/regex, modules/sha1,
45072         modules/version-etc, modules/yesno:
45073         Remove dependency on unlocked-io.
45074
45075 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
45076
45077         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
45078
45079         * m4/unlocked-io.m4: Add copyright notice.
45080         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
45081
45082 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
45083
45084         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
45085         * lib/xmalloc.c (xmemdup): Likewise.
45086         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
45087         XFREE): Remove these long-obsolescent macros.
45088         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
45089         * lib/xstrdup.c: Remove.
45090
45091         * lib/regex.c (re_comp): Cast gettext return value to char *,
45092         Problem reported by Martin Neitzel via Mark D. Baushke.
45093
45094 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
45095
45096         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
45097         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
45098         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
45099         regex.c, sha1.c, version-etc.c, yesno.c:
45100         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
45101         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
45102         the includer's responsibility.
45103
45104         Sync from coreutils.
45105
45106         * lib/modechange.c (mode_compile): Don't decrement a pointer that
45107         points to the start of a string, as the C Standard says the
45108         resulting behavior is undefined.
45109
45110         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
45111         simple -> simple_backups, numbered_existing ->
45112         numbered_existing_backups, numbered -> numbered_backups
45113         to avoid shadowing problems.  All uses changed.
45114         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
45115         * lib/backupfile.c (check_extension, numbered_backup):
45116         Rename locals to avoid shadowing 'basename'.
45117         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
45118         once.
45119
45120         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
45121         * lib/.cvsignore: Add getopt.h.
45122
45123 2004-10-04  Bruno Haible  <bruno@clisp.org>
45124
45125         * modules/README: New file.
45126         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
45127         not a module.
45128
45129 2004-10-02  Jim Meyering  <jim@meyering.net>
45130
45131         * lib/dirfd.h, getpagesize.h: Add copyright notice.
45132
45133 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45134
45135         * modules/strsep: New file.
45136
45137 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45138
45139         * m4/strsep.m4: New file.
45140
45141 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45142
45143         * lib/strsep.h: New file.
45144         * lib/strsep.c: New file.
45145
45146 2004-10-01  Simon Josefsson  <jas@extundo.com>
45147
45148         * lib/snprintf.c (snprintf): Handle size==0.
45149
45150 2004-10-01  Simon Josefsson  <jas@extundo.com>
45151             Bruno Haible  <bruno@clisp.org>
45152
45153         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
45154         (snprintf): Declare 'args'.
45155
45156 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
45157
45158         * lib/snprintf.c: Remove comments as to why each header is needed.
45159
45160 2004-10-01  Bruno Haible  <bruno@clisp.org>
45161
45162         * MODULES.html.sh: Add strsep.
45163
45164 2004-09-30  Simon Josefsson  <jas@extundo.com>
45165
45166         * modules/snprintf: New file.
45167
45168 2004-09-30  Simon Josefsson  <jas@extundo.com>
45169
45170         * m4/snprintf.m4: New file.
45171
45172 2004-09-30  Simon Josefsson  <jas@extundo.com>
45173
45174         * lib/snprintf.h, lib/snprintf.c: New files.
45175
45176 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45177
45178         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
45179         (hol_entry_help): Never translate an empty string.
45180         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
45181         * lib/argp.h (OPTION_NO_TRANS): New option.
45182
45183 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
45184
45185         * modules/argp (Maintainer): Replace Simon Josefsson
45186         by Sergey Poznyakoff.
45187
45188 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
45189
45190         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
45191         changes merged back into glibc.
45192
45193 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
45194
45195         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
45196
45197 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
45198
45199         * lib/xvasprintf.c: Include xalloc.h.
45200         (xvasprintf): Use xalloc_die, not xmalloc_die.
45201
45202 2004-09-29  Bruno Haible  <bruno@clisp.org>
45203
45204         * modules/alloca-opt: New file, derived from modules/alloca.
45205         * modules/allocsa: Depend on alloca-opt instead of alloca.
45206         * modules/setenv: Likewise.
45207         * modules/vasnprintf: Likewise.
45208         * MODULES.html.sh: Add alloca-opt.
45209
45210 2004-09-28  Simon Josefsson  <jas@extundo.com>
45211
45212         * gnulib-tool: New parameter --lgpl, to asseert that modules are
45213         LGPL, and to replace license template from GPL to LGPL.
45214
45215 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
45216
45217         * modules/dummy: Change license to LGPL.
45218
45219 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
45220
45221         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
45222
45223 2004-09-24  Simon Josefsson  <jas@extundo.com>
45224
45225         * modules/minmax (License): Change from GPL to LGPL.
45226
45227 2004-09-23  Simon Josefsson  <jas@extundo.com>
45228
45229         * gnulib-tool (--import): Typo.
45230
45231 2004-09-23  Simon Josefsson  <jas@extundo.com>
45232
45233         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
45234
45235 2004-09-22  Bruno Haible  <bruno@clisp.org>
45236
45237         * modules/*: Add 'License' field.
45238         * gnulib-tool: Accept --extract-license option.
45239         (func_get_license): New function.
45240
45241 2004-09-21  Bruno Haible  <bruno@clisp.org>
45242
45243         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
45244         Reported by Simon Josefsson.
45245
45246 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
45247
45248         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
45249         gl_AC_TYPE_LONG_LONG.
45250
45251 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
45252
45253         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
45254
45255 2004-09-18  Simon Josefsson  <jas@extundo.com>
45256         and  Paul Eggert  <eggert@cs.ucla.edu>
45257
45258         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
45259         calls with autoreconf.  Define GL_LIB.
45260
45261 2004-09-14  Karl Berry  <karl@gnu.org>
45262
45263         * config/srclist.txt: unsync setenv.c, sigh.
45264
45265 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
45266
45267         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
45268         Problem reported by Bruno Haible in:
45269         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
45270
45271 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
45272
45273         * config/srclist.txt: Comment out argp-pvh.c.
45274
45275 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
45276
45277         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
45278         in case some system header has #define'd it.  Problem reported by
45279         Soeren D. Schulze in
45280         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
45281
45282 2004-09-09  Karl Berry  <karl@gnu.org>
45283
45284         * regex.[ch]: delete from the root.  These were supposed to be
45285                 synced with emacs cvs, but this has not happened for about
45286                 a year, and anyway nothing else uses emacs regex.[ch].
45287                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
45288                 lib/regex[.ch] is untouched.
45289
45290 2004-09-09  Bruno Haible  <bruno@clisp.org>
45291
45292         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
45293
45294 2004-09-09  Bruno Haible  <bruno@clisp.org>
45295
45296         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
45297         modifications.
45298         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
45299
45300 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
45301
45302         * modules/xvasprintf: New file.
45303         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
45304
45305 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
45306
45307         * lib/xvasprintf.h: New file.
45308         * lib/xvasprintf.c: New file.
45309         * lib/xasprintf.c: New file.
45310
45311 2004-09-08  Bruno Haible  <bruno@clisp.org>
45312
45313         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
45314
45315 2004-09-08  Bruno Haible  <bruno@clisp.org>
45316
45317         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
45318         length is > INT_MAX.
45319         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
45320         more.
45321
45322 2004-09-08  Bruno Haible  <bruno@clisp.org>
45323
45324         * lib/stdint_.h: New file, taken from GNU clisp.
45325
45326 2004-09-08  Bruno Haible  <bruno@clisp.org>
45327             Oskar Liljeblad  <oskar@osk.mine.nu>
45328
45329         * modules/stdint: New file.
45330         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
45331
45332 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
45333
45334         Import from coreutils.
45335         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
45336         strings on unbounded length.  alloca's performance benefits aren't
45337         that important here.
45338         (V_STRDUP): Remove.
45339         (parse_with_separator): New function, with most of the internals
45340         of the old parse_user_spec.  Allow user to omit both user and group,
45341         for compatibility with FreeBSD.
45342         Clone only the user name, not the entire spec.
45343         Do not set *uid, *gid unless entirely successful.
45344         Avoid memory leak in some failing cases.
45345         Fix regression for USER.GROUP reported by Dmitry V. Levin in
45346         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
45347         (parse_user_spec): Rewrite to use parse_with_separator.
45348
45349 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
45350
45351         * modules/userspec: Don't depend on alloca.
45352
45353 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
45354
45355         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
45356
45357 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
45358
45359         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
45360         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
45361         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
45362
45363 2004-08-16  Simon Josefsson  <jas@extundo.com>
45364
45365         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
45366         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
45367         Add --dry-run for --import.
45368         Let user provided command line parameters override configure.ac
45369         settings.
45370
45371 2004-08-12  Simon Josefsson  <jas@extundo.com>
45372
45373         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
45374         as discussed with Paul Eggert in threads rooted at
45375         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
45376         and
45377         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
45378         Before, the test was empty, and relied on ELIDE_CODE in source
45379         code.)
45380         (gl_PREREQ_GETOPT): New macro.
45381         (gl_GETOPT): Use them.
45382
45383 2004-08-12  Simon Josefsson  <jas@extundo.com>
45384
45385         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
45386         * lib/getopt_.h: Renamed from getopt.h.
45387
45388 2004-08-12  Simon Josefsson  <jas@extundo.com>
45389
45390         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
45391         Change default library name from libfoo to libgnu.
45392         Now, if you have a configure.ac that says:
45393                 gl_SOURCE_BASE(gl)
45394                 gl_M4_BASE(gl/m4)
45395                 gl_MODULES(error getopt etcetera)
45396                 gl_INIT
45397         you can import all you need by running:
45398                 ../gnulib/gnulib-tool --import
45399
45400         * modules/getopt (Files): Rename getopt.h to getopt_.h.
45401         (Makefile.am): Rewrite, use logic from argz.
45402         (Include): Use <getopt.h> instead of "getopt.h".
45403
45404 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
45405
45406         * modules/argp (Files): Add m4/unlocked-io.m4.
45407         (Depends-on): Add extensions.
45408
45409 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
45410
45411         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
45412         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
45413         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
45414         Check for program_invocation_name, program_invocation_short_name,
45415         flockfile, funlockfile, features.h, _getopt_long_only_r.
45416
45417 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
45418
45419         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
45420         its complicated substitute.
45421         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
45422         and program_invocation_name.
45423         (__argp_basename) [!_LIBC]: Remove; the only use was
45424         replaced by its body.
45425         (__argp_short_program_name): Change condition from
45426         !defined __argp_short_program_name to
45427         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
45428         to match argp-namefrob.h.
45429         (__argp_failure): Don't assume strerror_r returns char *.
45430         * lib/argp-parse.c (N_): Define unconditionally.
45431         (argp_default_options): Fill out initializers with 0 to avoid
45432         gcc warnings.
45433
45434 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
45435
45436         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
45437         getopt1.c.
45438
45439 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
45440
45441         Merge from coreutils.
45442
45443         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
45444
45445         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
45446         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
45447
45448 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
45449
45450         Merge from coreutils.
45451
45452         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
45453         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
45454         for Reliant Unix 5.43.
45455
45456         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
45457         (union fooround): Use uintmax_t, not long int.
45458         The rest is a merge from libc:
45459         [defined _LIBC]: Include <shlib-compat.h>.
45460         (_obstack) [defined _LIBC]: Remove after 2.3.4.
45461
45462         * lib/settime.c (settime): Recode to avoid warning with
45463         Sun Forte C 6U2.
45464
45465         * lib/strverscmp.c: Convert to UTF-8.
45466
45467 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
45468
45469         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
45470         m4/uintmax_t.m4.
45471
45472 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45473
45474         * modules/xalloc-die: New file.
45475         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
45476
45477         * modules/md5 (Files): Add m4/uint32_t.m4.
45478         * modules/sha1: Renamed from modules/sha.
45479         (Files):
45480         Rename lib/sha.h to lib/sha1.h.
45481         Rename lib/sha.c to lib/sha1.c.
45482         Rename m4/sha.m4 to m4/sha1.m4.
45483         (lib_SOURCES): Likewise.
45484         (configure.ac): Rename gl_SHA to gl_SHA1.
45485         (Include): sha.h -> sha1.h.
45486
45487 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45488
45489         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
45490         * m4/sha1.m4: Renamed from sha.m4.
45491         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
45492
45493 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45494
45495         * lib/obstack.h (obstack_empty_p):
45496         Don't assume that chunk->contents is suitably aligned.
45497         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
45498         Likewise. Problem reported by Benno in
45499         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
45500
45501         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
45502         readable.  This could be improved further but it'd take some work.
45503
45504 2004-08-08  Simon Josefsson  <jas@extundo.com>
45505
45506         * modules/xgethostname (Depends-on): Remove exit and error (not
45507         used).
45508
45509         * modules/getpass-gnu: Add getpass.h.
45510         (Depends-on): Add stdbool.
45511         * modules/getpass: Add getpass.h.
45512
45513 2004-08-08  Simon Josefsson  <jas@extundo.com>
45514
45515         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
45516         Check getpass declaration.
45517
45518 2004-08-08  Simon Josefsson  <jas@extundo.com>
45519
45520         * lib/xgethostname.c: Don't include error.h (not used).
45521
45522         * lib/getpass.h: Add.
45523         * lib/getpass.c: Include getpass.h first.
45524
45525 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
45526
45527         * lib/xalloc-die.c: New file.
45528         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
45529         All uses removed.
45530         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
45531         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
45532         xalloc-die.c.
45533         (_, N_, xalloc_die): Move to xalloc-die.c.
45534         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
45535         so that we needn't mess with xalloc_msg_memory_exhausted.
45536
45537         * lib/sha1.h: Renamed from sha.h.
45538         (SHA1_H): Renamed from _SHA_H.
45539         (sha1_ctx): Renamed from sha_ctx.
45540         (sha1_init_ctx): Renamed from sha_init_ctx.
45541         (sha1_process_block): Renamed from sha_process_block.
45542         (sha1_process_bytes): Renamed from sha_process_bytes.
45543         (sha1_finish_ctx): Renamed from sha_finish_ctx.
45544         (sha1_read_ctx): Renamed from sha_read_ctx.
45545         (sha1_stream): Renamed from sha_stream.
45546         (sha1_buffer): Renamed from sha_buffer.
45547         * lib/sha1.c: Likewise; renamed from sha.c.
45548         Do not include <sys/types.h>.
45549         Include <stddef.h> rather than <stdlib.h>.
45550
45551 2004-08-08  Bruno Haible  <bruno@clisp.org>
45552
45553         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
45554         FILESYSTEM_PREFIX_LEN.
45555         * lib/progreloc.c: Likewise.
45556         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
45557
45558 2004-08-06  Simon Josefsson  <jas@extundo.com>
45559
45560         * modules/progname (Depends-on): Don't depend on stdbool.
45561
45562 2004-08-06  Simon Josefsson  <jas@extundo.com>
45563
45564         * modules/getsubopt: New file.
45565         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45566         getsubopt.
45567
45568 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
45569
45570         More merge from coreutils.
45571
45572         * m4/utimens.m4, m4/utimecmp.m4: New files.
45573         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
45574         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
45575         prereq.m4, sha.m4: Import changes from coreutils.
45576
45577 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
45578
45579         More merge from coreutils.
45580         * modules/raise, modules/readtokens0, modules/utimens:
45581         * modules/utimecmp, module/xnanosleep: New files.
45582         * modules/strftime: Add lib/strftime.h.
45583         Change include from <time.h> to "strftime.h".
45584         * modules/yesno: Add lib/yesno.h.
45585         * modules/backupfile: Remove lib/addext.c.
45586         * modules/euidaccess: Add stat-macros.h.
45587         * modules/canonicalize, modules/euidaccess,
45588         modules/filemode, modules/lchown, modules/makepath,
45589         modules/rmdir, modules/stat: Likewise.
45590
45591 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
45592
45593         Merge from tar.
45594         * lib/argp-help.c (make_hol, hol_append): Don't assume that
45595         SIZE_MAX is a valid preprocessor constant.
45596         (__argp_basename): Change from "#ifndef _LIBC"
45597         to "#ifndef __argp_short_program_name", so that
45598         we don't compile these functions for tar.
45599
45600         More merges from coreutils.
45601         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
45602         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
45603         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
45604         * lib/addext.c: Remove; no longer needed.
45605         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
45606         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
45607         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
45608         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
45609         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
45610         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
45611         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
45612         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
45613         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
45614         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
45615         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
45616         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
45617         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
45618         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
45619         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
45620         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
45621         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
45622         Import changes from coreutils.
45623
45624 2004-08-05  Simon Josefsson  <jas@extundo.com>
45625
45626         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
45627
45628 2004-08-05  Simon Josefsson  <jas@extundo.com>
45629
45630         * m4/getsubopt.m4: New file.
45631
45632 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
45633
45634         Merge from coreutils.
45635
45636         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
45637         * m4/getcwd-path-max.m4: New files.
45638
45639         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
45640         FILESYSTEM_PREFIX_LEN ->
45641         FILE_SYSTEM_PREFIX_LEN.
45642         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
45643         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
45644         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
45645         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
45646
45647         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
45648         prerequisite modules now handle the DOS stuff.
45649         Don't check for unistd.h.
45650
45651 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
45652
45653         Merge from coreutils.
45654
45655         * lib/.gdb-history: Remove; this doesn't belong here.
45656
45657         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
45658         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
45659         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
45660         * lib/getcwd.c: New files.
45661
45662         * lib/dirname.h: Include <stdbool.h>.
45663         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
45664         for consistency with POSIX terminology.  All uses changed.
45665         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
45666         (strip_trailing_slashes): Use bool for booleans.
45667         * lib/stripslash.c (strip_trailing_slashes): Likewise.
45668
45669         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
45670         sometimes returns a positive errno value even when it succeeds.
45671         (print_errno_message) [!LIBC]: Fall back on strerror if
45672         __strerror_r fails.
45673
45674         * lib/path-concat.c (mempcpy): Don't define if a system header defines
45675         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
45676         (longest_relative_suffix): New function.
45677         (path_concat): Use it.  Assume first argument is not NULL.
45678         Port to DOS.  Omit redundant separators.
45679         Report an error instead of returning NULL.
45680         Use mempcpy instead of memcpy.
45681         (xpath_concat): Remove: not declared or used.
45682
45683         * lib/same.h: Include <stdbool.h>
45684         (same_name): Return bool, not int.
45685         * lib/same.c (same_name): Likewise.
45686         (errno): Don't declare; we assume C89 or better now.
45687
45688         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
45689         if not already defined.
45690
45691         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
45692         * lib/dup-safer.c (errno): Likewise.
45693
45694 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
45695
45696         Merge from coreutils.
45697         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
45698         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
45699         * modules/path-concat: Don't depend on strdup.
45700
45701 2004-08-03  Simon Josefsson  <jas@extundo.com>
45702
45703         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
45704         * lib/progname.h: Don't include stdbool.h.
45705
45706 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
45707
45708         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
45709         * MODULES.html.sh (func_all_modules): Remove fatal.
45710
45711 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
45712
45713         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
45714
45715 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
45716
45717         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
45718         working.
45719
45720 2004-08-02  Simon Josefsson  <jas@extundo.com>
45721
45722         * lib/getsubopt.h: New file, with comments from Bruno Haible.
45723         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
45724         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
45725
45726 2004-08-01  Simon Josefsson  <jas@extundo.com>
45727
45728         * lib/xgetdomainname.c: Include stdlib.h, for free().
45729
45730 2004-07-19  Bruno Haible  <bruno@clisp.org>
45731
45732         * MODULES.html.sh (func_all_modules): Add dummy.
45733
45734 2004-07-16  Simon Josefsson  <jas@extundo.com>
45735
45736         * modules/dummy: New file.
45737
45738 2004-07-16  Simon Josefsson  <jas@extundo.com>
45739
45740         * lib/dummy.c: New file.
45741
45742 2004-07-16  Bruno Haible  <bruno@clisp.org>
45743
45744         * lib/backupfile.h: Add extern "C" for C++.
45745         * lib/closeout.h: Likewise.
45746         * lib/copy-file.h: Likewise.
45747         * lib/findprog.h: Likewise.
45748         * lib/full-write.h: Likewise.
45749         * lib/pathname.h: Likewise.
45750         * lib/progname.h: Likewise.
45751         * lib/stpcpy.h: Likewise.
45752         * lib/stpncpy.h: Likewise.
45753         * lib/strcase.h: Likewise.
45754         * lib/strstr.h: Likewise.
45755         * lib/xalloc.h: Likewise.
45756
45757         * lib/mbswidth.h: Add extern "C" for C++.
45758         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
45759
45760 2004-07-13  Robert Millan  <robertmh@gnu.org>
45761
45762         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
45763
45764 2004-07-09  Simon Josefsson  <jas@extundo.com>
45765
45766         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
45767         failed without this.)
45768
45769 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
45770
45771         * modules/chown (Files): Add lib/fchown-stub.c, since
45772         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
45773
45774 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
45775
45776         * lib/fchown-stub.c: New file.
45777
45778 2004-06-24  Jim Meyering  <jim@meyering.net>
45779
45780         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
45781
45782 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
45783
45784         * modules/argz: Omit "#include".
45785
45786         * MODULES.html.sh (func_all_modules): Add calloc, to match
45787         2004-06-01 addition of calloc module.
45788
45789 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
45790
45791         * m4/argz.m4: New file, which is autoupdated from libtool.
45792
45793 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
45794
45795         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
45796         libtool.
45797
45798 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
45799
45800         * config/srclist-update: Don't insist on "USA." before the
45801         close-comment, as libtool omits the period and puts the */ on a
45802         separate line.
45803         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
45804         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
45805
45806 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
45807
45808         * modules/argz: New file.
45809         * MODULES.html.sh (func_all_modules): Add argz.
45810
45811 2004-06-12  Jim Meyering  <jim@meyering.net>
45812         and  Paul Eggert  <eggert@cs.ucla.edu>
45813
45814         * modules/hash (Files): Add lib/xalloc.h.
45815         * modules/pipe (Depends-on): Add wait-process.
45816         * modules/stat (Depends-on): Add xalloc.
45817         * modules/userspec (Files): Add lib/userspec.h.
45818         * modules/xstrto
45819
45820         Upgrade from gettext-0.13.
45821         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
45822         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
45823         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
45824
45825 2004-06-10  Jim Meyering  <jim@meyering.net>
45826
45827         * lib/calloc.c: New file.
45828
45829 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
45830
45831         * lib/getdate.y (yylex): Allow space between sign and number.
45832         Problem reported by Dan Jacobson.
45833
45834 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
45835
45836         Merge from coreutils CVS.
45837
45838         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
45839         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
45840         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
45841         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
45842         xstrtol.m4: Fix copyright date and/or serial number.
45843
45844         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
45845         See if we need an fchown replacement.
45846         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
45847         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
45848         and use the replacement function if we detect either defect.
45849
45850         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
45851         gl_UTIMECMP.
45852
45853 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
45854         and  Jim Meyering  <jim@meyering.net>
45855
45856         Merge from coreutils CVS.
45857
45858         * lib/stat-macros.h: New file, with contents from file-type.h
45859         and coreutils' system.h.
45860         * lib/file-type.c: Include "stat-macros.h".
45861         * lib/file-type.h (file_type): Move all macro definitions to new file,
45862         stat-macros.h.
45863
45864         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
45865         Wrap old code with this conditional.
45866         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
45867         function that does not dereference symlinks.
45868         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
45869
45870         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
45871         dependency problems.
45872         (xreadlink): Accept new arg SIZE, for efficiency.
45873         All decls and uses changed.
45874         * lib/xreadlink.h: Include <stddef.h>, for size_t.
45875
45876         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
45877         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
45878
45879         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
45880         sysexits.h.
45881
45882 2004-06-01  Jim Meyering  <jim@meyering.net>
45883
45884         * m4/calloc.m4: New file.
45885
45886 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
45887
45888         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
45889         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
45890         Also, fix a typo in a diagnostic.
45891
45892 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
45893
45894         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
45895         or AC_FUNC_REALLOC.
45896
45897 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
45898
45899         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
45900         macros to be defined.
45901         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
45902         the allocator returns NULL because the requested size is zero.
45903
45904 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
45905
45906         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
45907         var.  Add comment explaining why libc still defines it.  This
45908         merges the following patch from glibc:
45909         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
45910
45911 2004-05-20  Andreas Schwab  <schwab@suse.de>
45912
45913         * m4/free.m4: Replace free if it not known to work, not the other
45914         way round.
45915
45916 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
45917
45918         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
45919         present in glibc since revision 1.1 of this file.
45920         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
45921         obstack_alignment_mask, obstack_alloc, obstack_base,
45922         obstack_blank, obstack_blank_fast, obstack_chunk_size,
45923         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
45924         obstack_grow0, obstack_init, obstack_int_grow,
45925         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
45926         obstack_next_free, obstack_object_size, obstack_ptr_grow,
45927         obstack_ptr_grow_fast, obstack_room): Remove declarations of
45928         nonexistent functions.
45929
45930 2004-05-18  Karl Berry  <karl@gnu.org>
45931
45932         * config/srclist.txt: break link for vasnprintf.c.
45933
45934 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
45935
45936         Port obstack to the AS/400, where pointers are 16 bytes wide and
45937         you cannot cast an integer to a valid pointer.  This patch is
45938         currently waiting to be integrated into glibc; see
45939         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
45940
45941         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
45942         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
45943         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
45944         (struct obstack): temp member is now a union of a pointer and
45945         an integer, instead of an integer.  All integer uses changed.
45946         This does not affect the physical layout of struct obstack,
45947         except on hosts (like the AS/400) where the size or alignment of
45948         void * is greater than that of ptrdiff_t.
45949         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
45950         __STDC__)]: Store temporary in pointer member of union, not
45951         integer member.
45952         * lib/obstack.c: Include <stddef.h>, for offsetof.
45953         (struct fooalign): Remove; it doesn't need a name.
45954         (union fooround): Change double to long double, and add void *.
45955         (DEFAULT_ALIGNMENT): Use offsetof to compute.
45956         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
45957         not a macro.  Hence the values are always int; so remove all
45958         casts-to-int in uses.
45959
45960 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
45961
45962         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
45963         we can get this patch merged into glibc.
45964
45965 2004-05-17  Derek R. Price  <derek@ximbiot.com>
45966             Paul Eggert  <eggert@cs.ucla.edu>
45967
45968         * m4/argp: Depend on alloca.
45969
45970 2004-05-17  Derek R. Price  <derek@ximbiot.com>
45971             Paul Eggert  <eggert@cs.ucla.edu>
45972
45973         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
45974         freecoding.
45975
45976 2004-05-17  Bruno Haible  <bruno@clisp.org>
45977
45978         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
45979         precision that consists of a '.' followed by an empty digit string.
45980         Patch by Tor Lillqvist <tml@iki.fi>.
45981
45982 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
45983
45984         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
45985         for backward compatibility with older code.  We need our own
45986         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
45987         it under some other name, and our alloca.h will define it.
45988
45989 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
45990             Derek Price  <derek@ximbiot.com>
45991
45992         * lib/alloca.c: Include <alloca.h>, to get our interface.
45993         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
45994         include <alloca.h> first.  Use C89 prototype for alloca; this
45995         requires including <stddef.h> for size_t.  Use extern "C" if C++.
45996         Use #elif for simplicity, since we can assume C89 now.
45997         Don't try to source the system alloca.h since it will not be found
45998         and to prevent recursively including its replacement.
45999         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
46000         * lib/regex.c: Likewise.
46001
46002 2004-05-16  Derek Price  <derek@ximbiot.com>
46003             Paul Eggert  <eggert@cs.ucla.edu>
46004
46005         getline cleanup.  This changes the getndelim2 API: both order of
46006         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
46007         no delimiter).
46008
46009         * lib/getline.c: Don't include stddef.h or stdio.h, since our
46010         interface does that.
46011         (getline): Always use getdelim, so that we don't have two
46012         copies of this code.
46013         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
46014         if available.
46015         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
46016         (GETNDELIM2_MAXIMUM): New macro.
46017         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
46018         instead of the old practice of delim2==0.  All callers changed.
46019         Return -1 on overflow, instead of returning junk.
46020         Do not set *linesize unless allocation succeeds.
46021         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
46022         that we include sys/types.h.
46023         * lib/getnline.h: Likewise.
46024         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
46025         (getndelim2): Reorder arguments.
46026         * lib/getnline.c (getnline, getndelim):
46027         Don't discard the NMAX argument.
46028         (getnline): Invoke getndelim, to avoid code duplication.
46029         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
46030         of (size_t) -1 by callers of the getnline family.
46031
46032 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
46033
46034         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
46035         Check for gettimeofday.
46036         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
46037         Check for settimeofday, stime.
46038
46039 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
46040
46041         * lib/nanosleep.c (suspended): Change its type from int to
46042         sig_atomic_t volatile.
46043         (first_call): Make it private to rpl_nanosleep, and have it
46044         be zero initially as that's a bit faster.
46045         (my_usleep): Round up fractional times instead of truncating them,
46046         as this is the usual meaning for 'sleep'.
46047
46048         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
46049         doesn't work.
46050         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
46051         (ENOSYS): Define if not defined.
46052         (settime): Fall back on stime if it exists and settimeofday fails.
46053         But don't bother with fallbacks if a method fails with errno == EPERM.
46054
46055 2004-05-11  Jim Meyering  <jim@meyering.net>
46056
46057         Prior to this change, the save_cwd caller required read access to the
46058         current directory on most systems (ones with the fchdir function).
46059
46060         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
46061         fails, try write-only, and finally, resort to using xgetcwd.
46062
46063 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
46064
46065         * lib/obstack.c, obstack.h: Import changes from libc.
46066
46067 2004-04-28  Bruno Haible  <bruno@clisp.org>
46068
46069         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
46070         also implicitly appends .exe to executables.
46071         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
46072         accepts Windows pathnames.
46073         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
46074         Treat Cygwin like Windows, since it now accepts Windows pathnames.
46075         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
46076         Treat Cygwin like Windows, since it now accepts Windows pathnames.
46077         Reported by Derek Robert Price <derek@ximbiot.com>.
46078
46079 2004-04-21  Karl Berry  <karl@gnu.org>
46080
46081         * config/srclist.txt (localcharset.c): break sync.
46082
46083 2004-04-20  Paul Eggert  <eggert@twinsun.com>
46084
46085         * m4/host-os.m4: Add a copyright notice.
46086
46087 2004-04-20  Jim Meyering  <jim@meyering.net>
46088
46089         Change UTILS_ to gl_ in AC_DEFINE'd names.
46090         Change utils_- and jm_-prefixed variables, too.
46091         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
46092         UTILS_FUNC_MKDIR_TRAILING_SLASH.
46093         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
46094
46095         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
46096         Don't emit trailing blanks.
46097         Also rename jm_-prefixed variables to have gl_ prefix.
46098
46099         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
46100         Also rename jm_-prefixed variables to have gl_ prefix.
46101
46102         * m4/jm-macros.m4: Reflect the renamings.
46103         * m4/prereq.m4: Likewise.
46104
46105 2004-04-20  Jim Meyering  <jim@meyering.net>
46106
46107         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
46108         memory.
46109
46110 2004-04-20  Jim Meyering  <jim@meyering.net>
46111             Bruno Haible  <bruno@clisp.org>
46112
46113         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
46114         memory when realloc fails.
46115
46116 2004-04-19  Jim Meyering  <jim@meyering.net>
46117
46118         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
46119         now that readutmp.c may call `free (0)'.
46120
46121 2004-04-19  Bruno Haible  <bruno@clisp.org>
46122
46123         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
46124         * m4/inttypes_h.m4: Likewise.
46125         * m4/stdint_h.m4: Likewise.
46126         * m4/intmax_t.m4: Likewise.
46127         * m4/uintmax_t.m4: Likewise.
46128
46129 2004-04-18  Jim Meyering  <jim@meyering.net>
46130
46131         * m4/prereq.m4: Don't forbid jm_ prefix.
46132
46133         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
46134         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
46135         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
46136         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
46137         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
46138         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
46139         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
46140         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
46141         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
46142         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
46143         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
46144         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
46145         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
46146         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
46147         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
46148         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
46149         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
46150         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
46151         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
46152
46153 2004-04-18  Jim Meyering  <jim@meyering.net>
46154
46155         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
46156         failure, don't leak memory and do call END_UTMP_ENT.
46157
46158 2004-04-16  Jim Meyering  <jim@meyering.net>
46159
46160         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
46161         coreutils' stat program.
46162         (gl_PREREQ): Don't require jm_PREREQ_STAT.
46163
46164 2004-04-11  Paul Eggert  <eggert@twinsun.com>
46165
46166         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
46167         C89.
46168         (CHAR_BIT): Remove, since we assume C89.
46169         Include <stdint.h> if available, as per current Autoconf CVS advice.
46170
46171 2004-03-31  Jim Meyering  <jim@meyering.net>
46172
46173         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
46174         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
46175         * m4/xalloc.m4: Likewise.
46176
46177 2004-03-30  Paul Eggert  <eggert@twinsun.com>
46178
46179         Merge from coreutils.
46180
46181         * m4/inttostr.m4: New file.
46182         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
46183         Require AM_STDBOOL_H and gl_TIMESPEC instead.
46184         Require gl_CLOCK_TIME.
46185         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
46186
46187 2004-03-30  Paul Eggert  <eggert@twinsun.com>
46188
46189         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
46190         not bool, to be more consistent with Unix conventions.
46191         Suggested by Bruno Haible.
46192
46193         Merge from coreutils.
46194
46195         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
46196         * lib/umaxtostr.c: New files.
46197
46198         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
46199         the usual <time.h> dance.
46200         (get_date): Change signature to support fractional time stamps.
46201         All callers changed.
46202         * lib/getdate.y: Include "getdate.h" first, as we can now
46203         assume C89 and don't need to worry about 'const'.
46204         Similarly, include "unlocked-io.h" near start, not in middle.
46205         Include <limits.h>.
46206         (textint.value): Use long int rather than int.
46207         (textint.digits): Use size_t rather than int.
46208         (BILLION, LOG10_BILLION): New constants.
46209         (parser_control): New member rel_ns.  Members day_ordinal,
46210         time_zone, month, day, hour, minutes, rel_year, rel_month,
46211         rel_day, rel_hour, rel_minutes, rel_seconds
46212         are now long int, not int.  Member seconds is now struct timespec,
46213         not int.  New member timespec_seen.  Members dates_seen, days_seen,
46214         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
46215         not int.
46216         (%union.intval): Now long int, not int.
46217         New member timespec.
46218         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
46219         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
46220         (spec): Now is a timespec or an item list.
46221         (timespec, items): New nonterminals.
46222         (time, rel, relunit, number, get_date):
46223         Add support for fractional seconds.
46224         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
46225         (gmtime, localtime, mktime): Remove decls; not needed with C89.
46226         (to_hour): First arg is now long int, not int.
46227         (to_year): Returns long int, not int.
46228         Don't treat year -70 like 70.
46229         (tm_diff): Returns long int, not int.
46230         (lookup_word): Use bool instead of int when appropriate.
46231         (yylex): Use size_t for count, not int.
46232         Detect overflow when parsing large integer constants.
46233         Add support for fractions.
46234         (get_date): Make pointers 'const' if possible.
46235         Use more-portable code to detect integer overflow.
46236         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
46237         Don't use ctime; it's not reliable if the year has >4 digits.
46238
46239         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
46240         This is for compatibility with BSD.
46241
46242         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
46243         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
46244         From coreutils' system.h.
46245
46246         * lib/userspec.c: Don't include "posixver.h".
46247         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
46248         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
46249         compatible extension.  Simplify code by removing a boolean int
46250         that was always nonzero if a string was nonnull.
46251
46252 2004-03-30  Jim Meyering  <jim@meyering.net>
46253
46254         Merge from coreutils.
46255
46256         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
46257         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
46258         on some systems one must include <grp.h> before it.
46259         Reported by Christian Krackowizer.
46260
46261 2004-03-30  Jim Meyering  <jim@meyering.net>
46262
46263         Merge from coreutils.
46264
46265         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
46266
46267         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
46268         an empty input stream.
46269
46270         * lib/readtokens.c: Include <stdbool.h>.
46271         (readtoken): Use `size_t' rather than int/long.
46272         All callers adjusted.
46273         Use `bool' rather than `int' where appropriate.
46274         Use memset rather than an explicit loop.
46275         Use x2nrealloc rather than xrealloc.
46276         Allow the use of `\0' as a delimiter.
46277         (readtokens): Likewise.
46278         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
46279
46280 2004-03-30  Jim Meyering  <jim@meyering.net>
46281
46282         * m4/realloc.m4: Remove file, since now it does no more than
46283         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
46284         the `configure.ac' section of module/realloc.
46285         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
46286
46287 2004-03-30  Bruno Haible  <bruno@clisp.org>
46288
46289         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
46290         nonnull.
46291
46292 2004-03-29  Paul Eggert  <eggert@twinsun.com>
46293
46294         Merge changes to getloadavg.c from coreutils and Emacs.
46295
46296         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
46297         Define to an expression, not to the empty string.
46298         Include cloexec.h and xalloc.h.
46299         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
46300         Use set_cloexec_flag rather than rolling our own.
46301         * lib/cloexec.c, lib/cloexec.h: New files.
46302
46303 2004-03-29  Paul Eggert  <eggert@twinsun.com>
46304
46305         * m4/cloexec.m4: New file.
46306
46307 2004-03-18  Paul Eggert  <eggert@twinsun.com>
46308
46309         * lib/getopt.h: Sync with libc CVS.
46310
46311 2004-03-18  Paul Eggert  <eggert@twinsun.com>
46312             Bruno Haible  <bruno@clisp.org>
46313
46314         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
46315         mbswidth.
46316
46317 2004-03-18  Paul Eggert  <eggert@twinsun.com>
46318             Bruno Haible  <bruno@clisp.org>
46319
46320         * lib/mbswidth.h: Include <wchar.h> only if
46321         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
46322         <wchar.h>.
46323         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
46324
46325 2004-03-09  Paul Eggert  <eggert@twinsun.com>
46326
46327         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
46328         Sync with libc CVS.
46329         * lib/getopt_int.h: New file, also synced from libc.
46330
46331 2004-03-09  Paul Eggert  <eggert@twinsun.com>
46332
46333         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
46334         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
46335         Bring back getopt.c, getopt.h, getopt1.c.
46336
46337 2004-03-07  Paul Eggert  <eggert@twinsun.com>
46338
46339         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
46340         All uses changed.  Check for sa_sigaction member; this fixes
46341         a bug first reported by Jason Andrade in
46342         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
46343
46344 2004-03-07  Paul Eggert  <eggert@twinsun.com>
46345
46346         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
46347         '#if' expressions.  Unlike the code it replaces, it does not
46348         depend on (defined _SC_PAGESIZE).  However, it does depend on
46349         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
46350         first reported by Jason Andrade in
46351         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
46352
46353 2004-02-25  Simon Josefsson  <jas@extundo.com>
46354
46355         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
46356
46357 2004-02-25  Simon Josefsson  <jas@extundo.com>
46358
46359         * lib/strdup.h: New file.
46360         * lib/strdup.c: Include it.
46361         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
46362         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
46363
46364 2004-02-23  Karl Berry  <karl@gnu.org>
46365
46366         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
46367         (from fencepost.gnu.org:/gd/gnuorg).
46368
46369 2004-02-23  Karl Berry  <karl@gnu.org>
46370
46371         * config/srclistvars.sh (GNUORG) [karl]: redefine.
46372         * config/srclist.txt: add maintain/standards documents.
46373
46374 2004-02-18  Bruno Haible  <bruno@clisp.org>
46375
46376         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
46377         Reported by Derek Robert Price <derek@ximbiot.com>.
46378
46379 2004-02-16  Karl Berry  <karl@gnu.org>
46380
46381         * config/mkinstalldirs, install-sh: update from automake.
46382
46383 2004-02-06  Karl Berry  <karl@gnu.org>
46384
46385         * m4/po.m4: update from gettext 0.14.1.
46386
46387 2004-02-06  Karl Berry  <karl@gnu.org>
46388
46389         * lib/config.charset: update from gettext 0.14.1.
46390
46391 2004-02-05  Paul Eggert  <eggert@twinsun.com>
46392
46393         Add comments and code, prompted by suggestions from Bruno Haible
46394         for sh-quote.
46395         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
46396         describing the enum quoting_style values.
46397         * lib/quotearg.c (quotearg_alloc): New function.
46398         (quotearg_buffer_restyled): Treat lone { and } as special.
46399         Treat = as special.  Work around bug with older shells
46400         that "see" a '\' that is really the 2nd byte of a multibyte char.
46401         Quote empty string with shell_quoting_style.
46402
46403 2004-02-03  Bruno Haible  <bruno@clisp.org>
46404
46405         * m4/pipe.m4: New file, from GNU gettext.
46406
46407 2004-02-03  Bruno Haible  <bruno@clisp.org>
46408
46409         * lib/pipe.h: New file, from GNU gettext.
46410         * lib/pipe.c: New file, from GNU gettext.
46411
46412 2004-01-27  Bruno Haible  <bruno@clisp.org>
46413
46414         * m4/execute.m4: New file, from GNU gettext.
46415
46416 2004-01-27  Bruno Haible  <bruno@clisp.org>
46417
46418         * lib/execute.h: New file, from GNU gettext.
46419         * lib/execute.c: New file, from GNU gettext.
46420         * lib/w32spawn.h: New file, from GNU gettext.
46421
46422 2004-01-24  Paul Eggert  <eggert@twinsun.com>
46423
46424         Merge from diffutils.
46425
46426         * lib/file-type.c (file_type): Add typed memory objects.
46427         * lib/file-type.h (S_TYPEISTMO): New macro.
46428
46429         * lib/c-stack.h (c_stack_action): Remove argv argument.
46430         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
46431         (die): Don't calculate message unless segv_action returns.
46432         (get_stack_location, min_address_from_argv, max_address_from_argv,
46433         volatile stack_base, volatile_stack_size): Remove.
46434         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
46435         that every segmentation violation is a stack overflow.  (Ouch!)
46436         See Debian bug 136249 (still outstanding) for more info about why
46437         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
46438
46439 2004-01-24  Paul Eggert  <eggert@twinsun.com>
46440
46441         Exit-status fix from coreutils.
46442
46443         Use exit_failure consistently in place of EXIT_FAILURE,
46444         so that program exit statuses are consistent on failure.
46445
46446         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
46447         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
46448         * lib/argmatch.h: Comment fix to match the above.
46449         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
46450         Now a macro referring to exit_failure, instead of a separate
46451         variable.  Include "exitfail.h" to get it.
46452         * lib/xstrtol.h: Include "exitfail.h".
46453         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
46454
46455         * lib/long-options.c (parse_long_options): Use prototype
46456         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
46457         for clarity.
46458
46459 2004-01-21  Jim Meyering  <jim@meyering.net>
46460
46461         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
46462         so as not to conflict with a different-sized __mktime_internal
46463         function in GNU libc.
46464         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
46465         Problem building statically-linked `ls' reported by Michael Brunnbauer.
46466
46467 2004-01-20  Karl Berry  <karl@gnu.org>
46468
46469         * config/config.guess: update from config.
46470
46471         * config/srclistvars.sh: GNUWWWLICENSES for karl.
46472
46473 2004-01-20  Bruno Haible  <bruno@clisp.org>
46474
46475         Safer stack allocation.
46476         * lib/setenv.c: Include allocsa.h.
46477         (alloca): Remove fallback definition.
46478         (freea): Remove macro.
46479         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
46480         instead of freea.
46481
46482 2004-01-20  Bruno Haible  <bruno@clisp.org>
46483
46484         * m4/eealloc.m4: New file, from GNU gettext.
46485
46486 2004-01-20  Bruno Haible  <bruno@clisp.org>
46487
46488         * m4/allocsa.m4: New file, from GNU gettext.
46489
46490 2004-01-20  Bruno Haible  <bruno@clisp.org>
46491
46492         * lib/xallocsa.h: New file, from GNU gettext.
46493         * lib/xallocsa.c: New file, from GNU gettext.
46494
46495 2004-01-20  Bruno Haible  <bruno@clisp.org>
46496
46497         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
46498
46499 2004-01-20  Bruno Haible  <bruno@clisp.org>
46500
46501         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
46502         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
46503         specially.
46504
46505 2004-01-20  Bruno Haible  <bruno@clisp.org>
46506
46507         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
46508         patch.
46509
46510 2004-01-20  Bruno Haible  <bruno@clisp.org>
46511
46512         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
46513
46514 2004-01-20  Bruno Haible  <bruno@clisp.org>
46515
46516         * lib/eealloc.h: New file.
46517
46518 2004-01-20  Bruno Haible  <bruno@clisp.org>
46519
46520         * lib/binary-io.h: Avoid warnings on Cygwin.
46521
46522 2004-01-20  Bruno Haible  <bruno@clisp.org>
46523
46524         * lib/allocsa.h: New file, from GNU gettext.
46525         * lib/allocsa.c: New file, from GNU gettext.
46526
46527 2004-01-18  Karl Berry  <karl@gnu.org>
46528
46529         * doc/gpl.texi, doc/lgpl.texi: new files.
46530
46531 2004-01-18  Karl Berry  <karl@gnu.org>
46532
46533         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
46534         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
46535
46536 2004-01-15  Paul Eggert  <eggert@twinsun.com>
46537
46538         Merge from coreutils.
46539
46540         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
46541         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
46542         (gl_DEFAULT_POSIX2_VERSION): Move
46543         the documentation from 'configure' into 'config.hin',
46544         so that 'configure --help' isn't burdened by it and
46545         we don't have to worry about its formatting there.
46546         Reword the documentation so that it's more succinct
46547         and can be run together into a single paragraph.
46548         * m4/same.m4 (gl_SAME): Check for pathconf.
46549
46550 2004-01-15  Paul Eggert  <eggert@twinsun.com>
46551
46552         Merge from coreutils.
46553
46554         * lib/posixver.c: Include posixver.h.
46555
46556         * lib/same.c: Include <stdbool.h>, <limits.h>.
46557         (_POSIX_NAME_MAX): Define if not defined.
46558         (MIN): New macro.
46559         (same_name): If file names are silently truncated, report
46560         that the file names are the same if they are the same after
46561         the silent truncation.
46562
46563         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
46564         conversion function.
46565         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
46566         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
46567         longer needed.
46568
46569 2004-01-15  Jim Meyering  <jim@meyering.net>
46570
46571         Merge from coreutils.
46572
46573         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
46574         if no library is required.
46575         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
46576         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
46577         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
46578         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
46579         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
46580         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
46581         value, $ac_cv_search_crypt, if it's "none required".
46582         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
46583         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
46584         not gl_FUNC_GETLOADAVG.
46585         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
46586         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
46587
46588 2004-01-15  Jim Meyering  <jim@meyering.net>
46589
46590         Merge from coreutils.
46591
46592         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
46593         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
46594         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
46595
46596         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
46597         optional configure-time default.
46598
46599         * lib/version-etc.c (version_etc_copyright): Update copyright date.
46600
46601         * lib/xreadlink.c (xreadlink): Correct outdated comment.
46602
46603 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
46604
46605         Merge from coreutils.
46606
46607         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
46608         value, $ac_cv_search_nanosleep, if it's "none required".
46609
46610 2004-01-14  Paul Eggert  <eggert@twinsun.com>
46611
46612         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
46613         with like-named macro in fnmatch.c.
46614         (EXT): Use an internal constant instead.
46615
46616         Merge fnmatch patches from glibc.
46617         * lib/fnmatch.c (mbsinit): Remove define.
46618         Add libc_hidden_ver (__fnmatch, fnmatch).
46619         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
46620         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
46621
46622 2004-01-14  Karl Berry  <karl@gnu.org>
46623
46624         * config/install-sh: update from automake.
46625
46626 2004-01-13  Karl Berry  <karl@gnu.org>
46627
46628         * config/install-sh: update from automake.
46629
46630 2004-01-09  Karl Berry  <karl@gnu.org>
46631
46632         * config/install-sh: update from automake.
46633
46634 2004-01-05  Karl Berry  <karl@gnu.org>
46635
46636         * config/config.{sub,guess}: update from config.
46637
46638 2003-12-31  Karl Berry  <karl@gnu.org>
46639
46640         * config/depcomp: update from automake.
46641
46642 2003-12-14  Karl Berry  <karl@gnu.org>
46643
46644         * lib/config.charset: update from gettext-runtime.
46645
46646 2003-12-03  Paul Eggert  <eggert@twinsun.com>
46647
46648         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
46649         Bug reported by Alfred M. Szmidt.
46650
46651 2003-12-03  Bruno Haible  <bruno@clisp.org>
46652
46653         * m4/gettext.m4: Upgrade from gettext-0.13.
46654         * m4/po.m4: Upgrade from gettext-0.13.
46655         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
46656         * m4/intmax.m4: New file, from gettext-0.13.
46657         * m4/printf-posix.m4: New file, from gettext-0.13.
46658
46659 2003-11-29  Karl Berry  <karl@gnu.org>
46660
46661         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
46662
46663 2003-11-25  Paul Eggert  <eggert@twinsun.com>
46664             Bruno Haible  <bruno@clisp.org>
46665
46666         * lib/printf-parse.h: Don't include sys/types.h.
46667         (ARG_NONE): New macro.
46668         (char_directive): Change type of *arg_index fields to size_t.
46669         * lib/printf-parse.c: Don't include sys/types.h.
46670         (SSIZE_MAX): Remove macro.
46671         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
46672         Remove unnecessary overflow check.
46673         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
46674         fields.
46675
46676 2003-11-25  Bruno Haible  <bruno@clisp.org>
46677
46678         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
46679
46680 2003-11-25  Bruno Haible  <bruno@clisp.org>
46681
46682         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
46683         gt_TYPE_SSIZE_T.
46684
46685 2003-11-24  Paul Eggert  <eggert@twinsun.com>
46686
46687         * modules/alloca: Remove dependency on xalloc.
46688
46689 2003-11-24  Paul Eggert  <eggert@twinsun.com>
46690
46691         * lib/alloca.c: Remove dependency on xalloc module.
46692         (xalloc_die): Remove.
46693         (memory_full) [!defined emacs]: New macro.
46694         [!defined emacs]: Don't include xalloc.h.
46695         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
46696         address arithmetic overflows.  Change datatypes a bit to avoid
46697         unnecessary casts.
46698
46699 2003-11-22  Jim Meyering  <jim@meyering.net>
46700
46701         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
46702         s/size/size_t/.
46703
46704 2003-11-21  Karl Berry  <karl@gnu.org>
46705
46706         * config/config.{sub,guess}: update from config.
46707
46708 2003-11-18  Karl Berry  <karl@gnu.org>
46709
46710         * config/config.{sub,guess}: update from config.
46711
46712         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
46713
46714 2003-11-17  Paul Eggert  <eggert@twinsun.com>
46715
46716         * README: Mention that S+T cannot overflow if S is the size of
46717         an existing object and T is sufficiently small.
46718
46719 2003-11-17  Jim Meyering  <jim@meyering.net>
46720
46721         On systems without utime and without a utimes function capable of
46722         dealing with a NULL struct utimbuf* argument, this utime replacement
46723         could -- in unusual circumstances -- leak a file descriptor.
46724         * lib/utime.c: Include <unistd.h> and <errno.h>.
46725         (utime_null): Be sure to close `fd' and to preserve errno.
46726         Reported by Geoff Collyer via Arnold Robbins.
46727
46728 2003-11-17  Bruno Haible  <bruno@clisp.org>
46729
46730         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
46731         (Depends-on): Add xsize.
46732
46733 2003-11-17  Bruno Haible  <bruno@clisp.org>
46734
46735         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
46736
46737 2003-11-17  Bruno Haible  <bruno@clisp.org>
46738
46739         * lib/vasnprintf.c (alloca): Remove fallback definition.
46740         (freea): Remove definition.
46741         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
46742         Reported by Paul Eggert.
46743
46744 2003-11-16  Paul Eggert  <eggert@twinsun.com>
46745             Bruno Haible  <bruno@clisp.org>
46746
46747         Protect against address arithmetic overflow.
46748         * lib/printf-args.h: Include stddef.h.
46749         (arguments): Change type of field 'count' to size_t.
46750         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
46751         'unsigned int' where appropriate.
46752         * lib/printf-parse.h: Include sys/types.h.
46753         (char_directive): Change type of *arg_index fields to ssize_t.
46754         (char_directives): Change type of fields 'count', max_*_length to
46755         size_t.
46756         * lib/printf-parse.c: Include sys/types.h and xsize.h.
46757         (SSIZE_MAX): Define fallback value.
46758         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
46759         instead of 'int' where appropriate. Check a_allocated, d_allocated
46760         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
46761         * lib/vasnprintf.c: Include xsize.h.
46762         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
46763         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
46764         overflow. Avoid wraparound when converting a width or precision from
46765         decimal to binary.
46766
46767 2003-11-16  Bruno Haible  <bruno@clisp.org>
46768
46769         Update from GNU gettext.
46770         * lib/printf-parse.c: Generalize to it can be compiled for wide
46771         strings.
46772         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
46773         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
46774         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
46775         SNPRINTF): New macros.
46776         Don't include <alloca.h> if the file is used inside libintl.
46777         (local_wcslen): New function, for Solaris 2.5.1.
46778         (VASNPRINTF): Use it instead of wcslen.
46779
46780 2003-11-16  Bruno Haible  <bruno@clisp.org>
46781
46782         * lib/xsize.h (xmax): New function.
46783         (xsum, xsum3, xsum4): Declare as "pure" functions.
46784
46785 2003-11-12  Paul Eggert  <eggert@twinsun.com>
46786
46787         * modules/xalloc (Files): Undo latest change, since xalloc.h
46788         no longer needs SIZE_MAX or PTRDIFF_MAX.
46789
46790 2003-11-12  Paul Eggert  <eggert@twinsun.com>
46791
46792         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
46793         gl_PTRDIFF_MAX.
46794
46795 2003-11-12  Paul Eggert  <eggert@twinsun.com>
46796
46797         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
46798         "return", to pacify some unknown compiler.  Problem reported
46799         by Joerg Schilling.
46800
46801 2003-11-12  Paul Eggert  <eggert@twinsun.com>
46802
46803         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
46804         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
46805         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
46806         heuristic is just as accurate as far as we know, and it removes a
46807         dependency on size_max.m4 and ptrdiff_max.m4.
46808
46809 2003-11-11  Bruno Haible  <bruno@clisp.org>
46810
46811         * modules/xsize (Files): Add m4/size_max.m4.
46812         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
46813
46814 2003-11-11  Bruno Haible  <bruno@clisp.org>
46815
46816         * m4/size_max.m4: New file.
46817         * m4/ptrdiff_max.m4: New file.
46818         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
46819         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
46820         (gl_XALLOC): Invoke it.
46821
46822 2003-11-11  Bruno Haible  <bruno@clisp.org>
46823
46824         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
46825         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
46826         defined.
46827
46828 2003-11-10  Paul Eggert  <eggert@twinsun.com>
46829
46830         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
46831         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
46832         rejected some allocations of exactly SIZE_MAX - 2 bytes.
46833         From Bruno Haible.
46834         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
46835         not (size_t) -1, since it's defined here.
46836
46837 2003-11-09  Karl Berry  <karl@gnu.org>
46838
46839         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
46840
46841 2003-11-06  Paul Eggert  <eggert@twinsun.com>
46842
46843         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
46844         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
46845         Reject sizes of exactly SIZE_MAX bytes.
46846         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
46847         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
46848
46849 2003-11-05  Bruno Haible  <bruno@clisp.org>
46850
46851         * lib/xsize.h: Include limits.h, to avoid a possible collision with
46852         SIZE_MAX defined in <limits.h> on Solaris.
46853
46854 2003-11-04  Jim Meyering  <jim@meyering.net>
46855
46856         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
46857         variable names, rather than @VAR@.
46858         * modules/poll: Likewise.
46859
46860 2003-11-04  Bruno Haible  <bruno@clisp.org>
46861
46862         * modules/xsize: New file.
46863         * modules/linebreak: Depend on xsize.
46864         * MODULES.html.sh (func_all_modules): Add xsize.
46865
46866 2003-11-04  Bruno Haible  <bruno@clisp.org>
46867
46868         * m4/xsize.m4: New file.
46869
46870 2003-11-04  Bruno Haible  <bruno@clisp.org>
46871
46872         * lib/xsize.h: New file.
46873         * lib/linebreak.c: Include xsize.h.
46874         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
46875         argument for overflow.
46876         Suggested by Paul Eggert.
46877
46878 2003-11-03  Karl Berry  <karl@gnu.org>
46879
46880         * config/config.{guess,sub}: update from config.
46881
46882 2003-11-03  Jim Meyering  <jim@meyering.net>
46883
46884         * modules/userspec (lib_SOURCES): Add userspec.h.
46885         (Include): Add "userspec.h".
46886         Improve description.
46887
46888 2003-11-03  Jim Meyering  <jim@meyering.net>
46889
46890         * lib/userspec.c: Include "userspec.h".
46891         * lib/userspec.h: New file.
46892
46893 2003-11-03  Bruno Haible  <bruno@clisp.org>
46894
46895         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
46896
46897 2003-11-03  Bruno Haible  <bruno@clisp.org>
46898
46899         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
46900         available, to avoid (extremely rare) race condition.
46901         Suggested by Paul Eggert.
46902
46903 2003-11-02  Karl Berry  <karl@gnu.org>
46904
46905         * config/srclist.txt (vasprintf.c): sync broken, sigh.
46906
46907 2003-10-31  Paul Eggert  <eggert@twinsun.com>
46908
46909         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
46910         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
46911         (read_filesystem_list): Set and use me_type_malloced.
46912         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
46913         whatever the type happens to be), for brevity and consistency.
46914         Check for size calculation overflow on Alphas running OSF/1.
46915
46916 2003-10-31  Jim Meyering  <jim@meyering.net>
46917
46918         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
46919
46920         * lib/linebuffer.c: Include <string.h> for declaration of memset.
46921
46922 2003-10-30  Paul Eggert  <eggert@twinsun.com>
46923             Bruno Haible  <bruno@clisp.org>
46924
46925         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
46926         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
46927
46928 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
46929
46930         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
46931         netbsd*-gnu*.  Suggested by Robert Millan.
46932
46933 2003-10-29  Paul Eggert  <eggert@twinsun.com>
46934
46935         * modules/group-member: Depend on stdbool.
46936
46937 2003-10-29  Paul Eggert  <eggert@twinsun.com>
46938
46939         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
46940
46941 2003-10-29  Paul Eggert  <eggert@twinsun.com>
46942
46943         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
46944         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
46945         after the 'gnu' in these cases.  This fixes some bugs in the
46946         previous change, and is based on suggestions by Robert Millan.
46947
46948 2003-10-29  Paul Eggert  <eggert@twinsun.com>
46949
46950         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
46951         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
46952         no longer needed.
46953         * lib/quotearg.c (quotearg_n_options): Use it.
46954         * lib/group-member.c: Include <stdbool.h>.
46955         (free_group_info): Arg is now const *; don't free arg.
46956         (get_group_info): Now returns bool and accepts struct group_info *,
46957         rather than returning a malloc'ed struct group_info *.
46958         All uses changed.  Check for overflow in internal size calculation.
46959
46960         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
46961         rather than xmalloc/xrealloc.
46962         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
46963         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
46964         conformance bug: the old code used a pointer after freeing the
46965         storage that it addressed.
46966         * lib/hash.c (hash_initialize): Simplify the code by using
46967         xalloc_oversized rather than doing it by hand.
46968         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
46969         the buffer preserved.  Use free and xmalloc instead.
46970         * lib/quotearg.c (quotearg_n_options): Likewise.
46971         Use a simpler test for size overflow.  Don't use xalloc_oversized
46972         because unsigned int might be wider than size_t (!); this suggests
46973         that we should switch from unsigned int to size_t for slot numbers.
46974
46975 2003-10-28  Paul Eggert  <eggert@twinsun.com>
46976
46977         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
46978         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
46979         NetBSD kernels.  Requested by Richard Stallman.
46980
46981 2003-10-27  Paul Eggert  <eggert@twinsun.com>
46982
46983         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
46984         to allocate the returned structure.  Do not allocate a subarray,
46985         as x2nrealloc will do that.
46986         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
46987         instead of xnrealloc.
46988         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
46989
46990 2003-10-27  Bruno Haible  <bruno@clisp.org>
46991
46992         * lib/stdbool_.h: Better support for BeOS.
46993
46994 2003-10-26  Paul Eggert  <eggert@twinsun.com>
46995
46996         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
46997         now uses inline.
46998
46999 2003-10-26  Paul Eggert  <eggert@twinsun.com>
47000
47001         * lib/xalloc.h (xalloc_oversized): New static inline function, for
47002         callers that want to do their own size-overflow checking.  Include
47003         <stdbool.h>, since xalloc_oversized returns bool.
47004         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
47005         to use xalloc_oversized.
47006
47007         Add two functions x2realloc, x2nrealloc, for programs that grow
47008         arrays dynamically by doubling their sizes.
47009         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
47010         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
47011         New functions.
47012
47013         Port to C99 semantics for 'inline' of external functions.
47014         Bug reported by Bruno Haible.
47015         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
47016         with the old contents of xnmalloc.
47017         (xnmalloc, xmalloc): Use it.
47018         (xnrealloc_inline): New static inline function,
47019         with the old contents of xnrealloc.
47020         (xnrealloc, xrealloc): Use it.
47021
47022         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
47023         that.
47024
47025 2003-10-26  Karl Berry  <karl@gnu.org>
47026
47027         * config/srclist.txt (COPYING.DOC): no longer available from
47028         /gd/gnuorg; don't know where the ultimate source is.
47029
47030 2003-10-25  Paul Eggert  <eggert@twinsun.com>
47031
47032         Fix several address-calculation bugs in the hash modules,
47033         plus some minor code cleanup.
47034
47035         * lib/hash.h: Include <stdbool.h>, for bool.
47036         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
47037         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
47038         hash_get_n_entries, hash_get_max_bucket_length,
47039         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
47040         hash_rehash): Use size_t rather than unsigned.
47041         * lib/hash.c (struct hash_table, hash_get_n_buckets,
47042         hash_get_n_buckets_used, hash_get_n_entries,
47043         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
47044         hash_get_entries, hash_do_for_each, hash_string, is_prime,
47045         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
47046         Likewise.
47047         (SIZE_MAX): Define if not defined.
47048         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
47049         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
47050         hash_print):
47051         Use const * when possible.
47052         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
47053         (check_tuning): Fix bug: if tuning parameters were very close to
47054         0 or 1, rounding errors could have caused subscript violations.
47055         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
47056         (hash_initialize): Add 'fail:' label
47057         to free table and return NULL, and use it to simplify code.
47058         Use calloc rather than clearing the storage ourself.
47059         (hash_initialize, hash_rehash): Check for arithmetic overflow in
47060         buffer size calculations.
47061         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
47062         Include <stddef.h>, for size_t.
47063         * lib/hash-pjw.c (hash_pjw): Likewise.
47064         Switch to method described by Bruno Haible.
47065         Include <limits.h>, for CHAR_BIT.
47066         (SIZE_BITS): New macro.
47067
47068 2003-10-23  Paul Eggert  <eggert@twinsun.com>
47069
47070         * m4/getline.m4 (AM_FUNC_GETLINE):
47071         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
47072         hosts.  Problem reported by Derek Robert Price in
47073         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
47074         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
47075         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
47076
47077 2003-10-21  Paul Eggert  <eggert@twinsun.com>
47078
47079         * lib/getndelim2.c (getndelim2): When size calculation overflows,
47080         ceiling the allocation at NMAX bytes rather than silently
47081         discarding input bytes before NMAX is reached.  This makes
47082         a difference only if NMAX exceeds SIZE_MAX / 2.
47083
47084         * lib/obstack.c: Merge from glibc.
47085         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
47086         Add libc_hidden_def (_obstack_newchunk).
47087         (_obstack_free) [! defined _LIBC]: Remove.
47088         [defined _LIBC]: Make a strong alias from obstack_free, rather than
47089         a clone of the function body.
47090         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
47091         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
47092
47093         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
47094         glibc.
47095         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
47096         arg to memcpy.
47097
47098         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
47099         (obstack_ptr_grow_fast, obstack_int_grow_fast):
47100         Don't use lvalue casts, as GCC plans to remove support for them
47101         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
47102         was also present in the non-GCC version, indicating that this
47103         code had always been buggy and had never been widely used.
47104         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
47105         Use the fast variant of each macro, rather than copying the
47106         definiens of the fast variant; that way, we'll be more likely to
47107         catch future bugs in the fast variants.
47108
47109 2003-10-20  Bruno Haible  <bruno@clisp.org>
47110
47111         * modules/wait-process: New file.
47112         * MODULES.html.sh (func_all_modules): Add wait-process.
47113
47114 2003-10-20  Bruno Haible  <bruno@clisp.org>
47115
47116         * m4/wait-process.m4: New file.
47117
47118 2003-10-20  Bruno Haible  <bruno@clisp.org>
47119
47120         * lib/wait-process.h: New file, from GNU gettext.
47121         * lib/wait-process.c: New file, from GNU gettext.
47122
47123 2003-10-19  Jim Meyering  <jim@meyering.net>
47124
47125         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
47126         HPUX 10.20.
47127
47128 2003-10-18  Karl Berry  <karl@gnu.org>
47129
47130         * config/config.guess: update from config.
47131
47132 2003-10-16  Paul Eggert  <eggert@twinsun.com>
47133
47134         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
47135         (getgroups): First arg is int, not size_t.
47136         Don't let 'free' mangle errno.
47137
47138 2003-10-16  Paul Eggert  <eggert@twinsun.com>
47139
47140         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
47141
47142 2003-10-16  Karl Berry  <karl@gnu.org>
47143
47144         * config/config.{guess,sub}: update from config.
47145
47146 2003-10-16  Jim Meyering  <jim@meyering.net>
47147
47148         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
47149         memcpy.
47150
47151 2003-10-15  Paul Eggert  <eggert@twinsun.com>
47152
47153         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
47154         (SIZE_MAX): Remove.
47155         (new_exclude, add_exclude_file): Initial size no longer needs to
47156         be a power of 2.
47157         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
47158         our own address arithmetic overflow checking.
47159
47160         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
47161         (fnmatch): Do not alloca more than 2000 wide characters;
47162         instead, use malloc for large buffers.
47163         Check for address arithmetic overflow, and return -1
47164         with errno set to ENOMEM in that case.
47165         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
47166         (NEW_PATTERN): Do not alloca more than 8000 bytes;
47167         instead, return -1.  Check for address arithmetic overflow.
47168
47169 2003-10-14  Paul Eggert  <eggert@twinsun.com>
47170
47171         Handle invalid suffixes and overflow independently, so that
47172         callers can treat them independently as needed.  Fix some bugs in
47173         suffix handling, e.g., "100k@" was not diagnosed as an invalid
47174         suffix for a human-readable blocksize.  The major caller-visible
47175         change is the addition of a new
47176         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
47177         that both overflow and suffix chars were found.
47178
47179         * lib/human.c (humblock): Don't check separately for invalid suffix
47180         char; that is xstrtoumax's job (now that its bug is fixed).
47181         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
47182         INTMAX_MAX]: New macros.
47183         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
47184         TYPE_MAXIMUM): New macros.
47185         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
47186         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
47187         if overflow occurs, as it's what __strtol does and it's more useful
47188         in practice.
47189         (__xstrtol): If __strtol reports some error other than ERANGE,
47190         reflect it to the caller as LONGINT_INVALID.  If it reports
47191         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
47192         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
47193         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
47194         value.
47195         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
47196         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
47197         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
47198         [defined UINTMAX_MAX]: New macros.
47199
47200 2003-10-14  Bruno Haible  <bruno@clisp.org>
47201
47202         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
47203
47204 2003-10-14  Bruno Haible  <bruno@clisp.org>
47205
47206         * m4/sig_atomic_t: New file, from GNU gettext.
47207         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
47208
47209 2003-10-14  Bruno Haible  <bruno@clisp.org>
47210
47211         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
47212         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
47213         Also use volatile where needed.
47214
47215 2003-10-12  Paul Eggert  <eggert@twinsun.com>
47216
47217         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
47218         Change maintainer from Bruno Haible to 'all'.
47219
47220 2003-10-12  Paul Eggert  <eggert@twinsun.com>
47221
47222         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
47223
47224 2003-10-12  Paul Eggert  <eggert@twinsun.com>
47225
47226         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
47227         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
47228         and define in terms of the other primitives.
47229         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
47230         (SIZE_MAX): Define if not already defined.
47231         (array_size_overflow): New function.
47232         (xalloc_die): Abort instead of exiting if 'error' returns.
47233         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
47234         (xmalloc, xrealloc): Use them.
47235         (xcalloc): Check for address arithmetic overflow.
47236         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
47237         a bit faster than strcpy.
47238
47239 2003-10-10  Simon Josefsson  <jas@extundo.com>
47240
47241         * modules/argp (Depends-on): Add restrict and strcase.
47242
47243 2003-10-10  Simon Josefsson  <jas@extundo.com>
47244
47245         * m4/argp.m4: Add AC_C_INLINE.
47246
47247 2003-10-08  Paul Eggert  <eggert@twinsun.com>
47248
47249         Merge getpass from libc, plus a few fixes.
47250
47251         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
47252         Include <stdbool.h>.
47253         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
47254         __fsetlocking to empty.
47255         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
47256         do include <bits/libc-lock.h>.
47257         Do not include <fcntl.h>; not needed.
47258         [_LIBC]: Include <wchar.h>.
47259         (NOTCANCEL_MODE): New macro.
47260         (flockfile, funlockfile) [_LIBC]: New macros.
47261         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
47262         [!_LIBC]: New macros.
47263         (call_fclose): New function.
47264         (getpass): Use it.  Save tty stream separately; this simplifies the
47265         code and makes it more reliable if stdin happens to equal stdout.
47266         Invoke __fsetlocking on tty.
47267         Handle thread cancellation if needed.
47268         Namespace cleanup (use __tcgetattr, __getline).
47269         Use bool for Booleans.
47270         [USE_IN_LIBIO]: Handle wide streams.
47271         [!_LIBC]: Unconditionally do the fseek, since we don't know what
47272         stream might go where.
47273
47274         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
47275         doesn't have to include <stdio.h> before us.
47276         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
47277         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
47278         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
47279         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
47280         if not declared, so that we can use getpass.c code from libc without
47281         rewriting it.
47282         (flockfile, ftrylockfile, funlockfile): New macros.
47283
47284 2003-10-08  Paul Eggert  <eggert@twinsun.com>
47285
47286         * modules/getpass: Depend on stdbool.
47287
47288 2003-10-08  Paul Eggert  <eggert@twinsun.com>
47289
47290         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
47291
47292 2003-10-07  Karl Berry  <karl@gnu.org>
47293
47294         * config/config.{guess,sub}: update from config.
47295
47296 2003-10-06  Jim Meyering  <jim@meyering.net>
47297             Bruno Haible  <bruno@clisp.org>
47298
47299         This lets translators provide better translations for the
47300         "Written by ..." part of --version output.
47301         * lib/version-etc.h: Include stdarg.h.
47302         (version_etc_copyright): Declare as readonly.
47303         (version_etc): Make this function variadic with a NULL-terminated list
47304         of author name strings.
47305         (version_etc_va): New declaration.
47306         * lib/version-etc.c: Include stdarg.h, stdlib.h.
47307         (version_etc_copyright): Declare as readonly.
47308         (version_etc_va): New function. Provide a different translatable string
47309         for each possible number of authors < 10. Abbreviate when there are 10
47310         authors or more.
47311         (version_etc): Make this function variadic. Call version_etc_va.
47312         Suggestion from Gary V. Vaughan.
47313
47314         * lib/long-options.h (parse_long_options): Change prototype: the
47315         authors string is moved to the end and becomes variadic.
47316         * lib/long-options.c: Include stdarg.h.
47317         (parse_long_options): Make this function variadic, too.
47318         Call version_etc_va, not version_etc.
47319
47320 2003-10-06  Bruno Haible  <bruno@clisp.org>
47321
47322         * modules/version-etc-2: Remove file.
47323         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
47324
47325 2003-10-06  Bruno Haible  <bruno@clisp.org>
47326
47327         * modules/fatal-signal: New file.
47328         * MODULES.html.sh (func_all_modules): Add fatal-signal.
47329
47330 2003-10-06  Bruno Haible  <bruno@clisp.org>
47331
47332         * m4/fatal-signal.m4: New file.
47333         * m4/signalblocking.m4: New file, from GNU gettext.
47334
47335 2003-10-06  Bruno Haible  <bruno@clisp.org>
47336
47337         * lib/version-etc-2.h: Remove file.
47338         * lib/version-etc-2.c: Remove file.
47339
47340 2003-10-06  Bruno Haible  <bruno@clisp.org>
47341
47342         * lib/fatal-signal.h: New file, from GNU gettext.
47343         * lib/fatal-signal.c: New file, from GNU gettext.
47344
47345 2003-10-05  Paul Eggert  <eggert@twinsun.com>
47346
47347         * README: Rework advice for preventing empty .o files.
47348         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
47349         not <sys/types.h>.
47350
47351 2003-10-04  Karl Berry  <karl@gnu.org>
47352
47353         * lib/argp*: update from libc.
47354
47355 2003-10-04  Karl Berry  <karl@gnu.org>
47356
47357         * config/config.{guess,sub}: update from config.
47358
47359 2003-10-02  Bruno Haible  <bruno@clisp.org>
47360
47361         * modules/lchown (Include): Add lchown.h.
47362         * modules/time_r (Include): Use "..." syntax.
47363         * modules/xgetdomainname (Include): Add xgetdomainname.h.
47364
47365 2003-10-01  Simon Josefsson  <jas@extundo.com>
47366
47367         * MODULES.html.sh (func_all_modules): Move gethostname from section
47368         'based on' to section 'lacking' POSIX:2001.
47369
47370 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
47371
47372         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
47373         to output mode on the same stream.
47374
47375 2003-09-29  Paul Eggert  <eggert@twinsun.com>
47376
47377         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
47378         Fix arg typo in previous patch.
47379
47380 2003-09-28  Jim Meyering  <jim@meyering.net>
47381
47382         * lib/error.c: Correct cpp indentation.
47383
47384 2003-09-27  Paul Eggert  <eggert@twinsun.com>
47385
47386         * modules/free: New file.
47387
47388 2003-09-27  Paul Eggert  <eggert@twinsun.com>
47389
47390         * m4/free.m4: New file.
47391
47392 2003-09-27  Paul Eggert  <eggert@twinsun.com>
47393
47394         * lib/minmax.h (MIN, MAX)
47395         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
47396         Omit the special code that used __typeof__, since we worry that
47397         it could be more trouble than it's worth.  See:
47398         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
47399         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
47400
47401         * lib/free.c: New file.
47402
47403 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
47404
47405         Trivial fixes to Makefile.am parts of module listings.
47406         * modules/strstr: Append strstr.h to lib_SOURCES.
47407         * modules/strcase: Likewise, for strcase.h.
47408
47409 2003-09-27  Karl Berry  <karl@gnu.org>
47410
47411         * config/mkinstalldirs: update from automake.
47412
47413 2003-09-26  Paul Eggert  <eggert@twinsun.com>
47414
47415         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
47416         (error_tail): Do not loop, reallocating temporary buffer, since
47417         the output cannot contain more wide characters than the input
47418         contains bytes, the size must be big enough already.  This avoids
47419         one potential size overflow calculation.  Check for size overflow
47420         when calculating temporary buffer size.  Free temporary buffer
47421         when done, if it was allocated with malloc; this plugs a memory
47422         leak.  Remove casts from void * to pointers, that are no longer
47423         needed now that we're assuming C89 or better.
47424
47425         Merge error changes from glibc.
47426
47427         * lib/error.c, error.h: Update copyright notice header to match glibc.
47428         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
47429         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
47430         Disable cancellation while printing error.
47431         * lib/error.h: Prepend __ to parameter names.
47432
47433 2003-09-26  Jim Meyering  <jim@meyering.net>
47434
47435         * lib/error.c (error_tail): Move some declarations
47436         into inner scope where the local variables are used.
47437
47438 2003-09-26  Bruno Haible  <bruno@clisp.org>
47439
47440         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
47441         stpncpy().
47442         Don't define stpncpy through config.h; it's now done through stpncpy.h.
47443
47444 2003-09-26  Bruno Haible  <bruno@clisp.org>
47445
47446         * lib/stpncpy.h (gnu_stpncpy): New declaration.
47447         (stpncpy): Define as alias for gnu_stpncpy.
47448         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
47449
47450 2003-09-25  Simon Josefsson  <jas@extundo.com>
47451
47452         * lib/xgetdomainname.h: New file.
47453         * lib/xgetdomainname.c: New file.
47454
47455 2003-09-25  Simon Josefsson  <jas@extundo.com>
47456             Bruno Haible  <bruno@clisp.org>
47457
47458         * modules/getdomainname: New file.
47459         * modules/xgetdomainname: New file.
47460         * MODULES.html.sh (func_all_modules): Add getdomainname,
47461         xgetdomainname.
47462
47463 2003-09-25  Simon Josefsson  <jas@extundo.com>
47464             Bruno Haible  <bruno@clisp.org>
47465
47466         * m4/getdomainname.m4: New file.
47467
47468 2003-09-25  Simon Josefsson  <jas@extundo.com>
47469             Bruno Haible  <bruno@clisp.org>
47470
47471         * lib/getdomainname.h: New file.
47472         * lib/getdomainname.c: New file.
47473
47474 2003-09-25  Karl Berry  <karl@gnu.org>
47475
47476         * lib/argp-fmtstream.c, argp-help.c: update from libc.
47477
47478 2003-09-25  Karl Berry  <karl@gnu.org>
47479
47480         * config/install-sh: update from automake.
47481
47482 2003-09-25  Bruno Haible  <bruno@clisp.org>
47483
47484         * modules/version-etc-2: New file, from modules/version-etc with
47485         modifications.
47486         * MODULES.html.sh (func_all_modules): Add version-etc-2.
47487
47488 2003-09-25  Bruno Haible  <bruno@clisp.org>
47489
47490         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
47491         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
47492
47493 2003-09-24  Simon Josefsson  <jas@extundo.com>
47494
47495         * modules/xgethostname: Add xgethostname.h.
47496
47497 2003-09-24  Paul Eggert  <eggert@twinsun.com>
47498
47499         * lib/linebuffer.c (freebuffer): Don't free the argument, just
47500         the buffer associated with the argument.  Bug reported by
47501         Simon Josefsson.
47502
47503 2003-09-24  Paul Eggert  <eggert@twinsun.com>
47504
47505         * README: Document assumptions that 'int' is at least 32 bits
47506         wide, that integer arithmetic is 2's complement without overflow,
47507         that there are no holes in integer values, that adding sizes of
47508         two nonoverlapping objects can't overflow, and that all-bits-zero
47509         yields scalar zero.  Fix spelling and capitalization typos.
47510
47511 2003-09-19  Karl Berry  <karl@gnu.org>
47512
47513         * lib/argp.h: update from libc.
47514
47515 2003-09-17  Paul Eggert  <eggert@twinsun.com>
47516
47517         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
47518         to avoid spurious warnings like "AC_RUN_IFELSE was called before
47519         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
47520
47521 2003-09-17  Paul Eggert  <eggert@twinsun.com>
47522
47523         * gnulib-tool: Use "test -h", not "test -L", for portability
47524         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
47525         (tags_regexp): Remove, since \| doesn't conform to POSIX.
47526         (sed_extract_prog): Issue s commands one-by-one, rather than
47527         using \| in one s command.
47528
47529 2003-09-16  Paul Eggert  <eggert@twinsun.com>
47530
47531         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
47532         input error, instead of returning NULL the next time we are called
47533         (and therefore losing track of errno).
47534
47535 2003-09-16  Bruno Haible  <bruno@clisp.org>
47536
47537         * gnulib-tool (func_create_testdir): Warn about duplicated
47538         dependencies.
47539
47540 2003-09-15  Paul Eggert  <eggert@twinsun.com>
47541
47542         * modules/argmatch, modules/fatal, modules/obstack,
47543         modules/xalloc, modules/xgethostname: Sort dependencies by
47544         importance, not alphabetically.
47545
47546 2003-09-15  Paul Eggert  <eggert@twinsun.com>
47547
47548         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
47549         fails, so that the caller gets the proper errno.
47550
47551         * lib/readutmp.c (read_utmp): Likewise.
47552         Check for fstat error.  Close stream and free storage
47553         when failing.
47554
47555 2003-09-14  Karl Berry  <karl@gnu.org>
47556
47557         * config/srclist.txt (strdup.c): disable for c89 changes.
47558
47559 2003-09-14  Jim Meyering  <jim@meyering.net>
47560
47561         * lib/getloadavg.c: Correct cpp indentation.
47562         * lib/strdup.c: Likewise.
47563         * lib/vasnprintf.c: Likewise.
47564
47565 2003-09-14  Bruno Haible  <bruno@clisp.org>
47566
47567         * modules/fwriteerror: New file.
47568         * MODULES.html.sh (func_all_modules): Add fwriteerror.
47569
47570 2003-09-14  Bruno Haible  <bruno@clisp.org>
47571
47572         * lib/fwriteerror.h: New file.
47573         * lib/fwriteerror.c: New file.
47574
47575 2003-09-12  Paul Eggert  <eggert@twinsun.com>
47576
47577         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
47578         modules/xgethostname, modules/xalloc: Depend on exit.
47579
47580 2003-09-12  Paul Eggert  <eggert@twinsun.com>
47581
47582         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
47583
47584         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
47585         and AC_MINIX, too, so that their extensions are available.
47586
47587         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
47588         This macro has been superseded by gl_BACKUPFILE.
47589
47590         More patches to assume C89 or better.
47591
47592         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
47593
47594         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
47595         unconditionally.
47596         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
47597         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
47598         Include <string.h>, <stdlib.h> unconditionally.
47599         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
47600         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
47601         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
47602         headers or for string.h.
47603         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
47604         or strtoul.
47605
47606         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
47607         headers.
47608         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
47609         * m4/userspec.m4 (gl_USERSPEC): Likewise.
47610         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
47611         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
47612         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
47613         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
47614         memcpy, memset.
47615         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
47616         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
47617         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
47618         strtol.
47619         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
47620         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
47621         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
47622         strtoul.
47623
47624 2003-09-12  Paul Eggert  <eggert@twinsun.com>
47625
47626         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
47627         * lib/obstack.c [!defined _LIBC]: Likewise.
47628         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
47629         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
47630         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
47631
47632         More changes to assume C89 or better.
47633
47634         * lib/error.c (error_tail): Assume vprintf.
47635
47636         * lib/argmatch.c (getenv): Remove decl.
47637         * lib/progreloc.c (get_full_program_name): Define via prototype.
47638         * lib/setenv.c (clearenv): Likewise.
47639         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
47640         needed.
47641         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
47642         (malloc, memcpy): Remove decls.
47643         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
47644         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
47645         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
47646         (memcpy): Remove macro.
47647         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
47648         (__P): Remove.  All uses removed.
47649         (PTR): Remove.  All uses changed to void *.
47650         (CHAR_BIT, NULL): Remove.
47651         (spaces, zeros, memset_space, memset_zero)
47652         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
47653         Remove.
47654         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
47655         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
47656         Define with prototype.
47657         Remove now-unnecessary prototype decl.
47658         (extra_args_spec): Assume ANSI C.  All uses changed.
47659         (extra_args_spec_iso): Remove.
47660         (my_strftime, emacs_strftimeu): Define via prototype.
47661         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
47662         unconditionally.
47663         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
47664         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
47665         (strtoul, strtol): Remove decls.
47666         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
47667         LONG_MAX): Remove.
47668         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
47669         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
47670         (LOCALE_PARAM_PROTO): New macro.
47671         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
47672         (INTERNAL (strtol), strtol): Define with a prototype.
47673         (PARAMS): Remove.  All uses removed.
47674         * lib/tempname.c: Include <string.h> unconditionally.
47675         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
47676         * lib/xgethostname.c (main): Define with a prototype.
47677         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
47678         Include <stdlib.h> unconditionally.
47679         (calloc, malloc, realloc, free): Remove decls.
47680         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
47681         Include <stdlib.h> unconditionally.  Sort include file names.
47682         (strtod): Remove.
47683         (xstrtod): Define with a prototype.
47684         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
47685         (strtol, strtoul): Remove decls.
47686
47687 2003-09-11  Paul Eggert  <eggert@twinsun.com>
47688
47689         More patches to assume C89 or better.
47690         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
47691         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
47692         string.h, memchr, STDC_HEADERS.
47693
47694 2003-09-11  Paul Eggert  <eggert@twinsun.com>
47695
47696         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
47697         Include <stdlib.h>, <string.h> unconditionally.
47698         Remove now-unnecessary cast to char *.
47699         * lib/strnlen.c: Include <string.h> unconditionally.
47700         * lib/yesno.c (yesno): Define with a prototype.
47701
47702 2003-09-11  Bruno Haible  <bruno@clisp.org>
47703
47704         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
47705
47706 2003-09-10  Jim Meyering  <jim@meyering.net>
47707
47708         * lib/error.c: Correct indentation of cpp directives.
47709
47710 2003-09-10  Bruno Haible  <bruno@clisp.org>
47711
47712         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
47713         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
47714         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
47715         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
47716         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
47717         <stdlib.h> and <string.h> checks.
47718         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
47719         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
47720
47721 2003-09-10  Bruno Haible  <bruno@clisp.org>
47722
47723         * lib/strcspn.c: Include <string.h> unconditionally.
47724         * lib/strpbrk.c: Include <string.h> unconditionally.
47725         * lib/strstr.c: Include <string.h> unconditionally.
47726         * lib/unicodeio.c: Include <string.h> unconditionally.
47727         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
47728         * lib/unsetenv.c: Likewise.
47729         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
47730         * lib/yesno.c: Include <stdlib.h> unconditionally.
47731         (rpmatch): Add prototype.
47732
47733 2003-09-09  Paul Eggert  <eggert@twinsun.com>
47734
47735         More patches to assume C89 or better.
47736         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
47737         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
47738         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
47739         or for string.h.
47740         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
47741         stdlib.h.
47742         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
47743         C headers.
47744         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
47745         string.h.
47746         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
47747         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
47748         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
47749         or for string.h.
47750         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
47751         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
47752         C headers.
47753         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
47754         memcpy.
47755         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
47756         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
47757         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
47758         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
47759         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
47760         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
47761         string.h, free.
47762         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
47763         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
47764         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
47765         C headers, or for string.h.
47766         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
47767         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
47768         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
47769         headers, memory.h, stdlib.h, string.h, strings.h.
47770         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
47771         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
47772         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
47773         strchr.
47774         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
47775         headers, memory.h, string.h.
47776         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
47777         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
47778         free.
47779         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
47780         headers.
47781         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
47782         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
47783         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
47784         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
47785         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
47786
47787 2003-09-09  Paul Eggert  <eggert@twinsun.com>
47788
47789         More K&R removal.
47790
47791         * lib/acosl.c (main): Use a prototype.
47792         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
47793         tanl.c: Likewise.
47794
47795         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
47796
47797         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
47798         (getopt, etopt_long, getopt_long_only, _getopt_internal)
47799         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
47800         with a prototype.
47801         * lib/getopt.c (const): Remove macro.
47802         Include <string.h> unconditionally.
47803         (my_index): Remove; all uses changed to strchr.
47804         (strlen): Remove decl.
47805         (exchange): Remove forward decl; no longer needed.
47806         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
47807         Define with prototype.
47808         * lib/getopt1.c (const): Remove macro.
47809         (getopt_long, getopt_long_only, main): Define with prototype.
47810
47811         * lib/getugroups.c: Include <string.h> unconditionally.
47812
47813         * lib/getusershell.c: Include <stdlib.h> unconditionally.
47814         (getusershell, setusershell, endusershell, readname, main):
47815         Define with prototypes.
47816
47817         * lib/group-member.c: Include group-member.h first.
47818         Include <stdlib.h> unconditionally.
47819
47820         * lib/hard-locale.c: Include hard-locale.h first.
47821         Include <stdlib.h>, <string.h> unconditionally.
47822
47823         * lib/hash.c (free, malloc): Remove decls.
47824         Include <stdlib.h> unconditionally.
47825
47826         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
47827         (getenv): Do not declare.
47828
47829         * lib/idcache.c: Include <string.h> unconditionally.
47830
47831         * lib/long-options.c: Include long-options.h first, to test interface.
47832         Include <stdlib.h> unconditionally.
47833
47834         * lib/makepath.c: Include makepath.h first, to test interface.
47835         Include <stdlib.h> and <string.h> unconditionally.
47836
47837         * lib/linebuffer.c: Include <stdlib.h>.
47838         (free): Remove decl.
47839
47840         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
47841         stddef.h. rpl_malloc returns void *, not char *.
47842         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
47843         prototype.
47844
47845         * lib/md5.h: Include <limits.h> unconditionally.
47846         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
47847         (__P): Remove; all uses removed.
47848         * lib/md5.c: Include "md5.h" first.
47849         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
47850         md5_buffer, md5_process_bytes, md5_process_block):
47851         Define with prototypes.
47852         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
47853         * lib/sha.c: Include "sha.h" first.
47854         Include <stdlib.h>, <string.h> unconditionally.
47855
47856         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
47857         * lib/memcmp.c (__ptr_t): Likewise.
47858         * lib/memrchr.c (__ptr_t): Likewise.
47859         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
47860         Include <string.h> unconditionally.
47861         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
47862         * lib/memchr.c: Include <stdlib.h> unconditionally.
47863         * lib/memchr.c (LONG_MAX): Remove.
47864         * lib/memrchr.c (LONG_MAX): Likewise.
47865         * lib/memchr.c (__memchr): Define via a prototype.
47866         * lib/memrchr.c (__memrchr): Likewise.
47867         * lib/memcmp.c (__P): Remove, and remove all uses.
47868         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
47869         Remove forward decls; no longer needed.
47870         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
47871         Use types required by C89 in prototype.
47872
47873         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
47874         * lib/savedir.c: Likewise.
47875         * lib/mkdir.c (free): Remove decl.
47876         * lib/rmdir.c (rmdir): Define with a prototype.
47877         * lib/savedir.c: Include savedir.h first, to test interface.
47878
47879         * lib/mktime.c (STDC_HEADERS): Remove.
47880         Include <stdlib.h>, <string.h> unconditionally.
47881
47882         * lib/modechange.c: Include <stdlib.h> unconditionally.
47883         (malloc): Remove decl.
47884
47885         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
47886         (free): Remove decl.
47887
47888         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
47889         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
47890         (This type really should be intptr_t, but that's a C99ism.)
47891         (_obstack_memcpy): Remove: all uses changed to memcpy.
47892         Include <string.h> unconditionally.
47893         (struct obstack): Assume __STDC__ for types of members
47894         chunkfun, freefun, extra_arg.
47895         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
47896         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
47897         obstack_begin, obstack_specify_allocation,
47898         obstack_specify_allocation_with_arg, obstack_chunkfun,
47899         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
47900         Remove unprototyped decls and the macros that use them.
47901         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
47902         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
47903         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
47904         (defined __STDC__ && __STDC__)]:
47905         Remove nonprototyped code.
47906         Include <stdlib.h> unconditionally.
47907         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
47908         _obstack_allocated_p, _obstack_free, obstack_free,
47909         _obstack_memory_used, print_and_abort):
47910         Define using prototypes.
47911         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
47912         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
47913         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
47914         obstack_next_free, obstack_object_size, obstack_room) [0]:
47915         Remove unused, unprototyped code.
47916
47917         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
47918
47919         * lib/physmem.c (physmem_total, physmem_available, main): Define
47920         with prototypes.
47921
47922         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
47923         (main): Define with a prototype.
47924
47925         * lib/posixver.c (getenv): Remove decl.
47926
47927         * lib/putenv.c (malloc): Returns void *, not char *.
47928         Include <string.h> unconditionally.
47929         (strchr, memcpy, NULL): Do not define.
47930
47931         * lib/readtokens.c: Include readtokens.h first, to test interface.
47932         Include <stdlib.h>, <string.h> unconditionally.
47933         (init_tokenbuffer): Define with a prototype.
47934
47935         * lib/regex.c (PARAMS): Remove.  All uses removed.
47936         All uses of _RE_ARGS removed, too.
47937         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
47938         unconditionally.
47939         (bzero): Assume memset exists.
47940         (memcmp, memcpy, NULL): Remove.
47941         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
47942         char, or assignments to local vars of type signed char.
47943         (init_syntax_once, PREFIX(extract_number_and_incr),
47944         PREFIX(print_partial_compiled_pattern),
47945         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
47946         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
47947         PREFIX(regex_grow_registers), PREFIX(regex_compile),
47948         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
47949         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
47950         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
47951         wcs_compile_range, byte_compile_range, truncate_wchar,
47952         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
47953         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
47954         count_mbs_length, wcs_re_match_2_internal,
47955         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
47956         PREFIX(alt_match_null_string_p),
47957         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
47958         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
47959         regfree, PREFIX(extract_number)): Define with prototype.  Remove
47960         now-unnecessary declaration, if any.
47961         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
47962         regcomp, regexec):
47963         Remove now-unnecessary casts among pointer types.
47964         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
47965
47966         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
47967         (free): Remove decl.
47968
47969         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
47970
47971         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
47972         (free): Remove decl.
47973
47974         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
47975         * lib/xgetcwd.c: Likewise.
47976
47977         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
47978         (free): Remove decl.
47979
47980         * lib/strchrnul.c (strchrnul): Define with a prototype.
47981         Fix bug: c_in was not converted to char before searching.
47982
47983         The following changes are not K&R related:
47984
47985         * lib/group-member.h: Include <sys/types.h>, so that this file is
47986         self-contained.
47987         * lib/makepath.h: Likewise.
47988
47989         * lib/getusershell.c (readname, default_index, line_size, readname):
47990         Use size_t, not int, for sizes.
47991         (readname): If the size overflows, report an error instead of
47992         looping forever.
47993
47994 2003-09-09  Paul Eggert  <eggert@twinsun.com>
47995
47996         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
47997         libc.
47998
47999 2003-09-09  Paul Eggert  <eggert@twinsun.com>
48000
48001         * README: New section: portability guidelines.
48002
48003 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
48004
48005         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
48006         C89 spec.
48007
48008 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
48009
48010         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
48011
48012 2003-09-08  Paul Eggert  <eggert@twinsun.com>
48013
48014         Assume C89 or better; remove K&R cruft.
48015         A few of these changes were first proposed by Derek Robert Price
48016         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
48017
48018         * lib/addext.c: Include <string.h> unconditionally.
48019         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
48020         Don't declare getenv or malloc.
48021
48022         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
48023         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
48024         (NULL): Remove.
48025         (find_stack_direction, alloca): Use prototypes.
48026
48027         * lib/atexit.c (atexit): Define using a prototype.
48028
48029         * lib/basename.c, dirname.c, stripslash.c:
48030         Include <string.h> unconditionally.
48031
48032         * lib/bcopy.c: Include <stddef.h>.
48033         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
48034
48035         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
48036
48037         * lib/error.h (error, error_at_line, error_print_progname)
48038         [! (defined (__STDC__) && __STDC__)]: Remove decls.
48039         * lib/error.c: Include error.h first, to check interface.
48040         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
48041         (VA_START): Remove; all uses changeed to va_start.
48042         (exit, strerror): Remove decls.
48043         (error_print_progname): Prototype uncondionally.
48044         Don't include <errno.h>; no longer needed.
48045         (private_strerror): Remove.
48046         (error_tail): Always define.
48047         (error, error_at_line): Assume C89 or better; always use prototypes.
48048         * lib/fatal.c: Include "fatal.h" first, to test interface.
48049         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
48050         (VA_START): Remove; all uses changed to va_start.
48051         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
48052         this case.
48053         (exit): Remove decl.
48054         (fatal): Prototype unconditionally.  Assume va_start works.
48055         Abort at end, to pacify gcc.
48056
48057         * lib/euidaccess.c (main): Define with a prototype.
48058
48059         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
48060
48061         * lib/exitfail.c: Include <stdlib.h> unconditionally.
48062
48063         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
48064         prototypes.
48065         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
48066         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
48067         (getenv): Remove decl.
48068         (fnmatch): Define using a prototype.
48069         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
48070         (FCT): Define using a prototype.
48071
48072         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
48073
48074         * lib/gethostname.c: Include <stddef.h>.
48075         (gethostname): Define with prototype.  Length is size_t, not int.
48076
48077 2003-09-08  Paul Eggert  <eggert@twinsun.com>
48078
48079         Assume C89 or better; remove K&R cruft.
48080         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
48081         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
48082         string.h, getenv, malloc.
48083         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
48084         headers.
48085         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
48086         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
48087         do not check for strerror.
48088         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
48089         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
48090         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
48091         do not check for doprnt or vprintf.
48092         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
48093         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
48094
48095 2003-09-08  Paul Eggert  <eggert@twinsun.com>
48096
48097         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
48098         getversion.c should have been removed then, but was accidentally
48099         preserved.
48100
48101         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
48102         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
48103
48104 2003-09-08  Karl Berry  <karl@gnu.org>
48105
48106         * config/config.sub, config.guess, srclistvars.sh: update from savannah
48107                 config, forget about prep.
48108
48109         * config/depcomp, missing: update from automake.
48110
48111 2003-09-07  Paul Eggert  <eggert@twinsun.com>
48112
48113         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
48114         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
48115
48116 2003-09-07  Paul Eggert  <eggert@twinsun.com>
48117
48118         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
48119         copy_tm_result.  Bug reported by Simon Josefsson in
48120         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
48121
48122 2003-09-06  Paul Eggert  <eggert@twinsun.com>
48123
48124         * m4/time_r.m4: New file.
48125         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
48126         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
48127         is. Check for timegm declaration.
48128         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
48129         Do not check for gmtime_r.
48130         Replace mktime if __mktime_internal does not exist and if mktime
48131         hasn't been replaced already.
48132
48133 2003-09-06  Paul Eggert  <eggert@twinsun.com>
48134
48135         * lib/time_r.c, lib/time_r.h: New files.
48136
48137         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
48138         __localtime_r.
48139         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
48140         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
48141
48142         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
48143         __gmtime_r.
48144         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
48145         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
48146         Include <time_r.h>.
48147
48148         * lib/timegm.c: Switch to glibc implementation, with the following
48149         changes:
48150         [defined HAVE_CONFIG_H]: Include <config.h>.
48151         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
48152         (__mktime_internal) [!defined _LIBC]: New decl.
48153         (__gmtime_r) [!defined _LIBC]: New macro and function.
48154         (timegm): Use a prototype, since gnulib assumes C89.
48155         Do not bother declaring tmp to be const, as it's not really usefu.
48156         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
48157         (timegm): Declare only if HAVE_DECL_TIMEGM.
48158
48159 2003-09-06  Paul Eggert  <eggert@twinsun.com>
48160
48161         * MODULES.html.sh (func_all_modules): Add time_r.
48162         * modules/time_r: New file.
48163         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
48164         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
48165
48166 2003-09-03  Paul Eggert  <eggert@twinsun.com>
48167
48168         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
48169         Bug reported by Lute Kamstra in
48170         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
48171
48172         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
48173         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
48174         course with correspondingly smaller numbers for tomorrow and
48175         yesterday.  From Tadayoshi Funaba.  Originally installed into
48176         sh-utils on 1999-08-07, but the patch got lost (I guess during the
48177         coreutils merge?).
48178
48179 2003-08-31  Simon Josefsson  <jas@extundo.com>
48180
48181         * modules/timegm: New file.
48182         * MODULES.html.sh (func_all_modules): Add timegm.
48183
48184 2003-08-31  Simon Josefsson  <jas@extundo.com>
48185
48186         * m4/timegm.m4: New file.
48187
48188 2003-08-31  Simon Josefsson  <jas@extundo.com>
48189
48190         * lib/timegm.h: New file.
48191         * lib/timegm.c: New file.  Based on
48192         wget-1.8.2/src/http.c:mktime_from_utc.
48193
48194 2003-08-31  Karl Berry  <karl@gnu.org>
48195
48196         * lib/argp.h: update from libc.
48197
48198 2003-08-28  Bruno Haible  <bruno@clisp.org>
48199
48200         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
48201         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
48202         followed by '#define fnmatch fnmatch_posix' gives an error.
48203
48204 2003-08-28  Bruno Haible  <bruno@clisp.org>
48205
48206         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
48207         warning on QNX, which defines O_BINARY to 000000.
48208
48209 2003-08-27  Jim Meyering  <jim@meyering.net>
48210
48211         * m4/mkstemp.m4: Require that the system mkstemp be able to create
48212         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
48213         would fail after 32.  Reported by Danny Levinson.  Details here:
48214         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
48215
48216 2003-08-24  Bruno Haible  <bruno@clisp.org>
48217
48218         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
48219         MSVC7 <stdio.h> is included later.
48220
48221 2003-08-22  Simon Josefsson  <jas@extundo.com>
48222
48223         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
48224
48225 2003-08-20  Karl Berry  <karl@gnu.org>
48226
48227         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
48228
48229 2003-08-20  Bruno Haible  <bruno@clisp.org>
48230
48231         * modules/progname: New file.
48232         * MODULES.html.sh (func_all_modules): Add progname.
48233
48234 2003-08-20  Bruno Haible  <bruno@clisp.org>
48235
48236         * lib/progname.h: New file, from GNU gettext.
48237         * lib/progname.c: New file, from GNU gettext.
48238         * lib/progreloc.c: New file, from GNU gettext.
48239
48240 2003-08-19  Jim Meyering  <jim@meyering.net>
48241
48242         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
48243         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
48244
48245 2003-08-19  Bruno Haible  <bruno@clisp.org>
48246
48247         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
48248         more.
48249
48250 2003-08-19  Bruno Haible  <bruno@clisp.org>
48251
48252         * lib/xstrdup.c: Assume <string.h> exists.
48253
48254 2003-08-18  Paul Eggert  <eggert@twinsun.com>
48255
48256         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
48257         in makefile rules.
48258
48259 2003-08-18  Jim Meyering  <jim@meyering.net>
48260
48261         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
48262         * m4/lib-ld.m4: Likewise.
48263
48264 2003-08-18  Jim Meyering  <jim@meyering.net>
48265
48266         * lib/setenv.h: Indent nested cpp directive.
48267         * lib/vasnprintf.c: Remove trailing blanks.
48268
48269 2003-08-17  Simon Josefsson  <jas@extundo.com>
48270
48271         * modules/xstrndup: New file.
48272         * MODULES.html.sh (func_all_modules): Add xstrndup.
48273
48274 2003-08-17  Simon Josefsson  <jas@extundo.com>
48275
48276         * modules/argp: Fix autoconf macro name. Add more dependencies.
48277
48278 2003-08-17  Simon Josefsson  <jas@extundo.com>
48279
48280         * m4/xstrndup.m4: New file.
48281
48282 2003-08-17  Simon Josefsson  <jas@extundo.com>
48283
48284         * m4/argp.m4: New file.
48285
48286 2003-08-17  Simon Josefsson  <jas@extundo.com>
48287             Bruno Haible  <bruno@clisp.org>
48288
48289         * lib/xstrndup.h: New file.
48290         * lib/xstrndup.c: New file.
48291
48292 2003-08-17  Bruno Haible  <bruno@clisp.org>
48293
48294         * modules/strndup (Files, Include): Add lib/strndup.h.
48295
48296 2003-08-17  Bruno Haible  <bruno@clisp.org>
48297
48298         * modules/euidaccess (Files): Add lib/euidaccess.h.
48299
48300 2003-08-17  Bruno Haible  <bruno@clisp.org>
48301
48302         * lib/strndup.h: New file.
48303
48304 2003-08-17  Bruno Haible  <bruno@clisp.org>
48305
48306         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
48307         like AC_GNU_SOURCE.
48308         * modules/extensions (configure.ac): Comment out the invocation of
48309         gl_USE_SYSTEM_EXTENSIONS.
48310
48311 2003-08-16  Paul Eggert  <eggert@twinsun.com>
48312
48313         Merges from coreutils, etc.
48314         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
48315         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
48316         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
48317         fixing a typo.
48318         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
48319         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
48320
48321 2003-08-16  Paul Eggert  <eggert@twinsun.com>
48322
48323         Document merge from coreutils.
48324         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
48325         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
48326         * modules/utime: Add m4/utimes-null.m4.
48327
48328 2003-08-16  Paul Eggert  <eggert@twinsun.com>
48329
48330         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
48331         space, undoing this 2003-08-12 change:
48332         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
48333
48334 2003-08-16  Paul Eggert  <eggert@twinsun.com>
48335
48336         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
48337         strtoul.c from libc, undoing this 2003-08-12 change:
48338         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
48339
48340 2003-08-16  Jim Meyering  <jim@meyering.net>
48341
48342         Merges from coreutils.
48343         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
48344         prefix.  Adjust cache variables similarly.  Create 500 rather than
48345         just 300 files, to exercise bug on Darwin6.5, too.
48346         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
48347         $missing_dir.
48348         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
48349         AM_SYS_POSIX_TERMIOS.
48350         Reported by mkc@mathdogs.com.
48351         Also change use of $am_cv_sys_posix_termios
48352         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
48353         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
48354         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
48355         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
48356         in /proc/mounts until it finds one with matching device number.  This
48357         is unnecessary when the FILE argument *is* a mount point.  No stat call
48358         is necessary in that case.  So, disable the statvfs-testing code on
48359         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
48360         as RedHat bug# 84846.
48361         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
48362         to 1MB, so as not to render systems with no stack size limit (e.g.,
48363         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
48364         Include <unistd.h>.  On some systems,
48365         it is required for the definition of _SC_PAGESIZE.
48366
48367 2003-08-16  Jim Meyering  <jim@meyering.net>
48368
48369         Merge from coreutils.
48370         * lib/xstrtoimax.c: #else #if -> #elif.
48371         * lib/xstrtoumax.c: Likewise.
48372
48373 2003-08-16  Jim Meyering  <jim@meyering.net>
48374
48375         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
48376         * m4/utimes.m4: Removed.
48377         * m4/utimes-null.m4: Renamed from utimes.m4.
48378
48379         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
48380         to 1MB, so as not to render systems with no stack size limit (e.g.,
48381         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
48382         Include <unistd.h>.  On some systems,
48383         it is required for the definition of _SC_PAGESIZE.
48384
48385 2003-08-16  Jim Meyering  <jim@meyering.net>
48386         and Paul Eggert  <eggert@cs.ucla.edu>
48387
48388         Merges from coreutils, etc.
48389
48390         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
48391         using the latest version from cvs.  This avoids problems with #line
48392         directives using a vendor (Sun) compiler.
48393         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
48394         Don't set GETGROUPS_LIB here; now it's
48395         done via getgroups.m4's wrapper function.
48396         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
48397         rather than just in sh-util/configure.in, so that the
48398         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
48399         same.
48400         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
48401         AC_FUNC_GETLOADAVG where to find getloadavg.c.
48402         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
48403         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
48404         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
48405         Remove code that is now done by the newly-required macros.
48406         Append $(EXEEXT) to DF_PROG.
48407         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
48408         Do not invoke or require the following here,
48409         since prereq.m4 or some gnulib .m4 now does this for us:
48410         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
48411         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
48412         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
48413         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
48414         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
48415         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
48416         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
48417         AC_FUNC_OBSTACK.
48418         Do not replace the following functions, as this is now the job
48419         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
48420         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
48421         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
48422         atexit getpass, strdup, getpagesize.
48423         Replace 'raise'.
48424         Do not check for the following functions, as this is now the job
48425         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
48426         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
48427         setregid.
48428         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
48429         Check for sys/sysctl.h.
48430         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
48431         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
48432         of checking for ssize_t ourselves.
48433
48434         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
48435         Require every macro that gnulib/modules/* suggests for us.
48436         (jm_PREREQ_ADDEXT): New macro.
48437         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
48438         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
48439
48440         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
48441         (gl_PHYSMEM): Use it.
48442         Also check for `table' function.
48443         Check for new headers and functions.
48444         Add check for sys/sysmp.h.
48445         With suggestions from Kaveh Ghazi.
48446         Ignore headers that are present but cannot be compiled.  This
48447         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
48448         C 5.4.
48449
48450 2003-08-15  Paul Eggert  <eggert@twinsun.com>
48451
48452         Document merge from coreutils.
48453         * modules/userspec: Depend on posixver.
48454         * modules/strftime: Depend on tzset.
48455
48456 2003-08-15  Paul Eggert  <eggert@twinsun.com>
48457
48458         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
48459         rather than tab, after '#' in shell-script copyright notices.
48460         Suggested by Bruno Haible.
48461
48462 2003-08-15  Paul Eggert  <eggert@twinsun.com>
48463
48464         * config/srclist-update: Use three spaces, rather than tab, after '#'
48465         in shell-script copyright notices.  Suggested by Bruno Haible.
48466         Remove unnecessary parenthesization in regular expression.
48467
48468 2003-08-15  Jim Meyering  <jim@meyering.net>
48469
48470         Merge from coreutils.
48471         * lib/xgethostname.c: Include <stdlib.h>.
48472         (xghostname): Don't exit for anything other than memory-related
48473         failure; just return NULL.
48474         * lib/userspec.c: Include "posixver.h".
48475         (parse_user_spec): Accept `.' as a separator only
48476         in pre-POSIX-200112 mode.
48477         * lib/strtoimax.c: Use #elif rather than #else #if.
48478         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
48479         Remove function, now that we can rely on a working tzset function.
48480         [!_LIBC]: Ensure that the required autoconf test has been run.
48481         [!defined _NL_CURRENT && HAVE_STRFTIME]:
48482         Use underlying_strftime for %r.
48483         * lib/sha.c: Merge in some clean-up and optimization changes from
48484         glibc.
48485         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
48486         Ensure that it is a multiple of 64.
48487         Rearrange loop exit tests so as to avoid performing an
48488         additional fread after encountering an error or EOF.
48489         * lib/realloc.c: Update copyright date.
48490
48491 2003-08-15  Jim Meyering  <jim@meyering.net>
48492         and Paul Eggert  <eggert@twinsun.com>
48493
48494         Merge from coreutils.
48495         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
48496         member but strut utmpx does not.  Needed for AIX 4.3.3.
48497         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
48498
48499 2003-08-15  Jim Meyering  <jim@meyering.net>
48500         and Paul Eggert  <eggert@cs.ucla.edu>
48501
48502         Merges from coreutils, etc.
48503         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
48504         Require gl_FUNC_TZSET_CLOBBER.
48505         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
48506         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
48507         members.
48508
48509 2003-08-14  Paul Eggert  <eggert@twinsun.com>
48510
48511         Help the merge from coreutils.
48512         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
48513         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
48514         * m4/tzset.m4: Use it too.
48515
48516 2003-08-14  Paul Eggert  <eggert@twinsun.com>
48517
48518         * modules/tzset: New file.
48519
48520 2003-08-14  Jim Meyering  <jim@meyering.net>
48521
48522         Merges from coreutils.
48523         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
48524         variable names, rather than @FNMATCH_H@.
48525         * modules/alloca: Likewise for $(ALLOCA_H).
48526
48527         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
48528         the three copies of the literal target, `fnmatch.h'.
48529         * modules/alloca (alloca.h): Likewise.
48530
48531 2003-08-14  Jim Meyering  <jim@meyering.net>
48532
48533         Merge from coreutils.
48534         * m4/tzset.m4: New file.
48535         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
48536         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
48537         otherwise, AIX 5.1 systems would end up using the latter.
48538         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
48539         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
48540         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
48541         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
48542
48543 2003-08-14  Jim Meyering  <jim@meyering.net>
48544
48545         Merge from coreutils.
48546         * lib/obstack.h: Whitespace changes.
48547         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
48548         and xcalloc return values.
48549         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
48550         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
48551         hang on OSF/1 5.1 for DIR on both local and remote file systems.
48552         Reported by (and fix confirmed by) Nelson H. F. Beebe.
48553         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
48554         error from mntctl.
48555         Use mntctl's return value to drive the entry-processing loop, since
48556         we can't rely on the value of the vmt_length member in the last
48557         entry.  On some systems doing so could result in exhausting
48558         virtual memory.  Based in part on a patch from Mike Jetzer.
48559
48560 2003-08-14  Jim Meyering  <jim@meyering.net>
48561         and Paul Eggert  <eggert@twinsun.com>
48562
48563         Merges from coreutils, plus other fixes.
48564         * lib/physmem.c: Merge in portability changes from gcc/libiberty
48565         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
48566         for credits and details.  Thanks to Kaveh Ghazi for helping
48567         to keep these files in sync.
48568         (ARRAY_SIZE): Define it.
48569         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
48570         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
48571         (memcasecmp): Don't assume size_t fits in unsigned int.
48572         Remove casts and duplicate code.
48573         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
48574         (memcpy): Remove definition.
48575         Merge in some clean-up and optimization changes from glibc.
48576         [BLOCKSIZE]: Move definition to top of file.
48577         Ensure that it is a multiple of 64.
48578         Rearrange loop exit tests so as to avoid performing an
48579         additional fread after encountering an error or EOF.
48580         * lib/md5.h (md5_uintptr): Define.
48581         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
48582         return to the initial working directory.  Preserve errno
48583         for caller.
48584         * lib/idcache.c: Include "xalloc.h".
48585         (xmalloc, xrealloc): Remove decls.
48586         (getuser): Remove casts no longer required in C89.
48587         * lib/human.c: Include stdio.h, for sprintf.
48588         * lib/group-member.c: Include "xalloc.h".
48589         (xmalloc, xrealloc): Remove decls.
48590         (get_group_info): Remove casts no longer required in C89.
48591         * lib/getusershell.c (readname): Remove casts no longer required in
48592         C89.
48593         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
48594         * lib/getline.c: Whitespace fix, from coreutils.
48595
48596 2003-08-13  Paul Eggert  <eggert@twinsun.com>
48597
48598         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
48599         Check for isascii.
48600
48601         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
48602         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
48603         Undo previous (whitespace-only) change.
48604
48605 2003-08-13  Paul Eggert  <eggert@twinsun.com>
48606
48607         * lib/exclude.c: Include <ctype.h>
48608         (IN_CTYPE_DOMAIN): New macro.
48609         (is_space): New fn.
48610         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
48611         and empty lines.
48612
48613         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
48614         Undo previous (whitespace-only) change.
48615
48616 2003-08-13  Paul Eggert  <eggert@twinsun.com>
48617
48618         * config/srclist-update: Change update back to the old behavior,
48619         leaving whitespace alone.  Use one 'sed' command rather than a
48620         pipeline.
48621         (fixlicense): Now a variable, not a function.
48622         (remove_trailing_blanks): Remove.
48623         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
48624         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
48625         Undo previous (whitespace-only) change.
48626
48627 2003-08-12  Paul Eggert  <eggert@twinsun.com>
48628
48629         Merge from coreutils.
48630         * modules/euidaccess: Add lib_SOURCES, include for new
48631         file euidaccess.h
48632
48633 2003-08-12  Paul Eggert  <eggert@twinsun.com>
48634
48635         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
48636         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
48637         Normalize leading white space and remove trailing white space.
48638
48639         Merge from coreutils
48640         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
48641
48642         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
48643         0.12.1.  These files are now being upgraded automatically by
48644         ../config/srclist-update.
48645
48646 2003-08-12  Paul Eggert  <eggert@twinsun.com>
48647
48648         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
48649         Normalize leading white space and remove trailing white space.
48650         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
48651         notice, as per ../config/srclist-update.
48652
48653         Merge from coreutils.
48654         * lib/euidaccess.h: New file.
48655         * lib/euidaccess.c: Include it.
48656         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
48657         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
48658         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
48659
48660 2003-08-12  Paul Eggert  <eggert@twinsun.com>
48661
48662         * config/srclist-update: Add copyright notice.
48663         (remove_id_lines, remove_trailing_blanks): New constants.
48664         (fixfile): Use them to normalize spacing a bit in copied files.
48665         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
48666         Normalize leading white space and remove trailing white space.
48667
48668         * config/texinfo.tex: Sync with texinfo.
48669
48670         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
48671         strtoul.c from libc, to merge coreutils whitespace changes.
48672
48673         * config/srclist.txt: Get the following m4 files from gettext:
48674         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
48675         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
48676         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
48677         wint_t.m4.
48678
48679 2003-08-12  Karl Berry  <karl@gnu.org>
48680
48681         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
48682         been made.
48683
48684 2003-08-11  Paul Eggert  <eggert@twinsun.com>
48685
48686         * modules/gnu-source, m4/gnu-source.m4:
48687         Remove; we're assuming Autoconf 2.54 or later now.
48688         Suggested by Bruno Haible.
48689         * MODULES.html.sh (func_all_modules): Remove gnu-source.
48690
48691 2003-08-11  Bruno Haible  <bruno@clisp.org>
48692
48693         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
48694
48695 2003-08-11  Bruno Haible  <bruno@clisp.org>
48696
48697         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
48698         (vasnprintf): Use it instead of wcslen.
48699
48700 2003-08-11  Bruno Haible  <bruno@clisp.org>
48701
48702         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
48703         value to ensure that _Bool promotes to int. Use #define for _Bool when
48704         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
48705
48706 2003-08-10  Karl Berry  <karl@gnu.org>
48707
48708         * lib/regex.h: update from libc (whitespace fix).
48709
48710 2003-08-09  Paul Eggert  <eggert@twinsun.com>
48711
48712         Merge some files from coreutils.  These changes were
48713         originally made by Jim Meyering.
48714         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
48715         many older Unixes require this.
48716         * lib/alloca.c (alloca): Remove cast to argument of free;
48717         no longer needed in C89.
48718         * lib/alloca_.h, regex.h: Fix white space to match
48719         what GNU indent does.
48720
48721 2003-08-09  Paul Eggert  <eggert@twinsun.com>
48722
48723         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
48724         apparently Emacs's Unicode mode got confused before my 2003-08-05
48725         checkin.
48726
48727 2003-08-08  Paul Eggert  <eggert@twinsun.com>
48728
48729         * m4/extensions.m4: New file.
48730         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
48731         Require gl_USE_SYSTEM_EXTENSIONS.
48732         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
48733         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
48734
48735 2003-08-08  Paul Eggert  <eggert@twinsun.com>
48736
48737         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
48738         * modules/extensions, modules/gnu-source: New files.
48739         * modules/timespec, modules/unlocked-io: Depend on extensions.
48740
48741 2003-08-07  Paul Eggert  <eggert@twinsun.com>
48742
48743         * modules/restrict: New file.
48744         * MODULES.html.sh (func_all_modules): Add restrict.
48745         * modules/regex: Depend on restrict.
48746
48747 2003-08-07  Paul Eggert  <eggert@twinsun.com>
48748
48749         * m4/restrict.m4: New file.
48750         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
48751
48752 2003-08-07  Bruno Haible  <bruno@clisp.org>
48753
48754         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
48755         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
48756
48757 2003-08-07  Bruno Haible  <bruno@clisp.org>
48758
48759         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
48760         makes the module 'getndelim2' compatible with the module 'getline'.
48761
48762 2003-08-05  Paul Eggert  <eggert@twinsun.com>
48763
48764         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
48765         byte with "\201" to avoid glitches when editing that source file
48766         with multi-gnome-terminal.
48767
48768 2003-08-05  Paul Eggert  <eggert@twinsun.com>
48769
48770         * lib/bumpalloc.h: Remove.
48771
48772 2003-08-05  Paul Eggert  <eggert@twinsun.com>
48773
48774         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
48775         * modules/bumpalloc: Remove.
48776
48777 2003-08-04  Paul Eggert  <eggert@twinsun.com>
48778
48779         * lib/getloadavg.c: Change copyright notice and spacing to conform to
48780         GNU coding style.
48781
48782         Merge from coreutils.
48783         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
48784         1. From glibc.
48785         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
48786         from Karl Berry, implemented by Jim Meyering.
48787         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
48788         from Dmitry V. Levin.
48789         Remove anachronistic cast of xrealloc.
48790         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
48791         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
48792         type. Otherwise, it wouldn't compile with at least /bin/cc on
48793         ymp-cray-unicos9.0.2.X.
48794         Combine two mostly-identical uses of alloca into one.
48795         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
48796
48797 2003-08-04  Dave Love  <d.love@dl.ac.uk>
48798
48799         [From Emacs.]
48800
48801         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
48802         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
48803         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
48804         obsolete NLIST_NAME_UNION.
48805         [__GNU__]: Undef BSD and FSCALE.
48806         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
48807
48808 2003-08-03  Paul Eggert  <eggert@twinsun.com>
48809
48810         * lib/stdbool_.h (_Bool): Make it signed char, instead of
48811         an enum type, so that it's guaranteed to promote to int.  See:
48812         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
48813
48814 2003-08-03  Karl Berry  <karl@gnu.org>
48815
48816         * config/depcomp: update from automake.
48817
48818 2003-07-31  Paul Eggert  <eggert@twinsun.com>
48819
48820         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
48821         (strerror): Don't assume that a printable int fits in 14 bytes.
48822
48823 2003-07-31  Bruno Haible  <bruno@clisp.org>
48824
48825         * modules/getpass-gnu: New file.
48826         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
48827
48828 2003-07-31  Bruno Haible  <bruno@clisp.org>
48829
48830         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
48831
48832 2003-07-24  Karl Berry  <karl@gnu.org>
48833
48834         * config/missing: update from automake.
48835
48836 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
48837             Bruno Haible  <bruno@clisp.org>
48838
48839         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
48840         * lib/getline.c (getline, getdelim): Likewise.
48841         Remove _GNU_SOURCE define; now it's defined in config.h through
48842         m4/getline.m4.
48843
48844 2003-07-23  Karl Berry  <karl@gnu.org>
48845
48846         * config/config.sub: update from prep.
48847
48848 2003-07-22  Paul Eggert  <eggert@twinsun.com>
48849
48850         * modules/xalloc (Depends-on): Add exitfail.
48851         * modules/xmemcoll: Likewise.
48852
48853 2003-07-22  Paul Eggert  <eggert@twinsun.com>
48854
48855         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
48856         over-parenthesization in macros.
48857
48858         Sync with coreutils.
48859
48860         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
48861         required by C99.
48862
48863         Use `exit_failure' for xalloc and xmemcoll instead of their own
48864         private exit-failure variables.
48865         * lib/xalloc.h (xalloc_exit_failure): Remove.
48866         * lib/xmalloc.c: Likewise.  Include exitfail.h.
48867         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
48868         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
48869         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
48870         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
48871
48872 2003-07-20  Jim Meyering  <jim@meyering.net>
48873
48874         * modules/closeout (Depends-on): Add exitfail.
48875         Suggestion from Bruno Haible.
48876
48877 2003-07-19  Karl Berry  <karl@gnu.org>
48878
48879         * config/config.sub: update from prep.
48880
48881 2003-07-18  Paul Eggert  <eggert@twinsun.com>
48882
48883         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
48884         Remove.
48885         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
48886         to test that it can stand by itself.  Include "exitfail.h".
48887         Clients should set exit_failure instead.
48888         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
48889
48890 2003-07-18  Bruno Haible  <bruno@clisp.org>
48891
48892         * modules/getndelim2: New file.
48893         * modules/getline: Share files with module getndelim2.
48894         * modules/getnline: Depend on getndelim2 instead of sharing files with
48895         it. Add getnline.c to lib_SOURCES.
48896         * MODULES.html.sh (func_all_modules): Add getndelim2.
48897
48898 2003-07-18  Bruno Haible  <bruno@clisp.org>
48899
48900         * m4/getndelim2.m4: New file.
48901         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
48902         invoke gl_PREREQ_GETNDELIM2.
48903         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
48904         gl_PREREQ_GETNDELIM2.
48905         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
48906         gl_GETNDELIM2.
48907
48908 2003-07-18  Bruno Haible  <bruno@clisp.org>
48909
48910         * lib/getndelim2.h: New file.
48911         * lib/getndelim2.c: Make into a module of its own. Include config.h,
48912         getndelim2.h.
48913         (getndelim2): Make non-static. Change return type to ssize_t.
48914         * lib/getline.h: Change argument names.
48915         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
48916         * lib/getnline.c: Include getndelim2.h.
48917
48918 2003-07-18  Andreas Schwab  <schwab@suse.de>
48919
48920         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
48921
48922 2003-07-17  Karl Berry  <karl@gnu.org>
48923
48924         * config/config.sub: update from prep.
48925
48926 2003-07-17  Bruno Haible  <bruno@clisp.org>
48927
48928         * modules/getnline: New file.
48929         * modules/getline: Add lib/getndelim2.c to source file list.
48930         * MODULES.html.sh (func_all_modules): Add getnline.
48931
48932 2003-07-17  Bruno Haible  <bruno@clisp.org>
48933
48934         * m4/getnline.m4: New file.
48935
48936 2003-07-17  Bruno Haible  <bruno@clisp.org>
48937
48938         * m4/Makefile.am.in: Remove file.
48939         * m4/Makefile.am: Remove file.
48940         * m4/Makefile.in: Remove file.
48941
48942 2003-07-17  Bruno Haible  <bruno@clisp.org>
48943
48944         * lib/getnline.h: New file.
48945         * lib/getnline.c: New file.
48946         * lib/getndelim2.c: New file, extracted from getline.c.
48947         (getndelim2): Renamed from getdelim2, with added nmax argument.
48948         * lib/getline.c: Include getndelim2.c.
48949         (getdelim2): Moved out to getndelim2.c.
48950         (getline, getdelim): Update.
48951
48952 2003-07-17  Bruno Haible  <bruno@clisp.org>
48953
48954         * lib/Makefile.am: Remove file.
48955         * lib/Makefile.in: Remove file.
48956
48957 2003-07-17  Bruno Haible  <bruno@clisp.org>
48958
48959         * configure.in: Remove file.
48960         * Makefile.in: Remove file.
48961
48962 2003-07-17  Bruno Haible  <bruno@clisp.org>
48963
48964         * MODULES.html.sh: Put the </BODY> right before </HTML>.
48965
48966 2003-07-16  Karl Berry  <karl@gnu.org>
48967
48968         * config/srclist-update: was running fixlicense twice, which caused
48969                 texinfo.tex to be nullified for some reason.  Simplify,
48970                 $gplsrc is no longer needed as far as I can see?
48971
48972 2003-07-16  Jim Meyering  <jim@meyering.net>
48973
48974         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
48975
48976 2003-07-15  Paul Eggert  <eggert@twinsun.com>
48977
48978         * config/srclist.txt: Get the following files from gettext-runtime/intl
48979         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
48980         ref-del.sin.  From Bruno Haible.
48981         * config/srclist-update (fixfile): Change grep pattern again, since the
48982         previous fix didn't work (there was another trailing $).  Use
48983         '[$]' to escape the $s.
48984
48985 2003-07-15  Karl Berry  <karl@gnu.org>
48986
48987         * lib/vasnprintf.c: update from gettext.
48988
48989 2003-07-15  Karl Berry  <karl@gnu.org>
48990
48991         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
48992         gets expanded when surrounded by '$'.
48993
48994 2003-07-15  Jim Meyering  <jim@meyering.net>
48995
48996         * modules/save-cwd: Don't depend on error.  From Derek Price.
48997
48998 2003-07-15  Jim Meyering  <jim@meyering.net>
48999
49000         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
49001
49002 2003-07-14  Simon Josefsson  <jas@extundo.com>
49003
49004         * modules/mempcpy: New file.
49005         * MODULES.html.sh (func_all_modules): Add mempcpy.
49006
49007 2003-07-14  Simon Josefsson  <jas@extundo.com>
49008
49009         * m4/mempcpy.m4: New file.
49010
49011 2003-07-14  Simon Josefsson  <jas@extundo.com>
49012
49013         * lib/mempcpy.h: New file.
49014         * lib/mempcpy.c: New file.
49015
49016 2003-07-14  Paul Eggert  <eggert@twinsun.com>
49017
49018         * modules/getdate, modules/posixtm: Depend on mktime.
49019
49020 2003-07-14  Paul Eggert  <eggert@twinsun.com>
49021
49022         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
49023         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
49024         unicodeio.c, unicodeio.h, unlocked-io.h:
49025         Switch from LGPL to GPL.
49026
49027 2003-07-14  Paul Eggert  <eggert@twinsun.com>
49028
49029         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
49030         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
49031         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
49032         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
49033         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
49034         updated automatically by ../config/srclist-update.  This changes
49035         their license from LPGL to GPL.
49036
49037 2003-07-14  Paul Eggert  <eggert@twinsun.com>
49038
49039         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
49040         assumed to refer to the root of the most recent stable gettext version.
49041         * config/srclistvars.sh: Add defaults for eggert.
49042         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
49043         Match "This program" as well as "The program".  This is needed
49044         for gettext.
49045
49046 2003-07-14  Jim Meyering  <jim@meyering.net>
49047
49048         Don't emit diagnostics.  Let callers do that.
49049         * lib/save-cwd.c: Don't include "error.h".
49050         (save_cwd): Don't call error.  Ensure that errno is valid
49051         when returning nonzero.
49052
49053         * lib/save-cwd.h (restore_cwd): Update prototype.
49054         * lib/save-cwd.c (restore_cwd): Remove two parameters.
49055         Simplify.  Don't call error upon failure.  Let callers do that.
49056         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
49057         when auditing is enabled.  But don't bother updating the #if.
49058
49059 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
49060
49061         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
49062         it breaks C++ compilation.
49063         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
49064
49065 2003-07-10  Simon Josefsson  <jas@extundo.com>
49066
49067         * modules/strchrnul (Makefile.am): Add strchrnul.h.
49068
49069 2003-07-10  Jim Meyering  <jim@meyering.net>
49070
49071         * m4/clock_time.m4: Remove trailing blank.
49072         * m4/intmax_t.m4: Likewise.
49073
49074 2003-07-10  Jim Meyering  <jim@meyering.net>
49075
49076         * lib/vasnprintf.c: Remove trailing blanks.
49077         Make cpp indentation consistent.
49078
49079 2003-07-09  Paul Eggert  <eggert@twinsun.com>
49080
49081         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
49082         posixver.c, strftime.c, strnlen.c, strverscmp.c:
49083         Switch from LGPL to GPL.
49084
49085 2003-07-09  Paul Eggert  <eggert@twinsun.com>
49086
49087         * config/srclist.txt: Sort sublists.  Add
49088         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
49089         that differ from gnulib for one reason or another; we'd like this list
49090         to be smaller but for now let's document what we have.
49091
49092 2003-07-08  Paul Eggert  <eggert@twinsun.com>
49093
49094         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
49095         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
49096         and sweeter "eval x=$x".
49097         * config/srclist.txt: Get lib/argp* from glibc.
49098
49099 2003-07-07  Paul Eggert  <eggert@twinsun.com>
49100
49101         * lib/mktime.c: Fix some boundary cases and remove need for floating
49102         point.
49103
49104         Issue a compile-time diagnostic if time_t is floating point, or if
49105         two's complement arithmetic is not in effect, or if arithmetic
49106         right shift does not propagate the sign.  These assumptions were
49107         all in the original code but they weren't checked.
49108
49109         (TIME_T_MIDPOINT, verify): New macros.
49110         (__isleap): Remove; it has integer overflow problems.
49111         (leapyear): New function, without those problems.
49112         (ydhms_tm_diff): Remove; splitting into two parts.
49113         (ydhms_diff): New function, containing the arithmetic part of
49114         the old ydhms_tm_diff function.  Issue a compile-time
49115         diagnostic if we are not using C99 integer division.
49116         Avoid casts when possible.
49117         (guess_time_tm): New function, containing the checking part of
49118         the old ydhms_tm_diff function.  Return the new value, rather than
49119         the difference between it and the old.  Accept a new argument T
49120         so that *T specifies the old value.  Check for overflow in the result.
49121
49122         (__mktime_internal): Use a time_t offset, not a long int offset.
49123         This undoes the 2003-06-04 change, which is no longer needed now
49124         that we have better overflow checking.
49125         (localtime_offset): Likewise.
49126
49127         (__mktime_internal): Avoid harmful overflow on hosts where time_t
49128         and long are 64-bit but int is only 32-bit.
49129         (ydhms_diff): Use long int to store year1 and yday1.
49130         Issue a compile-time diagnostic if long int is not wide enough.
49131
49132         (__mktime_internal): Use long int to store adjusted year and yday.
49133         Use plain C rather than preprocessor commands, if that doesn't
49134         affect efficiency.
49135         Check for overflow (and try to repair) after each probe
49136         rather than checking only at the very end.  This avoids some bugs
49137         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
49138         does not equal GMT offset at maximum time).
49139         Use integer to check for overflow rather than floating point; this
49140         is more portable to non-IEEE hosts, and is a tad faster.
49141         When we detect that we are oscillating between two values,
49142         don't check whether tm_isdst has the requested value, since
49143         we already know the answer.  When tm_isdst has the wrong value,
49144         use a different heuristic to find the right one, based on the
49145         extreme values actually observed in practice in tz2003a,
49146         rather than the (overly optimistic) "previous 3 calendar quarters".
49147
49148         (not_equal_tm, print_tm, check_result): Use "const T" rather than
49149         "T const" to accommodate glibc style.
49150         (check_result): Use less-confusing report format.  "long" -> "long int.
49151         (main): Likewise.
49152         Don't loop if the iteration overflows time_t.
49153         Allow a negative step in the iteration.
49154
49155 2003-07-06  Karl Berry  <karl@gnu.org>
49156
49157         * config/depcomp: update from automake.
49158         * config/config.sub: update from prep.
49159
49160 2003-07-03  Karl Berry  <karl@gnu.org>
49161
49162         * config/config.guess: update from prep.
49163
49164 2003-07-01  Paul Eggert  <eggert@twinsun.com>
49165
49166         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
49167         xreadlink.c now includes it unconditionally.
49168
49169 2003-07-01  Paul Eggert  <eggert@twinsun.com>
49170
49171         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
49172         having it depend on HAVE_SYS_TYPES_H.
49173
49174 2003-07-01  Bruno Haible  <bruno@clisp.org>
49175
49176         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
49177         <sys/types.h> should be sufficient.
49178         Reported by Paul Eggert.
49179
49180 2003-06-26  Karl Berry  <karl@gnu.org>
49181
49182         * config/depcomp: update from automake.
49183
49184 2003-06-26  Bruno Haible  <bruno@clisp.org>
49185
49186         * modules/human: Depend on module stdbool.
49187
49188 2003-06-25  Bruno Haible  <bruno@clisp.org>
49189
49190         * modules/readlink: New file.
49191         * modules/xreadlink: Depend on it.
49192         * MODULES.html.sh (func_all_modules): Add readlink.
49193
49194 2003-06-25  Bruno Haible  <bruno@clisp.org>
49195
49196         * m4/readlink.m4: New file.
49197
49198 2003-06-25  Bruno Haible  <bruno@clisp.org>
49199
49200         * lib/readlink.c: New file.
49201
49202 2003-06-22  Karl Berry  <karl@gnu.org>
49203
49204         * config/srclist.txt: update mkinstalldirs from automake.
49205         * config/mkinstalldirs: update.
49206
49207 2003-06-22  Bruno Haible  <bruno@clisp.org>
49208
49209         Portability to mingw32.
49210         * m4/ssize_t.m4: New file, from GNU gettext.
49211         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
49212         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
49213
49214 2003-06-22  Bruno Haible  <bruno@clisp.org>
49215
49216         * modules/safe-read: Add m4/ssize_t.m4.
49217         * modules/xreadlink: Add m4/ssize_t.m4.
49218
49219 2003-06-20  Bruno Haible  <bruno@clisp.org>
49220
49221         Assume C89, so PARAMS isn't needed.
49222         * lib/unicodeio.h (PARAMS): Remove.
49223         * lib/unicodeio.c: Don't use PARAMS.
49224
49225 2003-06-18  Karl Berry  <karl@gnu.org>
49226
49227         * config/config.{guess,sub}: update from prep.
49228
49229 2003-06-18  Jim Meyering  <jim@meyering.net>
49230
49231         Merge changes from coreutils.
49232         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
49233         Remove explicit declarations of xmalloc and realloc.
49234         Include xalloc.h.
49235         (read_utmp): Remove anachronistic cast of xmalloc.
49236
49237 2003-06-17  Paul Eggert  <eggert@twinsun.com>
49238
49239         Assume C89, so PARAMS isn't needed.
49240         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
49241         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
49242         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
49243         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
49244         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
49245         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
49246         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
49247         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
49248         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
49249         lib/xstrtod.h, lib/xstrtol.h: Likewise.
49250         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
49251         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
49252         no longer needed. Anyway, config.h should always be included before any
49253         other file.
49254
49255 2003-06-11  Simon Josefsson  <jas@extundo.com>
49256
49257         * modules/sysexits: New file.
49258         * MODULES.html.sh (func_all_modules): Add sysexits.
49259
49260 2003-06-11  Simon Josefsson  <jas@extundo.com>
49261
49262         * lib/sysexit_.h: New file.
49263
49264 2003-06-11  Derek Price  <derek@ximbiot.com>
49265
49266         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
49267         necessary.
49268
49269 2003-06-11  Bruno Haible  <bruno@clisp.org>
49270
49271         * m4/sysexits.m4: New file.
49272
49273 2003-06-10  Simon Josefsson  <jas@extundo.com>
49274
49275         * lib/argp.h: New file, from glibc.
49276         * lib/argp-ba.c: New file, from glibc.
49277         * lib/argp-eexst.c: New file, from glibc.
49278         * lib/argp-fmtstream.c: New file, from glibc.
49279         * lib/argp-fmtstream.h: New file, from glibc.
49280         * lib/argp-fs-xinl.c: New file, from glibc.
49281         * lib/argp-help.c: New file, from glibc.
49282         * lib/argp-namefrob.h: New file, from glibc.
49283         * lib/argp-parse.c: New file, from glibc.
49284         * lib/argp-pv.c: New file, from glibc.
49285         * lib/argp-pvh.c: New file, from glibc.
49286         * lib/argp-xinl.c: New file, from glibc.
49287
49288 2003-06-10  Simon Josefsson  <jas@extundo.com>
49289
49290         * modules/strchrnul: New file.
49291
49292 2003-06-10  Simon Josefsson  <jas@extundo.com>
49293
49294         * modules/argp: New file.
49295
49296 2003-06-10  Simon Josefsson  <jas@extundo.com>
49297
49298         * m4/strchrnul.m4: New file.
49299
49300 2003-06-10  Simon Josefsson  <jas@extundo.com>
49301
49302         * lib/strchrnul.h: New file.
49303         * lib/strchrnul.c: New file.
49304
49305 2003-06-10  Bruno Haible  <bruno@clisp.org>
49306
49307         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
49308
49309 2003-06-07  Karl Berry  <karl@gnu.org>
49310
49311         * config/config.{guess,sub}: update from prep.
49312
49313 2003-06-07  Jim Meyering  <jim@meyering.net>
49314
49315         * modules/strtod: Use $(...) notation, not @...@ for
49316         AC_REPLACE'd variables.
49317         * modules/localcharset: Likewise.
49318
49319 2003-06-07  Jim Meyering  <jim@meyering.net>
49320
49321         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
49322         in place of my name in the copyright comment.
49323         Remove definition and uses of __P.
49324
49325         From coreutils.
49326         * lib/stat.c: Don't declare xmalloc explicitly.
49327         Instead, include "xalloc.h".
49328         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
49329         xrealloc, and xcalloc return values.
49330         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
49331         Improve comment.
49332         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
49333
49334 2003-06-07  Bruno Haible  <bruno@clisp.org>
49335
49336         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
49337         avoid AC_CONFIG_LINKS.
49338         * modules/fnmatch (Makefile.am): Use explicit creation rule for
49339         fnmatch.h, to avoid AC_CONFIG_LINKS.
49340         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
49341
49342 2003-06-07  Bruno Haible  <bruno@clisp.org>
49343
49344         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
49345         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
49346         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
49347         directory.
49348         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
49349         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
49350         directory.
49351
49352 2003-06-06  Jim Meyering  <jim@meyering.net>
49353
49354         Merge from coreutils.
49355         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
49356         Consolidate declarations and initializations of *_base* locals.
49357
49358         Merge from coreutils.
49359         This avoids a core dump on systems without GNU putenv,
49360         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
49361         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
49362         (unsetenv): New static function, from GNU libc.
49363         (rpl_putenv): Use it.
49364
49365         * lib/modechange.c: Remove trailing blanks.
49366
49367         Merge from coreutils.
49368         * lib/fsusage.c: Remove declaration of statfs.
49369         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
49370
49371         * lib/posixtm.c: Include <stdbool.h> unconditionally.
49372
49373 2003-06-06  Jim Meyering  <jim@meyering.net>
49374
49375         * lib/stdbool_.h: Renamed from stdbool.h.in.
49376
49377 2003-06-06  Jim Meyering  <jim@meyering.net>
49378             Bruno Haible  <bruno@clisp.org>
49379
49380         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
49381         Adjust Makefile.am snippet not to redirect directly to target.
49382         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
49383
49384 2003-06-05  Paul Eggert  <eggert@twinsun.com>
49385
49386         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
49387         mismatch, look in future quarters as well as past.  This fixes a
49388         bug when processing fall-backwards gaps immediately after a long
49389         period of daylight-saving time.
49390
49391         * lib/mktime.c: Assume freestanding C89 or better.
49392         (HAVE_LIMITS_H): Remove.  Assume it's 1.
49393         (__P): Remove; not used.
49394         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
49395         (mktime, not_equal_tm, print_tm, check_result,
49396         main): Use prototypes.  Use const * where appropriate.
49397         (main): Fix typo in testing code that uncovered by above changes.
49398         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
49399
49400 2003-06-04  Paul Eggert  <eggert@twinsun.com>
49401
49402         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
49403         locale.h, localeconv.  This merges changes from coreutils.
49404
49405         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
49406         It can be removed after the next Autoconf is released.
49407         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
49408         needed.
49409
49410 2003-06-04  Paul Eggert  <eggert@twinsun.com>
49411
49412         * lib/mktime.c: Fix Debian bug 177940
49413         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
49414         (localtime_offset): Now long int, not time_t, because we want it
49415         to be guaranteed to be signed.  All uses changed.
49416         (__mktime_internal): If overflow would occur when adding offset,
49417         don't add it.
49418
49419         Merge 'human' changes from coreutils.  Rewrite to support
49420         locale-specific notations like thousands separators.
49421         * lib/human.c: Simplify authorship notice.
49422         Include human.h immediately after config.h.
49423         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
49424         <limits.h>: Do not include, since human.h does.
49425         (SIZE_MAX, UINTMAX_MAX): New macros.
49426         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
49427         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
49428         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
49429         (power_letter): Renamed from suffixes.
49430         (generate_suffix_backwards): Remove.
49431         (adjust_value): Now takes int style (because of human.h changes)
49432         and long double value (for greater precision on some platforms).
49433         (group_number): New function.
49434         (human_readable): Use it.  Use integer options, not enum.
49435         Put the options before the sizes in the arg list.
49436         Support all the new options.
49437         The old human_readable function has been removed;
49438         use inttostr.h instead.
49439         (human_readable, default_block_size, humblock):
49440         Use uintmax_t, not int, for block sizes.
49441         (human_readable_inexact, block_size_types): Remove.
49442         (block_size_opts): New constant.
49443         (human_options): Renamed from human_block_size, with new signature
49444         that allows block sizes up to UINTMAX_MAX.  All callers changed.
49445         * lib/human.h: Add copyright and authorship notice.
49446         Include <limits.h> and <stdbool.h> unconditionally.
49447         (PARAMS): Remove.  All uses removed.
49448         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
49449         (enum human_inexact_style): Remove tag; now a nameless enum.
49450         (human_floor, human_ceiling, human_round_to_even): Now have
49451         values 2, 0, 1 rather than -1, 1, 0.
49452         (human_group_digits, human_suppress_point_zero, human_autoscale,
49453         human_base_1024, human_SI, human_B): New constants.
49454         (human_readable_inexact, human_block_size): Remove.
49455         (human_readable): Size args are now uintmax_t, not int.
49456         (human_options): New decl.
49457
49458         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
49459         unnecessary now that we assume C89 or better.  This change
49460         imported from coreutils.
49461
49462         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
49463         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
49464         in the 2003-05-30 sync from glibc.
49465
49466         .h files should stand alone, but we shouldn't include <sys/types.h>
49467         if we can get away with just <stddef.h>.
49468
49469         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
49470         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
49471         rather than <sys/types.h>, as we merely need size_t.
49472         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
49473         to get size_t.
49474         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
49475         Include <stdio.h>, to get FILE.
49476         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
49477         memcasecmp.h has included <stddef.h> and all we need is size_t.
49478         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
49479         our interface, instead of including <sys/types.h>
49480
49481 2003-06-04  Paul Eggert  <eggert@twinsun.com>
49482
49483         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
49484         now, as glibc mktime is buggy on non-glibc systems.
49485
49486 2003-06-03  Karl Berry  <karl@gnu.org>
49487
49488         * config/config.sub: update from prep.
49489
49490 2003-06-02  Paul Eggert  <eggert@twinsun.com>
49491
49492         [from coreutils]
49493         Fix some minor time-related bugs with POSIX time arguments.
49494         Some valid time stamps were being rejected (notably -1, and
49495         time stamps before 1900 on 64-bit hosts).  And some invalid
49496         time stamps were being accepted, e.g. September 31.
49497
49498         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
49499         that we can return (time_t) -1 successfully.
49500         * lib/posixtm.c: Likewise.
49501         [HAVE_STDBOOL_H]: Include <stdbool.h>.
49502         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
49503         (t): Remove static var.
49504         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
49505         of static var.  All uses changed.
49506         (year): Do not reject years before 1900; they can occur with
49507         64-bit time_t.
49508         (posix_time_parse): Do not check for out-of-range components;
49509         that is now the caller's responsibility, since our checks were
49510         only approximations.
49511         (posixtime): Use mktime to check for out-of-range components,
49512         since it knows them exactly.
49513         If mktime returns (time_t) -1, check whether an error actually occurred
49514         by invoking localtime on -1.
49515         (main) [TEST_POSIXTIME]: Check for input data errors, and report
49516         posixtime failures better.
49517         Improve the test data (in comments only).
49518
49519 2003-06-02  Karl Berry  <karl@gnu.org>
49520
49521         * config/mkinstalldirs (version): new variable.
49522         (--version): new option.
49523         (usage): improve message.
49524
49525 2003-05-30  Karl Berry  <karl@gnu.org>
49526
49527         * lib/mktime.c: update from libc.
49528
49529 2003-05-30  Bruno Haible  <bruno@clisp.org>
49530
49531         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
49532         * config/config.rpath: Upgrade to gettext-0.12.1.
49533
49534 2003-05-30  Bruno Haible  <bruno@clisp.org>
49535
49536         * m4/gettext.m4: Upgrade to gettext-0.12.1.
49537         * m4/nls.m4: New file, from gettext-0.12.1.
49538         * m4/po.m4: New file, from gettext-0.12.1.
49539         * m4/progtest.m4: Upgrade to gettext-0.12.1.
49540
49541 2003-05-30  Bruno Haible  <bruno@clisp.org>
49542
49543         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
49544         * lib/localcharset.h: Likewise.
49545         * lib/localcharset.c: Likewise.
49546
49547 2003-05-29  Karl Berry  <karl@gnu.org>
49548
49549         * config/config.rpath: update from gettext.
49550
49551 2003-05-28  Paul Eggert  <eggert@twinsun.com>
49552
49553         Assume the headers required for C89 freestanding compilers.
49554         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
49555         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
49556         * m4/human.m4 (gl_HUMAN): Likewise.
49557         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
49558         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
49559         * m4/userspec.m4 (gl_USERSPEC): Likewise.
49560         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
49561         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
49562         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
49563
49564 2003-05-28  Paul Eggert  <eggert@twinsun.com>
49565
49566         Assume the headers required for C89 freestanding compilers.
49567         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
49568         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
49569         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
49570         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
49571         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
49572         define, since <limits.h> is guaranteed to do that.
49573         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
49574         * lib/exclude.c: Include <stdbool.h> unconditionally.
49575         * lib/tempname.c: Include <stddef.h> unconditionally.
49576         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
49577         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
49578         <stddef.h> does that.
49579         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
49580         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
49581         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
49582         needed.
49583         * lib/xstrtol.c: Likewise.
49584         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
49585         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
49586
49587         * lib/addext.c (addext): Use assignment rather than cast, to avoid
49588         warnings on some platforms.
49589
49590         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
49591         arbitrarily.
49592
49593 2003-05-26  Jim Meyering  <jim@meyering.net>
49594
49595         Merge in a change from coreutils:
49596         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
49597         that is guaranteed to be `no'.  Use `no_such_member' to indicate
49598         that condition, rather than `-1' which is slightly misleading.
49599         Change the name of the cache variable to have the gl_ prefix.
49600         Prompted by a patch from Richard Dawe for DJGPP.
49601
49602 2003-05-24  Karl Berry  <karl@gnu.org>
49603
49604         * config/config.guess: update from prep.
49605
49606 2003-05-22  Karl Berry  <karl@gnu.org>
49607
49608         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
49609
49610 2003-05-20  Karl Berry  <karl@gnu.org>
49611
49612         * config/config.guess: update from prep.
49613
49614 2003-05-18  Karl Berry  <karl@gnu.org>
49615
49616         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
49617         might actually be set by the user.
49618
49619         * config/depcomp, install-sh, mdate-sh: update from automake.
49620
49621 2003-05-17  Bruno Haible  <bruno@clisp.org>
49622
49623         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
49624         invalid expansion for AC_EGREP_CPP.
49625         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
49626         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
49627         Suggested by Akim Demaille <akim@epita.fr> in
49628         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
49629
49630 2003-05-12  Jim Meyering  <jim@meyering.net>
49631
49632         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
49633         the space-padded-by-default conversion specifiers, %e, %k, %l.
49634
49635 2003-05-12  Bruno Haible  <bruno@clisp.org>
49636
49637         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
49638         the string is longer than 4 KB.
49639
49640 2003-05-11  Karl Berry  <karl@gnu.org>
49641
49642         * config/config.{guess,sub}: update from prep.
49643
49644 2003-05-09  Bruno Haible  <bruno@clisp.org>
49645
49646         * modules/error: Add m4/strerror_r.m4 to file list.
49647
49648 2003-05-03  Bruno Haible  <bruno@clisp.org>
49649
49650         Upgrade to Unicode-4.0.
49651         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
49652         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
49653         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
49654         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
49655         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
49656         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
49657         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
49658         Change width of U+E0100..U+E01EF from 1 to 0.
49659
49660 2003-04-25  Jim Meyering  <jim@meyering.net>
49661
49662         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
49663         of type size_t, not int.
49664
49665 2003-04-25  Bruno Haible  <bruno@clisp.org>
49666
49667         * lib/copy-file.c: Include <stddef.h>, for size_t.
49668
49669 2003-04-21  Paul Eggert  <eggert@twinsun.com>
49670
49671         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
49672         code which expansion is under static control.  Patch imported from
49673         Akim Demaille's patch to Bison; see
49674         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
49675
49676 2003-04-14  Bruno Haible  <bruno@clisp.org>
49677
49678         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
49679
49680 2003-04-11  Jim Meyering  <jim@meyering.net>
49681
49682         Merge changes from Coreutils.
49683
49684         2003-03-22  Jim Meyering  <jim@meyering.net>
49685
49686         * lib/strftime.c (widen): Cast alloca return value to proper type.
49687
49688         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
49689
49690         From GNU libc.
49691         * lib/strftime.c (my_strftime): Handle very large width
49692         specifications for numeric values correctly.  Improve checks for
49693         overflow.
49694
49695         2003-01-19  Jim Meyering  <jim@meyering.net>
49696
49697         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
49698         definitions.
49699         (nl_get_alt_digit) [! defined my_strftime]: Define.
49700         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
49701         _nl_get_alt_digit and _nl_get_walt_digit.
49702
49703         * lib/strftime.c (my_strftime): Merge in locale-related changes from
49704         libc. These changes have no effect outside of _LIBC.
49705
49706 2003-04-10  Bruno Haible  <bruno@clisp.org>
49707
49708         * modules/findprog: New file.
49709         * MODULES.html.sh (func_all_modules): Add it.
49710
49711 2003-04-10  Bruno Haible  <bruno@clisp.org>
49712
49713         * m4/findprog.m4: New file.
49714         * m4/eaccess.m4: New file.
49715
49716 2003-04-10  Bruno Haible  <bruno@clisp.org>
49717
49718         * lib/findprog.h: New file, from GNU gettext.
49719         * lib/findprog.c: New file, from GNU gettext.
49720
49721 2003-04-05  Jim Meyering  <jim@meyering.net>
49722
49723         Merge changes from Coreutils.
49724
49725         * lib/exclude.h (PARAMS): Remove definition and uses.
49726         * lib/exclude.c: Remove uses of `PARAMS'.
49727
49728         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
49729         Add test-cases for DOS filenames. Declare program_name.
49730         (main): Set up program_name.  Patch by Rich Dawe.
49731
49732         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
49733         error from mntctl.
49734         Use mntctl's return value to drive the entry-processing loop, since
49735         we can't rely on the value of the vmt_length member in the last
49736         entry.  On some systems doing so could result in exhausting
49737         virtual memory.  Based in part on a patch from Mike Jetzer.
49738
49739 2003-04-04  Bruno Haible  <bruno@clisp.org>
49740
49741         * modules/linebreak: New file.
49742         * MODULES.html.sh (func_all_modules): Add it.
49743
49744 2003-04-04  Bruno Haible  <bruno@clisp.org>
49745
49746         * m4/linebreak.m4: New file.
49747
49748 2003-04-04  Bruno Haible  <bruno@clisp.org>
49749
49750         * lib/linebreak.h: New file, from GNU gettext.
49751         * lib/linebreak.c: New file, from GNU gettext with slight
49752         modifications.
49753         * lib/lbrkprop.h: New file, from GNU gettext.
49754
49755 2003-04-03  Bruno Haible  <bruno@clisp.org>
49756
49757         * modules/utf8-ucs4: New file.
49758         * modules/utf16-ucs4: New file.
49759         * modules/ucs4-utf8: New file.
49760         * modules/ucs4-utf16: New file.
49761         * MODULES.html.sh (func_all_modules): Add them.
49762
49763 2003-04-03  Bruno Haible  <bruno@clisp.org>
49764
49765         * m4/utf-ucs4.m4: New file.
49766         * m4/ucs4-utf.m4: New file.
49767
49768 2003-04-03  Bruno Haible  <bruno@clisp.org>
49769
49770         * lib/utf8-ucs4.h: New file, from GNU gettext.
49771         * lib/utf16-ucs4.h: New file, from GNU gettext.
49772         * lib/ucs4-utf8.h: New file, from GNU gettext.
49773         * lib/ucs4-utf16.h: New file, from GNU gettext.
49774
49775 2003-04-02  Bruno Haible  <bruno@clisp.org>
49776
49777         * modules/binary-io: New file.
49778         * MODULES.html.sh (func_all_modules): Add it.
49779
49780 2003-04-02  Bruno Haible  <bruno@clisp.org>
49781
49782         * lib/binary-io.h: New file, from GNU gettext.
49783
49784 2003-04-01  Bruno Haible  <bruno@clisp.org>
49785
49786         * modules/pathname: New file.
49787         * MODULES.html.sh (func_all_modules): Add it.
49788
49789 2003-04-01  Bruno Haible  <bruno@clisp.org>
49790
49791         * lib/pathname.h: New file, from GNU gettext.
49792         * lib/concatpath.c: New file, from GNU gettext.
49793
49794 2003-03-30  Bruno Haible  <bruno@clisp.org>
49795
49796         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
49797
49798 2003-03-30  Bruno Haible  <bruno@clisp.org>
49799
49800         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
49801         function chown() doesn't exist.
49802
49803 2003-03-28  Bruno Haible  <bruno@clisp.org>
49804
49805         * modules/copy-file: New file.
49806         * MODULES.html.sh (func_all_modules): Add it.
49807
49808 2003-03-28  Bruno Haible  <bruno@clisp.org>
49809
49810         * m4/copy-file.m4: New file.
49811
49812 2003-03-28  Bruno Haible  <bruno@clisp.org>
49813
49814         * lib/copy-file.h: New file, from GNU gettext.
49815         * lib/copy-file.c: New file, from GNU gettext.
49816
49817 2003-03-18  Jim Meyering  <jim@meyering.net>
49818
49819         * lib/quote.c (quote_n): Fix typo in comment.
49820
49821 2003-03-18  Bruno Haible  <bruno@clisp.org>
49822
49823         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
49824         checking.
49825         * m4/onceonly_2_57.m4: Likewise.
49826
49827 2003-03-17  Bruno Haible  <bruno@clisp.org>
49828
49829         * m4/onceonly.m4: Require autoconf 2.54 or newer.
49830         (m4_quote): Remove macro.
49831         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
49832
49833 2003-03-14  Jim Meyering  <jim@meyering.net>
49834
49835         Merge changes from Coreutils.
49836         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
49837         to be const, in order to avoid warnings.
49838         (obstack_room): Likewise.
49839         (obstack_empty_p): Likewise.
49840
49841 2003-03-14  Bruno Haible  <bruno@clisp.org>
49842
49843         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
49844         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
49845
49846 2003-03-13  Paul Eggert  <eggert@twinsun.com>
49847
49848         Merge changes from Bison.
49849         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
49850         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
49851         when compiling Bison 1.875's `bitset bset = obstack_alloc
49852         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
49853         * lib/hash.c: Include <stdbool.h> unconditionally.
49854
49855 2003-03-13  Paul Eggert  <eggert@twinsun.com>
49856
49857         * m4/onceonly.m4 (m4_quote): New macro.
49858         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
49859         Quote AC_FOREACH variable-expansions properly.
49860
49861 2003-03-13  Paul Eggert  <eggert@twinsun.com>
49862
49863         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
49864
49865 2003-03-09  Paul Eggert  <eggert@twinsun.com>
49866
49867         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
49868         Reported by Bruce Becker; see:
49869         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
49870
49871 2003-03-03  Paul Eggert  <eggert@twinsun.com>
49872             Bruno Haible  <bruno@clisp.org>
49873
49874         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
49875         Reported by John Hughes, see
49876         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
49877
49878 2003-02-20  Bruno Haible  <bruno@clisp.org>
49879
49880         * MODULES.html.sh (func_all_modules): Add poll.
49881
49882 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
49883
49884         * modules/poll: New file.
49885
49886 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
49887
49888         * lib/poll_.h: New file.
49889         * lib/poll.c: New file.
49890
49891 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
49892
49893         * m4/poll.m4: New file.
49894
49895 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
49896
49897         * modules/mathl: New file.
49898
49899 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
49900
49901         * lib/mathl.h: New file.
49902         * lib/acosl.c: New file.
49903         * lib/asinl.c: New file.
49904         * lib/atanl.c: New file.
49905         * lib/ceill.c: New file.
49906         * lib/cosl.c: New file.
49907         * lib/expl.c: New file.
49908         * lib/floorl.c: New file.
49909         * lib/frexpl.c: New file.
49910         * lib/ldexpl.c: New file.
49911         * lib/logl.c: New file.
49912         * lib/sincosl.c: New file.
49913         * lib/sinl.c: New file.
49914         * lib/sqrtl.c: New file.
49915         * lib/tanl.c: New file.
49916         * lib/trigl.c: New file.
49917         * lib/trigl.h: New file.
49918
49919 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
49920
49921         * m4/mathl.m4: New file.
49922
49923 2003-02-18  Bruno Haible  <bruno@clisp.org>
49924
49925         * MODULES.html.sh (func_all_modules): Add mathl.
49926
49927 2003-02-17  Bruno Haible  <bruno@clisp.org>
49928
49929         * modules/mkdtemp: New module.
49930         * MODULES.html.sh (func_all_modules): Add it.
49931
49932 2003-02-17  Bruno Haible  <bruno@clisp.org>
49933
49934         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
49935
49936 2003-02-17  Bruno Haible  <bruno@clisp.org>
49937
49938         * lib/mkdtemp.h: New file, from GNU gettext.
49939         * lib/mkdtemp.c: New file, from GNU gettext.
49940
49941 2003-02-02  Jim Meyering  <jim@meyering.net>
49942
49943         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
49944         e.g. glibc-2.2.93.
49945
49946 2003-01-31  Bruno Haible  <bruno@clisp.org>
49947
49948         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
49949         'rpl_rename'.
49950         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
49951         'rpl_strnlen'.
49952         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
49953         'rpl_strtod'.
49954         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
49955         'rpl_utime'.
49956
49957 2003-01-31  Bruno Haible  <bruno@clisp.org>
49958
49959         * lib/rename.c: #undef rename before defining rpl_rename.
49960         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
49961
49962 2003-01-30  Bruno Haible  <bruno@clisp.org>
49963
49964         * modules/vasnprintf, modules/vasprintf: New modules.
49965         * MODULES.html.sh (func_all_modules): Add them.
49966
49967 2003-01-30  Bruno Haible  <bruno@clisp.org>
49968
49969         * m4/signed.m4: New file, from GNU gettext.
49970         * m4/longdouble.m4: New file, from GNU gettext.
49971         * m4/wchar_t.m4: New file, from GNU gettext.
49972         * m4/wint_t.m4: New file, from GNU gettext.
49973         * m4/vasnprintf.m4: New file.
49974         * m4/vasprintf.m4: New file.
49975
49976 2003-01-30  Bruno Haible  <bruno@clisp.org>
49977
49978         * lib/printf-args.h: New file, from GNU gettext.
49979         * lib/printf-args.c: New file, from GNU gettext.
49980         * lib/printf-parse.h: New file, from GNU gettext.
49981         * lib/printf-parse.c: New file, from GNU gettext.
49982         * lib/vasnprintf.h: New file, from GNU gettext.
49983         * lib/vasnprintf.c: New file, from GNU gettext.
49984         * lib/asnprintf.c: New file, from GNU gettext.
49985         * lib/vasprintf.h: New file, from GNU gettext with modifications.
49986         * lib/vasprintf.c: New file, from GNU gettext.
49987         * lib/asprintf.c: New file, from GNU gettext.
49988
49989 2003-01-29  Bruno Haible  <bruno@clisp.org>
49990
49991         * modules/stpncpy: New module.
49992         * MODULES.html.sh (func_all_modules): Add it.
49993
49994 2003-01-29  Bruno Haible  <bruno@clisp.org>
49995
49996         * m4/stpncpy.m4: New file.
49997
49998 2003-01-29  Bruno Haible  <bruno@clisp.org>
49999
50000         * lib/stpncpy.h: New file, from GNU gettext with modifications.
50001         * lib/stpncpy.c: New file, from GNU gettext with modifications.
50002
50003 2003-01-28  Bruno Haible  <bruno@clisp.org>
50004
50005         * modules/c-ctype: New module.
50006         * MODULES.html.sh (func_all_modules): Add it.
50007
50008 2003-01-28  Bruno Haible  <bruno@clisp.org>
50009
50010         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
50011         Paul Eggert.
50012         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
50013         Paul Eggert.
50014
50015 2003-01-27  Bruno Haible  <bruno@clisp.org>
50016
50017         * modules/xsetenv: New module.
50018         * MODULES.html.sh (func_all_modules): Add it.
50019
50020 2003-01-27  Bruno Haible  <bruno@clisp.org>
50021
50022         * lib/xsetenv.h: New file, from GNU gettext.
50023         * lib/xsetenv.c: New file, from GNU gettext.
50024
50025 2003-01-23  Jim Meyering  <jim@meyering.net>
50026
50027         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
50028         from working on systems without dirfd (at least Irix and OSF1/Tru64).
50029
50030 2003-01-23  Bruno Haible  <bruno@clisp.org>
50031
50032         * modules/minmax: New module.
50033         * MODULES.html.sh (func_all_modules): Add it.
50034
50035 2003-01-23  Bruno Haible  <bruno@clisp.org>
50036
50037         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
50038         Eggert.
50039
50040 2003-01-22  Bruno Haible  <bruno@clisp.org>
50041
50042         * modules/exit: New module.
50043         * MODULES.html.sh (func_all_modules): Add it.
50044
50045 2003-01-22  Bruno Haible  <bruno@clisp.org>
50046
50047         * lib/exit.h: New file, from GNU gettext.
50048
50049 2003-01-19  Bruno Haible  <bruno@clisp.org>
50050
50051         * gnulib-tool: Recognize option --extract-maintainer.
50052         (func_get_maintainer): New function.
50053         * modules/*: Add Maintainer entry.
50054
50055 2003-01-16  Jim Meyering  <jim@meyering.net>
50056
50057         * m4/regex.m4: The `regex' struct is both input and output.
50058         Initialize it before each use.  Patch by Tim Waugh.
50059
50060 2003-01-16  Bruno Haible  <bruno@clisp.org>
50061
50062         * MODULES.html.sh: Add a table of contents. Add the module name as
50063         leftmost column. Add hyperlinks.
50064
50065 2003-01-15  Bruno Haible  <bruno@clisp.org>
50066
50067         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
50068
50069 2003-01-15  Bruno Haible  <bruno@clisp.org>
50070
50071         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
50072         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
50073         suffix.
50074
50075 2003-01-15  Bruno Haible  <bruno@clisp.org>
50076
50077         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
50078
50079 2003-01-15  Bruno Haible  <bruno@clisp.org>
50080
50081         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
50082         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
50083
50084 2003-01-14  Jim Meyering  <jim@meyering.net>
50085
50086         * lib/same.c (same_name): Tweak a comment.
50087
50088 2003-01-14  Bruno Haible  <bruno@clisp.org>
50089
50090         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
50091         when a string comparison is sufficient.
50092
50093 2003-01-14  Bruno Haible  <bruno@clisp.org>
50094
50095         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
50096         'unsigned int'.
50097
50098 2003-01-14  Bruno Haible  <bruno@clisp.org>
50099
50100         * lib/hash-pjw.c: Add comment about low quality of this function.
50101
50102 2003-01-13  Bruno Haible  <bruno@clisp.org>
50103
50104         * modules/stpcpy: Distribute lib/stpcpy.h.
50105         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
50106
50107 2003-01-13  Bruno Haible  <bruno@clisp.org>
50108
50109         * modules/*: Add a description.
50110         * modules/strpbrk: Fix Makefile.am snippet.
50111         * modules/strtoimax: Fix dependencies.
50112         * modules/strtoumax: Likewise.
50113
50114 2003-01-13  Bruno Haible  <bruno@clisp.org>
50115
50116         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
50117         * modules/alloca (Makefile.am): All object files depend on alloca.h.
50118         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
50119
50120 2003-01-13  Bruno Haible  <bruno@clisp.org>
50121
50122         * gnulib-tool (func_create_testdir): Store config/* files in the main
50123         directory.
50124         * config.rpath: Move to ...
50125         * config/config.rpath: ... here.
50126         * modules/gettext: Contains config/config.rpath, not config.rpath.
50127         * modules/iconv: Likewise.
50128
50129 2003-01-12  Paul Eggert  <eggert@twinsun.com>
50130
50131         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
50132         to avoid collisions with libcurses and libreadline.
50133
50134         * m4/getstr.m4: Remove.
50135         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
50136
50137 2003-01-12  Paul Eggert  <eggert@twinsun.com>
50138
50139         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
50140         to avoid collisions with libcurses and libreadline.
50141
50142         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
50143         * lib/getstr.h, getstr.c: Remove.
50144         * lib/getline.c: Include "getline.h", to check interface.
50145         Move body of old getstr.c here: this defines MIN_CHUNK and
50146         declares getdelim2, which is renamed from getstr.
50147         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
50148
50149         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
50150         All uses changed.
50151         * lib/linebuffer.h: Likewise.
50152         (readline): Remove backward-compatibility macro.
50153
50154 2003-01-12  Paul Eggert  <eggert@twinsun.com>
50155
50156         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
50157         to avoid collisions with libcurses and libreadline.
50158         * getstr: Remove.
50159         * MODULES.html.sh: Remove getstr.
50160         * modules/getline: Depend on unlocked-io, not getstr.
50161
50162 2003-01-12  Jim Meyering  <jim@meyering.net>
50163
50164         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
50165
50166 2003-01-10  Bruno Haible  <bruno@clisp.org>
50167
50168         * modules/alloca: Change Makefile.am requirements. Simplify Include
50169         requirements. Add lib/alloca_.h to file list.
50170
50171 2003-01-10  Bruno Haible  <bruno@clisp.org>
50172
50173         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
50174
50175 2003-01-10  Bruno Haible  <bruno@clisp.org>
50176
50177         * lib/alloca_.h: New file.
50178         * lib/getdate.y: Unconditionally include alloca.h.
50179         * lib/makepath.c: Likewise.
50180         * lib/setenv.c: Likewise.
50181         * lib/userspec.c: Likewise.
50182
50183 2003-01-09  Karl Berry  <karl@gnu.org>
50184
50185         * MODULES.html.sh: include `dirname $0` in PATH, to find
50186         gnulib-tool.
50187
50188 2003-01-09  Bruno Haible  <bruno@clisp.org>
50189
50190         * modules/stdbool: Change configure.ac, Makefile.am requirements.
50191         Simplify Include requirements. Add lib/stdbool.h.in to file list.
50192
50193 2003-01-09  Bruno Haible  <bruno@clisp.org>
50194
50195         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
50196
50197 2003-01-09  Bruno Haible  <bruno@clisp.org>
50198
50199         * lib/stdbool.h.in: New file.
50200
50201 2003-01-09  Bruno Haible  <bruno@clisp.org>
50202
50203         * gnulib-tool (func_all_modules): Ignore files ending in ~.
50204         * MODULES.html.sh: Likewise.
50205
50206 2003-01-08  Jim Meyering  <jim@meyering.net>
50207
50208         * lib/full-write.c: Undefine and define-away `const' after inclusion
50209         of errno.h, not before.  Suggestion from Bruno Haible.
50210
50211 2003-01-08  Bruno Haible  <bruno@clisp.org>
50212
50213         * modules/full-read: Depend on full-write.
50214
50215 2003-01-08  Bruno Haible  <bruno@clisp.org>
50216
50217         * lib/safe-read.c: Include specification header first, to ensure its
50218         selfcontainedness.
50219         * lib/full-write.c: Likewise.
50220
50221 2003-01-07  Jim Meyering  <jim@meyering.net>
50222
50223         * lib/full-write.c: Rework so that it may serve to define full_read,
50224         too.
50225         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
50226
50227 2003-01-07  Bruno Haible  <bruno@clisp.org>
50228
50229         * lib/strtoimax.c: Include <stdint.h> as an alternative to
50230         <inttypes.h>.
50231         * lib/xstrtol.h: Likewise.
50232         * lib/xstrtoimax.c: Likewise.
50233         * lib/xstrtoumax.c: Likewise.
50234         * lib/human.h: Likewise.
50235
50236         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
50237         on systems that have <inttypes.h> but not <stdint.h>.
50238
50239 2003-01-07  Bruno Haible  <bruno@clisp.org>
50240
50241         * MODULES.html.sh: Add copyright notice.
50242         (missed_files): Omit CVS directory entries.
50243         (func_module): Make it work with sed-3.02.
50244         * MODULES.txt: Remove file.
50245
50246 2003-01-06  Jim Meyering  <jim@meyering.net>
50247
50248         * lib/version-etc.c: Update year in translatable copyright string.
50249
50250 2003-01-03  Karl Berry  <karl@gnu.org>
50251
50252         * config/config.{guess,sub}: update from prep.
50253
50254 2003-01-02  Karl Berry  <karl@gnu.org>
50255
50256         * doc/COPYING.DOC: belatedly updated to 1.2.
50257
50258 2003-01-01  Karl Berry  <karl@gnu.org>
50259
50260         * gnulib-tool (func_verify_module): report module name $module in
50261         error message, not $1.
50262         * gnulib-tool (create-testdir): don't complain if destdir couldn't
50263         be created, only if it doesn't exist.
50264         * gnulib-tool (last_checkin_date): don't expand the $Date here.
50265
50266 2002-12-31  Paul Eggert  <eggert@twinsun.com>
50267
50268         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
50269
50270 2002-12-31  Paul Eggert  <eggert@twinsun.com>
50271
50272         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
50273         memcmp if strcoll doesn't work.
50274
50275 2002-12-31  Bruno Haible  <bruno@clisp.org>
50276
50277         * lib/utime.c (utime_null): No need to call ftruncate if the file was
50278         nonempty.
50279
50280 2002-12-31  Bruno Haible  <bruno@clisp.org>
50281
50282         * lib/memcoll.c (STRCOLL): New macro.
50283         (memcoll): Use it.
50284
50285 2002-12-31  Bruno Haible  <bruno@clisp.org>
50286
50287         * lib/localcharset.h: New file.
50288         * lib/localcharset.c: Include it.
50289         * lib/unicodeio.c: Likewise.
50290
50291 2002-12-31  Bruno Haible  <bruno@clisp.org>
50292
50293         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
50294         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
50295
50296 2002-12-31  Bruno Haible  <bruno@clisp.org>
50297
50298         * lib/getline.h: Include <stddef.h>, for size_t.
50299
50300         * lib/unicodeio.h: Include <stddef.h>, for size_t.
50301         * lib/unicodeio.c: Don't include <stddef.h>.
50302
50303 2002-12-31  Bruno Haible  <bruno@clisp.org>
50304
50305         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
50306         HAVE_TM_ZONE.
50307
50308 2002-12-24  Karl Berry  <karl@gnu.org>
50309
50310         * config/config.guess: update from prep.
50311
50312 2002-12-24  Bruno Haible  <bruno@clisp.org>
50313
50314         General infrasructure.
50315         * m4/README: Rewritten.
50316         * m4/onceonly.m4: New file.
50317         * m4/onceonly_2_57.m4: New file.
50318
50319         Module atexit.
50320         * m4/atexit.m4: New file.
50321
50322         Module strtod.
50323         * m4/strtod.m4: New file.
50324
50325         Module strtol.
50326         * m4/strtol.m4: New file.
50327
50328         Module strtoul.
50329         * m4/strtoul.m4: New file.
50330
50331         Module memchr.
50332         * m4/memchr.m4: New file.
50333
50334         Module memcmp.
50335         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
50336         (jm_FUNC_MEMCMP): Invoke it.
50337
50338         Module memcpy.
50339         * m4/memcpy.m4: New file.
50340
50341         Module memmove.
50342         * m4/memmove.m4: New file.
50343
50344         Module memset.
50345         * m4/memset.m4: New file.
50346
50347         Module strcspn.
50348         * m4/strcspn.m4: New file.
50349
50350         Module strpbrk.
50351         * m4/strpbrk.m4: New file.
50352
50353         Module strstr.
50354         * m4/strstr.m4: New file.
50355
50356         Module strerror.
50357         * m4/strerror.m4: New file.
50358
50359         Module mktime.
50360         * m4/mktime.m4: Renamed from jm-mktime.m4.
50361         (gl_PREREQ_MKTIME): New macro.
50362         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
50363
50364         Module malloc.
50365         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
50366         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
50367         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
50368
50369         Module realloc.
50370         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
50371         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
50372         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
50373
50374         Module strftime.
50375         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
50376         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
50377         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
50378         gl_TM_GMTOFF.
50379         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
50380
50381         Module xalloc.
50382         * m4/xalloc.m4: New file.
50383
50384         Module alloca.
50385         * m4/alloca.m4: New file.
50386
50387         Module putenv.
50388         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
50389         (jm_FUNC_PUTENV): Invoke it.
50390
50391         Module setenv.
50392         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
50393         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
50394         when invoked twice.
50395         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
50396         gt_FUNC_SETENV.
50397
50398         Module memrchr.
50399         * m4/memrchr.m4: New file.
50400
50401         Module stpcpy.
50402         * m4/stpcpy.m4: New file.
50403
50404         Module strcase.
50405         * m4/strcase.m4: New file.
50406
50407         Module strdup.
50408         * m4/strdup.m4: New file.
50409
50410         Module strnlen.
50411         * m4/strnlen.m4: New file.
50412
50413         Module strndup.
50414         * m4/strndup.m4: New file.
50415
50416         Module xstrtod.
50417         * m4/xstrtod.m4: New file.
50418
50419         Module xstrtol.
50420         * m4/xstrtol.m4: New file.
50421
50422         Module getdate.
50423         * m4/getdate.m4: New file.
50424
50425         Module unlocked-io.
50426         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
50427         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
50428         * m4/jm-glibc-io.m4n: Remove file.
50429
50430         Module long-options.
50431         * m4/long-options.m4: New file.
50432
50433         Module md5.
50434         * m4/md5.m4: New file.
50435
50436         Module sha.
50437         * m4/sha.m4: New file.
50438
50439         Module getstr.
50440         * m4/getstr.m4: New file.
50441
50442         Module getline.
50443         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
50444         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
50445         <sys/types.h>, for size_t. Use the function name gnu_getline, not
50446         simply getline. Infoke gl_PREREQ_GETLINE.
50447
50448         Module obstack.
50449         * m4/obstack.m4: New file.
50450
50451         Module hash.
50452         * m4/hash.m4: New file.
50453
50454         Module readtokens.
50455         * m4/readtokens.m4: New file.
50456
50457         Module strverscmp.
50458         * m4/strverscmp.m4: New file.
50459
50460         Module stdbool.
50461         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
50462         OSF/1.
50463
50464         Module strtoll.
50465         * m4/strtoll.m4: New file.
50466
50467         Module strtoull.
50468         * m4/strtoull.m4: New file.
50469
50470         Module strtoimax.
50471         * m4/strtoimax.m4: New file.
50472
50473         Module strtoumax.
50474         * m4/strtoumax.m4: New file.
50475
50476         Module xstrtoimax.
50477         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
50478         jm_AC_PREREQ_XSTRTOIMAX.
50479         Moved the strtol prerequisites to strtol.m4.
50480         Moved the strtoll prerequisites to strtoll.m4.
50481         Moved the strtoimax prerequisites to strtoimax.m4.
50482
50483         Module xstrtoumax.
50484         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
50485         jm_AC_PREREQ_XSTRTOUMAX.
50486         Moved the strtoul prerequisites to strtoul.m4.
50487         Moved the strtoull prerequisites to strtoull.m4.
50488         Moved the strtoumax prerequisites to strtoumax.m4.
50489
50490         Module chown.
50491         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
50492         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
50493
50494         Module dup2.
50495         * m4/dup2.m4: New file.
50496
50497         Module ftruncate.
50498         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
50499         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
50500
50501         Module getgroups.
50502         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
50503         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
50504
50505         Module gettimeofday.
50506         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
50507         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
50508         gl_PREREQ_GETTIMEOFDAY.
50509
50510         Module mkdir.
50511         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
50512         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
50513
50514         Module mkstemp.
50515         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
50516         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
50517         jm_AC_TYPE_UINTMAX_T.
50518         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
50519
50520         Module stat.
50521         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
50522         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
50523
50524         Module lstat.
50525         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
50526         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
50527
50528         Module timespec.
50529         * m4/timespec.m4 (gl_TIMESPEC): New macro.
50530         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
50531         * m4/st_mtim.m4: Indentation.
50532
50533         Module nanosleep.
50534         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
50535         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
50536         gl_PREREQ_NANOSLEEP.
50537
50538         Module regex.
50539         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
50540         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
50541         (gl_REGEX): New macro.
50542
50543         Module rename.
50544         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
50545         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
50546
50547         Module rmdir.
50548         * m4/rmdir.m4: New file.
50549
50550         Module utime.
50551         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
50552         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
50553         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
50554
50555         Module dirname.
50556         * m4/dirname.m4: New file.
50557
50558         Module getopt.
50559         * m4/getopt.m4: New file.
50560
50561         Module unistd-safer.
50562         * m4/unistd-safer.m4: New file.
50563
50564         Module fnmatch.
50565         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
50566         declaration.
50567         (gl_PREREQ_FNMATCH_EXTRA): New macro.
50568         (gl_FUNC_FNMATCH_POSIX): New macro.
50569         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
50570         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
50571         simply fnmatch.
50572
50573         Module exclude.
50574         * m4/exclude.m4: New file.
50575
50576         Module human.
50577         * m4/human.m4: New file.
50578
50579         Module acl.
50580         * m4/acl.m4: Nop.
50581
50582         Module backupfile.
50583         * m4/backupfile.m4: New file.
50584         * m4/d-ino.m4: Indentation.
50585
50586         Module fsusage.
50587         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
50588         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
50589         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
50590
50591         Module dirfd.
50592         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
50593         requirements.
50594
50595         Module euidaccess.
50596         * m4/euidaccess.m4: New file.
50597
50598         Module file-type.
50599         * m4/file-type.m4: New file.
50600
50601         Module fileblocks.
50602         * m4/fileblocks.m4: New file.
50603
50604         Module filemode.
50605         * m4/filemode.m4: New file.
50606
50607         Module isdir.
50608         * m4/isdir.m4: New file.
50609
50610         Module lchown.
50611         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
50612         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
50613
50614         Module makepath.
50615         * m4/makepath.m4: New file.
50616
50617         Module modechange.
50618         * m4/modechange.m4: New file.
50619
50620         Module mountlist.
50621         * m4/mountlist.m4: New file.
50622         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
50623         Indentation.
50624
50625         Module path-concat.
50626         * m4/path-concat.m4: New file.
50627
50628         Module pathmax.
50629         * m4/pathmax.m4: New file.
50630
50631         Module same.
50632         * m4/same.m4: New file.
50633
50634         Module save-cwd.
50635         * m4/save-cwd.m4: New file.
50636
50637         Module savedir.
50638         * m4/savedir.m4: New file.
50639
50640         Module xgetcwd.
50641         * m4/xgetcwd.m4: New file.
50642         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
50643
50644         Module xreadlink.
50645         * m4/xreadlink.m4: New file.
50646
50647         Module safe-read.
50648         * m4/safe-read.m4: New file.
50649
50650         Module safe-write.
50651         * m4/safe-write.m4: New file.
50652
50653         Module closeout.
50654         * m4/closeout.m4: New file.
50655
50656         Module stdio-safer.
50657         * m4/stdio-safer.m4: New file.
50658
50659         Module getpass.
50660         * m4/getpass.m4: New file.
50661
50662         Module getugroups.
50663         * m4/getugroups.m4: New file.
50664
50665         Module group-member.
50666         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
50667         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
50668
50669         Module idcache.
50670         * m4/idcache.m4: New file.
50671
50672         Module userspec.
50673         * m4/userspec.m4: New file.
50674
50675         Module gettime.
50676         * m4/clock_time.m4: New file.
50677         * m4/gettime.m4: New file.
50678
50679         Module settime.
50680         * m4/settime.m4: New file.
50681
50682         Module posixtm.
50683         * m4/posixtm.m4: New file.
50684
50685         Module gethostname.
50686         * m4/gethostname.m4: New file.
50687
50688         Module canon-host.
50689         * m4/canon-host.m4: New file.
50690
50691         Module gettext.
50692         * m4/codeset.m4: New file, from gettext-0.11.5.
50693         * m4/gettext.m4: New file, from gettext-0.11.5.
50694         * m4/glibc21.m4: New file, from gettext-0.11.5.
50695         * m4/iconv.m4: New file, from gettext-0.11.5.
50696         * m4/intdiv0.m4: New file, from gettext-0.11.5.
50697         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
50698         * m4/inttypes.m4: New file, from gettext-0.11.5.
50699         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
50700         * m4/isc-posix.m4: New file, from gettext-0.11.5.
50701         * m4/lcmessage.m4: New file, from gettext-0.11.5.
50702         * m4/lib-ld.m4: New file, from gettext-0.11.5.
50703         * m4/lib-link.m4: New file, from gettext-0.11.5.
50704         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
50705         * m4/progtest.m4: New file, from gettext-0.11.5.
50706         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
50707         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
50708         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
50709
50710         Module localcharset.
50711         * m4/localcharset.m4: New file.
50712
50713         Module hard-locale.
50714         * m4/hard-locale.m4: New file.
50715
50716         Module mbswidth.
50717         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
50718         onceonly macros.
50719         * m4/mbrtowc.m4: Add comment.
50720
50721         Module memcasecmp.
50722         * m4/memcasecmp.m4: New file.
50723
50724         Module memcoll.
50725         * m4/memcoll.m4: New file.
50726
50727         Module unicodeio.
50728         * m4/unicodeio.m4: New file.
50729
50730         Module rpmatch.
50731         * m4/rpmatch.m4: New file.
50732
50733         Module yesno.
50734         * m4/yesno.m4: New file.
50735
50736         Module exitfail.
50737         * m4/exitfail.m4: New file.
50738
50739         Module c-stack.
50740         * m4/c-stack.m4 (gl_C_STACK): New macro.
50741         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
50742
50743         Module error.
50744         * m4/error.m4 (gl_ERROR): New macro.
50745         (jm_PREREQ_ERROR): Use onceonly macros.
50746
50747         Module fatal.
50748         * m4/fatal.m4: New file.
50749
50750         Module getloadavg.
50751         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
50752         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
50753
50754         Module getpagesize.
50755         * m4/getpagesize.m4: New file.
50756
50757         Module getusershell.
50758         * m4/getusershell.m4: New file.
50759
50760         Module physmem.
50761         * m4/physmem.m4: New file.
50762
50763         Module posixver.
50764         * m4/posixver.m4: New file.
50765
50766         Module quotearg.
50767         * m4/quotearg.m4: New file.
50768
50769         Module quote.
50770         * m4/quote.m4: New file.
50771
50772         Module readutmp.
50773         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
50774
50775         Module sig2str.
50776         * m4/sig2str.m4: New file.
50777
50778         Other.
50779         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
50780         ulonglong.m4.
50781         * m4/intmax_t.m4: New file.
50782         * m4/d-type.m4: Indentation.
50783         * m4/jm-macros.m4: Update.
50784         * m4/prereq.m4 (jm_PREREQ): Update.
50785         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
50786         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
50787         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
50788         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
50789         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
50790         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
50791         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
50792         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
50793         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
50794         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
50795         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
50796         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
50797         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
50798         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
50799         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
50800         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
50801         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
50802         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
50803         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
50804
50805 2002-12-24  Bruno Haible  <bruno@clisp.org>
50806
50807         * MODULES.txt: Update according to m4/ changes.
50808
50809         Module gettext.
50810         * config.rpath: New file, from gettext-0.11.5.
50811
50812         * modules/*: New module descriptions.
50813         * gnulib-tool: New file.
50814         * MODULES.html.sh: New file.
50815
50816 2002-12-21  Karl Berry  <karl@gnu.org>
50817
50818         * doc/fdl.texi: update to version 1.2.
50819
50820 2002-12-19  Karl Berry  <karl@gnu.org>
50821
50822         * config/config.guess: update from prep.
50823
50824 2002-12-18  Bruno Haible  <bruno@clisp.org>
50825
50826         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
50827         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
50828
50829 2002-12-17  Bruno Haible  <bruno@clisp.org>
50830
50831         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
50832         stdlib.h, string.h.
50833
50834 2002-12-17  Bruno Haible  <bruno@clisp.org>
50835
50836         * lib/canon-host.c (strdup): Remove unused declaration.
50837
50838         * lib/fsusage.c: Include full_read.h.
50839         (get_fs_usage): Use full_read instead of safe_read.
50840
50841         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
50842
50843 2002-12-12  Karl Berry  <karl@gnu.org>
50844
50845         * config/config.guess: update from prep.
50846
50847 2002-12-11  Bruno Haible  <bruno@clisp.org>
50848
50849         * m4/setenv.m4: New file, from gettext-0.11.5.
50850
50851 2002-12-11  Bruno Haible  <bruno@clisp.org>
50852
50853         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
50854         not unsetenv().
50855         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
50856         modifications:
50857
50858         2002-12-11  Bruno Haible  <bruno@clisp.org>
50859
50860                 * setenv.c (alloca): Fall back to malloc.
50861                 (freea): New macro.
50862                 (setenv): Use freea() to free memory allocated with alloca().
50863
50864         2002-11-13  Bruno Haible  <bruno@clisp.org>
50865
50866                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
50867                 function declarations.
50868                 * unsetenv.c (unsetenv): Likewise.
50869
50870         2002-03-04  Bruno Haible  <bruno@clisp.org>
50871
50872                 Portability to AIX 4.3.3.
50873                 * unsetenv.c: New file, extracted from setenv.c.
50874                 * setenv.c: Move the unsetenv() function to unsetenv.c.
50875
50876         2001-12-20  Bruno Haible  <bruno@clisp.org>
50877
50878                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
50879                 use malloc instead. For SunOS 4.
50880
50881         2001-12-11  Bruno Haible  <bruno@clisp.org>
50882
50883                 * setenv.c: Declare alloca.
50884                 (compar_fn_t): New typedef.
50885                 (KNOWN_VALUE, STORE_VALUE): Use it.
50886
50887         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
50888         setenv.h.
50889
50890 2002-12-10  Paul Eggert  <eggert@twinsun.com>
50891
50892         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
50893         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
50894         Choose values that are less likely to collide with system fnmatch
50895         options.
50896         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
50897         defined (e.g., a pure POSIX system).
50898         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
50899         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
50900
50901 2002-12-06  Paul Eggert  <eggert@twinsun.com>
50902
50903         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
50904         a pain in practice to deal with generated m4 files.  This change
50905         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
50906
50907         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
50908         and jm-glibc-io.m4, as they are no longer a special case.
50909         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
50910         kludge and the auto-generation stuff.  Check only whether the
50911         functions are declared, not whether they exist, since older hosts
50912         that don't declare the functions can't use the optimization anyway.
50913
50914 2002-12-06  Jim Meyering  <jim@meyering.net>
50915
50916         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
50917
50918         Merge in changes from libc's misc/error.c, in preparation
50919         for the merge of gnulib's changes back into libc.
50920
50921         * lib/error.c (_): Define only if not already defined.
50922         Move definition to follow all #include directives.
50923         Include unlocked-io.h only if !_LIBC.
50924         [_LIBC]: Include <libio/libioP.h>.
50925         [USE_IN_LIBIO]: Include <libio/iolibio.h>
50926         (fflush): Tweak definition to use INTUSE.
50927         (putc): Define.
50928
50929 2002-12-05  Paul Eggert  <eggert@twinsun.com>
50930
50931         * lib/alloca.c [defined emacs]: Include "lisp.h".
50932         (xalloc_die) [defined emacs]: New macro.
50933         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
50934         [! defined emacs]: Include <xalloc.h>.
50935         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
50936         (pointer): Typedef to POINTER_TYPE *.
50937         (malloc): Remove decl; we now always use xmalloc.
50938         (alloca): Use old-style definition, since Emacs needs this.
50939         Check for arithmetic overflow when computing combined size.
50940
50941 2002-12-04  Paul Eggert  <eggert@twinsun.com>
50942
50943         Do not generate unlocked-io.h automatically, since it's easier to
50944         maintain it by hand.
50945
50946         * lib/unlocked-io.h: New file, from GNU diffutils,
50947         but with proper copyright notice and attribution.
50948         * lib/gen-uio: Remove.
50949         * lib/Makefile.am: Add copyright notice.
50950         (libfetish_a_SOURCES): Add unlocked-io.h.
50951         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
50952         (DISTCLEANFILES, io_functions): Remove macros.
50953         (EXTRA_DIST): Remove gen_uio.
50954         (unlocked-io.h): Remove rule.
50955
50956 2002-12-04  Jim Meyering  <jim@meyering.net>
50957
50958         Reflect the fact that stat.c and lstat.c are no longer generated.
50959         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
50960         (DISTCLEANFILES): Likewise.
50961         (EXTRA_DIST): Likewise.
50962         (all_local): Don't depend on stat.c or lstat.c.
50963         (stat.c, lstat.c): Remove rules.
50964         (EXTRA_DIST): Remove xstat.in.
50965
50966         * lib/xstat.in: Remove file.  Contents moved into stat.c.
50967         * lib/stat.c: New file.  Contents mostly from xstat.in.
50968         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
50969         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
50970
50971         * lib/safe-read.c: Rework so that it may serve to define safe_write,
50972         too.
50973         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
50974
50975 2002-12-03  Jim Meyering  <jim@meyering.net>
50976
50977         * lib/safe-read.c, safe-write.c: Change variable names and comments,
50978         but not semantics, to minimize the differences between these two files.
50979         (safe_read): Change comment to mention SAFE_READ_ERROR.
50980
50981         * lib/safe-read.c (IS_EINTR): Define.
50982         (safe_read): Use IS_EINTR in place of in-function cpp directives.
50983
50984 2002-12-02  Jim Meyering  <jim@meyering.net>
50985
50986         * lib/safe-read.c (EINTR): Define.
50987         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
50988         (INT_MAX): Provide fallback.
50989         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
50990
50991         * lib/safe-read.h (SAFE_READ_ERROR): Define.
50992
50993 2002-12-02  Bruno Haible  <bruno@clisp.org>
50994
50995         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
50996         Define, taken from safe-read.c.
50997         (INT_MAX): Provide fallback.
50998         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
50999         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
51000
51001         * lib/safe-read.c (EINTR): Remove definition.
51002         (safe_read): Don't use EINTR if it is absent.
51003
51004 2002-12-01  Jim Meyering  <jim@meyering.net>
51005
51006         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
51007         zero.
51008         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
51009
51010 2002-11-27  Paul Eggert  <eggert@twinsun.com>
51011
51012         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
51013         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
51014         with `if (! (value < limit)) abort ();', for readability.
51015
51016 2002-11-26  Karl Berry  <karl@gnu.org>
51017
51018         * lib/strdup.c: copy from libc again, with jim's ok.
51019         * lib/.cppi-disable: re-add strdup.c
51020
51021 2002-11-25  Karl Berry  <karl@gnu.org>
51022
51023         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
51024         instead of "strtol.c".
51025
51026 2002-11-25  Karl Berry  <karl@gnu.org>
51027
51028         * config/install-sh: update from automake for variable quoting, $0 in
51029         error msgs, etc.
51030
51031         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
51032         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
51033         entry.
51034
51035 2002-11-25  Jim Meyering  <jim@meyering.net>
51036
51037         * lib/mktime.c: Sync from libc, now that it has the latest fix.
51038
51039 2002-11-24  Karl Berry  <karl@gnu.org>
51040
51041         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
51042         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
51043
51044 2002-11-24  Jim Meyering  <jim@meyering.net>
51045
51046         Update from coreutils:
51047
51048         * lib/mktime.c: Merge in changes from libc.
51049
51050         Avoid a link-time failure on some Linux systems.
51051         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
51052         (otherwise).
51053         (__mon_yday): Declare with the STATIC attribute.
51054         (__mktime_internal): Likewise.
51055         Based on a report from Greg Schafer.
51056
51057 2002-11-23  Jim Meyering  <jim@meyering.net>
51058
51059         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
51060         Use `unsigned', not `int', as type of index.
51061
51062         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
51063
51064         * lib/fsusage.c: Remove unneeded parentheses around operands of
51065         `defined'.
51066
51067 2002-11-22  Paul Eggert  <eggert@twinsun.com>
51068
51069         * lib/quotearg.h: Allow multiple inclusion by surrounding with
51070         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
51071         so that we can be included first.
51072         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
51073         * lib/quotearg.c: Include quotearg.h immediately after config.h.
51074         No need to include stddef.h or sys/types.h any more.
51075         Surround local include files with "", not "<>".
51076         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
51077         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
51078         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
51079         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
51080         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
51081         (ISPRINT): Remove; no longer needed now that we assume C89.
51082
51083         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
51084         Preserve errno.
51085
51086         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
51087         quotearg_char): Use SIZE_MAX rather than
51088         (size_t) -1 when we are talking about "infinity".
51089
51090         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
51091
51092 2002-11-22  Paul Eggert  <eggert@twinsun.com>
51093
51094         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
51095         hint that one should use `if (! x) abort ();' rather than `assert
51096         (x);', and anyway it's one less thing to worry about configuring.
51097         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
51098         hash_rehash, hash_insert): Use abort rather than assert.
51099
51100 2002-11-22  Bruno Haible  <bruno@clisp.org>
51101
51102         * lib/safe-read.h: Assume C89. Add comments.
51103         (safe_read): Change return type to size_t.
51104         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
51105         byte counts > SSIZE_MAX correctly.
51106         * lib/safe-write.h: New file.
51107         * lib/safe-write.c: New file.
51108         * lib/full-read.h: New file.
51109         * lib/full-read.c: New file.
51110         * lib/full-write.h: Assume C89. Add comments.
51111         * lib/full-write.c: Include safe-write.h.
51112         (full_write): Rewritten to use safe_write.
51113         Suggested by Jim Meyering and Paul Eggert.
51114
51115 2002-11-21  Jim Meyering  <jim@meyering.net>
51116
51117         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
51118
51119         Merge in changes from the coreutils.
51120
51121         2002-09-25  Paul Eggert  <eggert@twinsun.com>
51122         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
51123         <stdint.h>.
51124         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
51125         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
51126         int.  Work more efficiently if X is the same width as uintmax_t.
51127         Do not compare X to -1, to avoid bogus compiler warning.
51128         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
51129         Don't assume that f_frsize and f_bsize are the same type.
51130
51131         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
51132         warning on FreeBSD.
51133
51134         * lib/makepath.c (make_path): Restore umask *before* creating the final
51135         component.
51136         (make_path): Minor reformatting.
51137
51138         * lib/xmalloc.c: Adjust to work with new autoconf macros,
51139         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
51140         HAVE_MALLOC/HAVE_REALLOC.
51141
51142         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
51143         dummy ones.  At least on GNU/Linux systems, `auto' means something
51144         else.
51145         From Michael Stone.
51146
51147 2002-11-21  Bruno Haible  <bruno@clisp.org>
51148
51149         Remove case insensitive option matching.
51150         * lib/argmatch.h (argcasematch): Remove declaration.
51151         (ARGCASEMATCH): Remove macro.
51152         (__xargmatch_internal): Remove case_sensitive argument.
51153         (XARGMATCH): Update.
51154         (XARGCASEMATCH): Remove macro.
51155         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
51156         case_sensitive argument.
51157         (argcasematch): Remove function.
51158         (__xargmatch_internal): Remove case_sensitive argument.
51159         (main): Use XARGMATCH instead of XARGCASEMATCH.
51160
51161         * lib/xmalloc.c: Change compile-time error message. Add comment about
51162         required autoconf version.
51163
51164 2002-11-20  Paul Eggert  <eggert@twinsun.com>
51165
51166         Merge argmatch cleanups from Bison.  Assume C89.
51167
51168         * lib/argmatch.c: Include config.h here, not in argmatch.h.
51169         Include stdlib.h, for EXIT_FAILURE.
51170         Always include <string.h>, since we assume C89.
51171         (EXIT_FAILURE): Remove pre-C89 bug workaround.
51172         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
51173         Include <stddef.h> instead, since it's all we need for size_t.
51174         (PARAMS): Remove.  All uses removed.
51175         (ARRAY_CARDINALITY): Do not bother to #undef.
51176         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
51177         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
51178         Remove unnecessary parentheses.
51179         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
51180         Insert necessary parentheses.
51181         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
51182         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
51183
51184 2002-11-19  Bruno Haible  <bruno@clisp.org>
51185
51186         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
51187         * lib/mbswidth.h: Include <stddef.h>, for size_t.
51188
51189         * lib/mbswidth.h (PARAMS): Remove macro.
51190         (mbswidth, mbsnwidth): Use ANSI C function declarations.
51191         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
51192
51193         * lib/gcd.h (PARAMS): Remove macro.
51194         (gcd): Use ANSI C function declarations.
51195         * lib/gcd.c (gcd): Likewise.
51196
51197 2002-11-15  Bruno Haible  <bruno@clisp.org>
51198
51199         * lib/strcspn.c: Include <stddef.h>.
51200         (strcspn): Use ANSI C function declaration. Change return type to
51201         size_t. Use NULL.
51202         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
51203         (strpbrk): Use NULL.
51204         * lib/strpbrk.h (PARAMS): Remove macro.
51205         (strpbrk): Use ANSI C function declaration.
51206         * lib/strstr.c: Don't include <sys/types.h>.
51207         * lib/strstr.h (PARAMS): Remove macro.
51208         (strstr): Use ANSI C function declarations.
51209
51210 2002-11-14  Karl Berry  <karl@gnu.org>
51211
51212         * config/mkinstalldirs: `do' on separate line, instead of
51213         `for var; do'.
51214
51215 2002-11-06  Bruno Haible  <bruno@clisp.org>
51216
51217         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
51218         * lib/gcd.c (gcd): Likewise.
51219
51220 2002-11-05  Bruno Haible  <bruno@clisp.org>
51221
51222         * lib/gcd.h: New file, from gettext-0.11.5.
51223         * lib/gcd.c: New file, from gettext-0.11.5.
51224
51225 2002-11-05  Bruno Haible  <bruno@clisp.org>
51226
51227         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
51228         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
51229         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
51230         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
51231
51232         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
51233         <libintl.h>.
51234         * lib/makepath.c: Include gettext.h instead of <locale.h> and
51235         <libintl.h>.
51236
51237         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
51238         * lib/human.c: Include gettext.h instead of <libintl.h>.
51239         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
51240         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
51241         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
51242         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
51243         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
51244         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
51245         (textdomain): Remove definition.
51246         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
51247
51248         * lib/long-options.c: Remove include of <libintl.h> and definition of
51249         _.
51250         * lib/same.c: Remove include of <libintl.h> and definition of _.
51251
51252 2002-11-04  Owen Taylor  <otaylor@redhat.com>
51253
51254         * lib/config.charset: A few additions for Solaris.
51255
51256 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
51257
51258         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
51259         * lib/localcharset.c (locale_charset): Declare as extern "C".
51260
51261 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
51262
51263         * lib/config.charset: msdos in uk_UA uses CP1125.
51264
51265 2002-11-04  Bruno Haible  <bruno@clisp.org>
51266
51267         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
51268         * lib/strcase.h: New file, from GNU gettext-0.11.5.
51269         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
51270         * lib/strstr.h: New file, from GNU gettext-0.11.5.
51271         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
51272
51273 2002-11-04  Bruno Haible  <bruno@clisp.org>
51274
51275         * lib/localcharset.c (locale_charset): Don't return an empty string.
51276
51277 2002-11-04  Bruno Haible  <bruno@clisp.org>
51278
51279         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
51280         aliases.
51281
51282 2002-11-04  Bruno Haible  <bruno@clisp.org>
51283
51284         * lib/config.charset: Update for newest glibc. Add canonical names
51285         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
51286
51287 2002-11-04  Bruno Haible  <bruno@clisp.org>
51288
51289         * lib/config.charset: Add support for NetBSD.
51290
51291 2002-11-04  Bruno Haible  <bruno@clisp.org>
51292
51293         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
51294
51295 2002-11-01  Bruno Haible  <bruno@clisp.org>
51296
51297         * configure.in: Add AC_CONFIG_AUX_DIR call.
51298         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
51299         test/Makefile.
51300         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
51301
51302 2002-09-28  Karl Berry  <karl@gnu.org>
51303
51304         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
51305         installed automake until the next release, since changes have been
51306         made.
51307
51308 2002-09-25  Karl Berry  <karl@gnu.org>
51309
51310         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
51311         * lib/getopt*: copy from libc/posix.
51312         * lib/gettext.h: copy from gettext.
51313         * lib/.cppi-disable: add strdup.c, gettext.h.
51314
51315 2002-09-25  Karl Berry  <karl@gnu.org>
51316
51317         * config/srclist.txt: enable gettext.h check.
51318         * config/config.{guess,sub}: update from prep.
51319         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
51320                 from automake 1.6.3.
51321         See srclist*.
51322
51323 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
51324
51325         * regex.c (PATFETCH): Remove the translating fetch.
51326         (PATFETCH_RAW): Rename to PATFETCH.
51327         (set_image_of_range): New fun.
51328         (SET_RANGE_TABLE_WORK_AREA): Use it.
51329         (regex_compile): Don't translate the pattern chars so eagerly.
51330         Only do it when inserting an `exactn' bytecode or when handling
51331         a char-range.
51332         (mutually_exclusive_p): Avoid empty statement.
51333
51334 2002-07-06  Jim Meyering  <meyering@lucent.com>
51335
51336         * m4/README: Don't mention Makefile.am.in.
51337         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
51338
51339 2002-07-01  Jim Meyering  <meyering@lucent.com>
51340
51341         * lib/c-stack.c: Include sys/time.h.
51342         From Volker Borchert.
51343
51344 2002-06-26  Paul Eggert  <eggert@twinsun.com>
51345
51346         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
51347
51348 2002-06-26  Paul Eggert  <eggert@twinsun.com>
51349
51350         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
51351         New macro.  Use it uniformly instead of
51352         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
51353         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
51354         reported by Vin Shelton.
51355
51356 2002-06-22  Paul Eggert  <eggert@twinsun.com>
51357
51358         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
51359         Do not assume SA_SIGINFO behavior.
51360         Bug reported by Jim Meyering on NetBSD 1.5.2.
51361
51362 2002-06-22  Jim Meyering  <meyering@lucent.com>
51363
51364         * m4/c-stack.m4: New file, from diffutils-2.8.2.
51365         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
51366
51367         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
51368         now that configure.ac uses AC_GNU_SOURCE.
51369         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
51370         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
51371
51372         Update to latest tools.  Suggestions from Paul Eggert.
51373         * m4/stdbool.m4: New file, from diffutils-2.8.2.
51374         * m4/gnu-source.m4: Update from diffutils-2.8.2.
51375         * m4/fnmatch.m4: Likewise.
51376         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
51377         to AC_HEADER_STDBOOL
51378
51379 2002-06-22  Jim Meyering  <meyering@lucent.com>
51380
51381         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
51382         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
51383
51384 2002-06-22  Jim Meyering  <meyering@lucent.com>
51385
51386         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
51387
51388         * lib/exitfail.c, exitfail.h: Likewise.
51389         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
51390
51391         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
51392         of fnmatch.h.
51393         (EXTRA_DIST): Add fnmatch_loop.c.
51394         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
51395
51396         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
51397         * lib/fnmatch.c: Update from diffutils-2.8.2.
51398         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
51399         * lib/fnmatch.h: Remove file.
51400
51401 2002-06-21  Jim Meyering  <meyering@lucent.com>
51402
51403         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
51404         * m4/mbrtowc.m4: Likewise.
51405
51406         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
51407         * m4/mbswidth.m4: Reflect name change:
51408         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
51409         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
51410
51411         * m4/lib-link.m4: Update from gettext-0.11.2.
51412         * m4/gettext.m4: Likewise.
51413
51414         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
51415         From Alfred M. Szmidt.
51416
51417 2002-06-18  Paul Eggert  <eggert@twinsun.com>
51418
51419         * lib/file-type.h: Report an error if neither S_ISREG nor
51420         S_IFREG is defined, instead of using a test specific to glibc
51421         2.2.  This should be safe, since POSIX requires S_ISREG and
51422         Unix Version 7 had S_IFREG.  We don't need to check for
51423         <sys/types.h> since we don't use any symbols that it defines.
51424
51425 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
51426
51427         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
51428         $@-t, so that each temporary file name is unique and valid in the first
51429         8 characters, for operation under DOS.
51430
51431 2002-06-15  Paul Eggert  <eggert@twinsun.com>
51432
51433         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
51434
51435 2002-06-15  Jim Meyering  <meyering@lucent.com>
51436
51437         Work even with DJGPP 2.03, which lacks support for symlinks.
51438         From Richard Dawe.
51439         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
51440         is defined.
51441         * lib/lchown.c (S_ISLNK): Likewise.
51442
51443 2002-06-15  Jim Meyering  <meyering@lucent.com>
51444
51445         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
51446         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
51447         have been included before this file.
51448
51449 2002-06-14  Jim Meyering  <meyering@lucent.com>
51450
51451         * lib/file-type.h: Use the version from diffutils-2.8.2.
51452         * lib/file-type.c: Likewise.
51453
51454 2002-06-07  Jim Meyering  <meyering@lucent.com>
51455
51456         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
51457         They're needed at least for NetBSD 1.5.2.
51458         ($statxfs_includes): Include those same headers.
51459         ($statxfs_includes): Include sys/vfs.h if available.
51460         ($statxfs_includes): Likewise for sys/statvfs.h.
51461         Check for the following members in both structs statfs and statvfs:
51462         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
51463
51464 2002-06-01  Jim Meyering  <meyering@lucent.com>
51465
51466         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
51467         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
51468
51469 2002-05-28  Jim Meyering  <meyering@lucent.com>
51470
51471         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
51472         Reported by Volker Borchert.
51473
51474 2002-05-27  Jim Meyering  <meyering@lucent.com>
51475
51476         Fix a problem seen only on nonconforming systems whereby ls.c's
51477         use of localtime, and then of gettimeofday would cause trouble:
51478         the localtime call used to initialize rpl_gettimeofday's save
51479         mechanism would clobber ls's current local time information so
51480         that in any long listing the first file would always be listed
51481         with date 1970-01-01.  Analysis by Volker Borchert.
51482
51483         * lib/gettimeofday.c (localtime): Undefine.
51484         (rpl_localtime): New function.
51485
51486 2002-05-27  Jim Meyering  <meyering@lucent.com>
51487
51488         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
51489         localtime.
51490
51491         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
51492         use the replacement function; it wouldn't resolve at link time.
51493         Reported by Volker Borchert.
51494
51495 2002-05-22  Jim Meyering  <meyering@lucent.com>
51496
51497         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
51498         file-type.h.
51499         * lib/file-type.h: New file.
51500         * lib/file-type.c (file_type): New file/function.  Extracted from
51501         diffutils.
51502
51503 2002-04-30  Jim Meyering  <meyering@lucent.com>
51504
51505         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
51506
51507 2002-04-29  Paul Eggert  <eggert@twinsun.com>
51508
51509         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
51510
51511 2002-04-29  Paul Eggert  <eggert@twinsun.com>
51512
51513         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
51514         Do not check for alloca.h (no longer used) or stdbool.h (was never
51515         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
51516
51517 2002-04-29  Paul Eggert  <eggert@twinsun.com>
51518
51519         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
51520
51521 2002-04-29  Jim Meyering  <meyering@lucent.com>
51522
51523         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
51524         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
51525         Use AC_FUNC_STRNLEN here instead.
51526
51527         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
51528         With autoconf-2.53a, it's part of AC_PROG_CC.
51529
51530 2002-04-28  Paul Eggert  <eggert@twinsun.com>
51531
51532         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
51533         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
51534
51535 2002-04-28  Paul Eggert  <eggert@twinsun.com>
51536
51537         * lib/sig2str.h, lib/sig2str.c: New files.
51538         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
51539
51540 2002-04-28  Paul Eggert  <eggert@twinsun.com>
51541
51542         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
51543         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
51544         of 127, since 64 is the largest conceivable number for ancient
51545         nonstandard hosts.
51546         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
51547
51548 2002-04-28  Jim Meyering  <meyering@lucent.com>
51549
51550         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
51551
51552 2002-04-24  Jim Meyering  <meyering@lucent.com>
51553
51554         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
51555         (jm_PREREQ): Use it.
51556
51557         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
51558         mach/mach.h fcntl.h.
51559         Check for this function: setlocale.
51560
51561 2002-04-24  Jim Meyering  <meyering@lucent.com>
51562
51563         * lib/gettext.h: New file, from Gettext.
51564         * lib/Makefile.am (INCLUDES): Remove -I../intl.
51565         (libfetish_a_SOURCES): Add gettext.h.
51566
51567 2002-04-16  Jim Meyering  <meyering@lucent.com>
51568
51569         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
51570         ut_pid, ut_id, ut_exit.
51571
51572 2002-04-16  Jim Meyering  <meyering@lucent.com>
51573
51574         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
51575         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
51576         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
51577
51578 2002-04-12  Jim Meyering  <meyering@lucent.com>
51579
51580         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
51581         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
51582         existence of the getmntinfo function.  Needed for Darwin 5.3.
51583
51584         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
51585         This is necessary at least on Darwin 5.3.
51586
51587         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
51588         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
51589         strnlen.o in the library, and that makes some versions of ranlib
51590         object.
51591
51592 2002-04-12  Jim Meyering  <meyering@lucent.com>
51593
51594         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
51595
51596 2002-04-09  Jim Meyering  <meyering@lucent.com>
51597
51598         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
51599         to be more precise.  Rather than saying we're checking whether the
51600         function `works', say what we're testing.
51601         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
51602         Reported by Bruno Haible.
51603
51604 2002-03-10  Jim Meyering  <meyering@lucent.com>
51605
51606         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
51607         Suggestion from Santiago Vila.
51608
51609 2002-03-08  Jim Meyering  <meyering@lucent.com>
51610
51611         * lib/rename.c: Mention that this wrapper is needed also on
51612         mips-dec-ultrix4.4 systems.
51613
51614 2002-03-02  Jim Meyering  <meyering@lucent.com>
51615
51616         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
51617         not HAVE_CLOCK_SETTIME.
51618
51619 2002-02-27  Paul Eggert  <eggert@twinsun.com>
51620
51621         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
51622         Check for clock_settime.
51623
51624 2002-02-27  Paul Eggert  <eggert@twinsun.com>
51625
51626         * lib/nanosleep.h: Rename to....
51627         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
51628
51629         * lib/gettime.c: New file.
51630         * lib/settime.c: New file.
51631         * lib/stime.c: Remove.
51632
51633         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
51634         timespec.h.  Remove nanosleep.h.
51635
51636 2002-02-25  Paul Eggert  <eggert@twinsun.com>
51637
51638         * m4/acl.m4: New file.
51639         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
51640         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
51641
51642 2002-02-25  Paul Eggert  <eggert@twinsun.com>
51643
51644         * lib/acl.c, lib/acl.h: New files.
51645         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
51646
51647 2002-02-24  Jim Meyering  <meyering@lucent.com>
51648
51649         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
51650         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
51651         cause trouble.  Reported by Nelson Beebe.
51652
51653 2002-02-23  Paul Eggert  <eggert@twinsun.com>
51654
51655         * lib/path-concat.c (xpath_concat): Reorder code to pacify
51656         compilers that don't know that xalloc_die never returns.
51657
51658 2002-02-20  Jim Meyering  <meyering@lucent.com>
51659
51660         * lib/getdate.c: Regenerate using bison-1.33.
51661
51662 2002-02-17  Jim Meyering  <meyering@lucent.com>
51663
51664         * config/config.guess (main): Don't use `head -1'; it's no longer
51665         portable. Use `sed 1q' instead.
51666
51667 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
51668
51669         * m4/codeset.m4: Upgrade to gettext-0.11.
51670         * m4/gettext.m4: Upgrade to gettext-0.11.
51671         * m4/glibc21.m4: Upgrade to gettext-0.11.
51672         * m4/iconv.m4: Upgrade to gettext-0.11.
51673         * m4/isc-posix.m4: Upgrade to gettext-0.11.
51674         * m4/lcmessage.m4: Upgrade to gettext-0.11.
51675         * m4/lib-ld.m4: New file, from gettext-0.11.
51676         * m4/lib-link.m4: New file, from gettext-0.11.
51677         * m4/lib-prefix.m4: New file, from gettext-0.11.
51678         * m4/progtest.m4: Upgrade to gettext-0.11.
51679
51680 2002-02-15  Paul Eggert  <eggert@twinsun.com>
51681
51682         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
51683         (jm_PREREQ): Use it.
51684
51685 2002-02-15  Paul Eggert  <eggert@twinsun.com>
51686
51687         * lib/posixver.c, lib/posixver.h: New files.
51688         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
51689
51690 2002-02-02  Paul Eggert  <eggert@twinsun.com>
51691             Bruno Haible  <bruno@clisp.org>
51692
51693         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
51694         (fwrite_success_callback): New declaration.
51695         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
51696         print_unicode_char. Call failure callback instead of error.
51697         (fwrite_success_callback): New function.
51698         (exit_failure_callback): New function.
51699         (fallback_failure_callback): New function.
51700         (print_unicode_char): Call unicode_to_mb.
51701
51702 2002-01-26  Jim Meyering  <meyering@lucent.com>
51703
51704         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
51705         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
51706
51707 2002-01-26  Jim Meyering  <meyering@lucent.com>
51708
51709         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
51710
51711 2002-01-22  Paul Eggert  <eggert@twinsun.com>
51712
51713         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
51714
51715 2002-01-22  Jim Meyering  <meyering@lucent.com>
51716
51717         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
51718         Otherwise, some versions of automake would omit the rule that makes
51719         Makefile from Makefile.in.
51720
51721 2002-01-21  Paul Eggert  <eggert@twinsun.com>
51722
51723         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
51724         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
51725         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
51726         (memcoll): Set errno to zero if there is no error.
51727
51728         * lib/quotearg.c (quotearg_buffer_restyled):
51729         Fix bug with quoting buffers containing NUL when backslashing escapes.
51730         This bug was exposed by the other changes in this patch.
51731         (quotearg_n_options): New arg ARGSIZE.
51732         All callers changed.
51733         (quoting_options_from_style): New function.
51734         (quotearg_n_style): Use it.
51735         (quotearg_n_style_mem): New function.
51736
51737         * lib/quotearg.h (quotearg_n_style_mem): New function.
51738
51739 2002-01-19  Jim Meyering  <meyering@lucent.com>
51740
51741         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
51742         Remove useless quotes: DF_PROG="df".
51743         * m4/strnlen.m4: New file.
51744
51745 2002-01-16  Paul Eggert  <eggert@twinsun.com>
51746
51747         * lib/backupfile.c (ISDIGIT): Comment fix.
51748         * lib/getdate.y (ISDIGIT): Likewise.
51749         * lib/posixtm.c (ISDIGIT, year): Likewise.
51750         * lib/strverscmp.c (ISDIGIT): Likewise.
51751         * lib/userspec.c (ISDIGIT): Likewise.
51752
51753 2002-01-16  Jim Meyering  <meyering@lucent.com>
51754
51755         * lib/getdate.y: Add three semicolons, each just before a closing
51756         brace. Bison (as of version 1.31) no longer papers over that mistake.
51757
51758 2002-01-05  Jim Meyering  <meyering@lucent.com>
51759
51760         * lib/version-etc.c (version_etc_copyright): Update copyright year.
51761
51762 2001-12-19  Paul Eggert  <eggert@twinsun.com>
51763
51764         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
51765         not silently exit merely because the output buffer happens to
51766         have nothing pending.
51767
51768 2001-12-18  Paul Eggert  <eggert@twinsun.com>
51769
51770         See the big note in ../ChangeLog.
51771         * lib/human.c (suffixes): Prefer K to k for 1024.
51772         (generate_suffix_backwards): New function.
51773         (human_readable_inexact): Use it.
51774         * lib/xstrtol.c (__xstrtol): If there is no number but there
51775         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
51776         Accept 'K' as well as 'k'.
51777
51778 2001-12-15  Jim Meyering  <meyering@lucent.com>
51779
51780         * lib/regex.h (__restrict_arr): Update from libc.
51781
51782         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
51783         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
51784         (STREQ): Define.
51785
51786 2001-12-14  Jim Meyering  <meyering@lucent.com>
51787
51788         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
51789         Suggestion from Bruno Haible.
51790
51791 2001-12-10  Jim Meyering  <meyering@lucent.com>
51792
51793         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
51794         xrealloc, Instead, include "xalloc.h".
51795         (initbuffer): Don't cast xmalloc return value to char*.
51796         (readline): Reword comment.
51797         Don't cast xrealloc return value to char*
51798         Return NULL, not 0.
51799
51800 2001-12-09  Jim Meyering  <meyering@lucent.com>
51801
51802         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
51803         about `signed and unsigned type in conditional expression'.
51804         * lib/posixtm.c (posix_time_parse): Likewise.
51805
51806         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
51807
51808         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
51809         to avoid a pedantic warning.
51810
51811         * lib/getstr.c: Don't include assert.h.
51812         (getstr): Remove warning-evoking assertions.
51813         Return -1 if offset parameter is out of bounds.
51814         Change the type of a local from int to size_t.
51815
51816         * lib/strftime.c (my_strftime_localtime_r): Include this function
51817         definition in the `#if ! HAVE_TM_GMTOFF' block.
51818
51819         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
51820         Include xalloc.h instead.
51821
51822 2001-12-02  Jim Meyering  <meyering@lucent.com>
51823
51824         * lib/tempname.c: Don't declare getenv, thus reverting the change of
51825         2001-11-18.  It's no longer necessary, now that stdlib.h is always
51826         included.
51827
51828         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
51829         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
51830
51831 2001-11-30  Akim Demaille  <akim@epita.fr>
51832
51833         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
51834         before being defined.
51835
51836 2001-11-27  Paul Eggert  <eggert@twinsun.com>
51837
51838         * lib/quotearg.h (quotearg_n, quotearg_n_style):
51839         First arg is int, not unsigned.
51840         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
51841         (SIZE_MAX, UINT_MAX): New macros.
51842         (quotearg_n_options): Abort if N is negative.
51843         Avoid overflow check on hosts where size_t is 64 bits and int
51844         is 32 bits, as overflow is impossible there.
51845         Fix off-by-one typo that caused unnecessary reallocation.
51846
51847 2001-11-27  Jim Meyering  <meyering@lucent.com>
51848
51849         * lib/tempname.c: Merge with version from libc.
51850         * lib/regex.c: Likewise.
51851
51852         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
51853         systems for which STDC_HEADERS is 0, it was not included, resulting in
51854         a warning about an integer-to-pointer conversion problem with getenv.
51855         Reported by Volker Borchert.
51856
51857 2001-11-26  Jim Meyering  <meyering@lucent.com>
51858
51859         * lib/gtod.h: Remove file.
51860         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
51861         * lib/gettimeofday.c: Don't include gtod.h.
51862         (GTOD_init): Remove function.
51863         (rpl_gettimeofday): Do its job here instead, rather than aborting.
51864         Suggestion from Volker Borchert.
51865
51866 2001-11-23  Jim Meyering  <meyering@lucent.com>
51867
51868         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
51869         it.
51870         * lib/hash.c (struct hash_table): Define it here instead.
51871
51872 2001-11-22  Jim Meyering  <meyering@lucent.com>
51873
51874         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
51875
51876 2001-11-20  Jim Meyering  <meyering@lucent.com>
51877
51878         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
51879         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
51880
51881 2001-11-19  Jim Meyering  <meyering@lucent.com>
51882
51883         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
51884         directory.  Use "conftestXXXXXX" as the template.
51885         Suggestion from Paul Eggert.
51886
51887         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
51888         immediately, so the test doesn't mistakenly hit the max-open-files
51889         limit.
51890
51891 2001-11-18  Paul Eggert  <eggert@twinsun.com>
51892
51893         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
51894         (TEMPORARIES): New macro.
51895         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
51896         removes an artificial limitation (e.g. HP-UX 10.20, where
51897         TMP_MAX is 17576).
51898
51899 2001-11-18  Jim Meyering  <meyering@lucent.com>
51900
51901         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
51902
51903 2001-11-18  Jim Meyering  <meyering@lucent.com>
51904
51905         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
51906         on SunOS 4.
51907
51908         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
51909         files will be created before anything else.
51910
51911 2001-11-17  Paul Eggert  <eggert@twinsun.com>
51912
51913         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
51914         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
51915
51916 2001-11-17  Jim Meyering  <meyering@lucent.com>
51917
51918         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
51919         Prompted by a report from Bob Proulx.
51920
51921         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
51922         Instead, require UTILS_FUNC_MKSTEMP.
51923
51924 2001-11-17  Jim Meyering  <meyering@lucent.com>
51925
51926         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
51927         Now, that's done as part of AC_FUNC_STRTOD.
51928
51929 2001-11-17  Jim Meyering  <meyering@lucent.com>
51930
51931         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
51932         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
51933         rather than group writable.  Patch by Juan F. Codagnone.
51934
51935         * lib/readtokens.c: Remove explicit declarations of xmalloc and
51936         xrealloc, Instead, include "xalloc.h".
51937
51938         * lib/mountlist.c: Include unlocked-io.h after all system headers.
51939         Remove explicit declarations of xmalloc, xrealloc,
51940         and xstrdup.  Instead, include "xalloc.h".
51941
51942         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
51943         unlocked-io.h.
51944         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
51945         Likewise.
51946         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
51947
51948         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
51949         Reported by Padraig Brady.
51950
51951         * lib/mkstemp.c: #undef mkstemp.
51952         Include config.h.
51953         (rpl_mkstemp): Rename from mkstemp.
51954         Protoize.
51955
51956 2001-11-16  Jim Meyering  <meyering@lucent.com>
51957
51958         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
51959         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
51960         determine the amount of total physical memory, use pstat_getstatic.
51961         HPUX-11 doesn't define _SC_PHYS_PAGES.
51962         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
51963         If sysconf couldn't be used to determine the amount of available
51964         physical memory, use both pstat_getstatic and pstat_getdynamic.
51965         Based on a patch from Bob Proulx.
51966
51967 2001-11-10  Jim Meyering  <meyering@lucent.com>
51968
51969         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
51970         (jm_PREREQ): Use it.
51971
51972 2001-11-09  Jim Meyering  <meyering@lucent.com>
51973
51974         * m4/jm-macros.m4: Require autoconf-2.52f.
51975         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
51976         Use these AC_-prefixed names, not the AM_-prefixed ones.
51977
51978         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
51979
51980 2001-11-05  Jim Meyering  <meyering@lucent.com>
51981
51982         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
51983
51984 2001-11-04  Jim Meyering  <meyering@lucent.com>
51985
51986         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
51987         $DEFS.
51988
51989 2001-11-03  Jim Meyering  <meyering@lucent.com>
51990
51991         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
51992         of AC_DEFUN.
51993
51994         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
51995         know the name of the variable in the macro definition.
51996
51997 2001-11-03  Jim Meyering  <meyering@lucent.com>
51998
51999         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
52000         in argmatch_to_argument call.
52001
52002         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
52003         argument.
52004
52005         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
52006         e.g., a fault due to an attempt to free a NULL pointer.
52007
52008 2001-11-01  Jim Meyering  <meyering@lucent.com>
52009
52010         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
52011         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
52012
52013 2001-11-01  Jim Meyering  <meyering@lucent.com>
52014
52015         * lib/dirfd.c, lib/dirfd.h: New files.
52016         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
52017
52018         * lib/hash.c (hash_print) [TESTING]: Clean up.
52019
52020 2001-10-22  Paul Eggert  <eggert@twinsun.com>
52021
52022         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
52023         to avoid a warning if -Wall.
52024
52025 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
52026
52027         * README: New file
52028         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
52029         (per RMS's instructions, this is now the canonical source)
52030         * lgpl/, gpl/: New directories.
52031
52032 2001-10-21  Paul Eggert  <eggert@twinsun.com>
52033
52034         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
52035
52036 2001-10-21  Jim Meyering  <meyering@lucent.com>
52037
52038         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
52039         this code would end up calling gettext even in packages built
52040         with --disable-nls.
52041         * lib/getopt.c (_): Likewise.
52042         * lib/regex.c (_): Likewise.
52043
52044 2001-10-20  Paul Eggert  <eggert@twinsun.com>
52045
52046         * m4/error.m4 (jm_PREREQ_ERROR):
52047         Do not invoke AC_CHECK_FUNCS with strerror_r, as
52048         AC_FUNC_STRERROR_R does that.
52049         Check for strerror declaration.
52050
52051         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
52052         are supposed to have them these days.
52053         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
52054         Merge changes from latest Autoconf CVS.
52055         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
52056         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
52057         POSIX decided to standardize on the int flavor of strerror_r.
52058
52059 2001-10-20  Paul Eggert  <eggert@twinsun.com>
52060
52061         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
52062         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
52063         Use strerror_r that is only a macro, even if it is not a function.
52064         (strerror): Check for HAVE_DECL_STRERROR before declaring.
52065         (private_strerror): Use prototypes, not old-style function definition.
52066         (print_errno_message): New function.
52067         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
52068         char*-flavored one.
52069         (error_tail, error, error_at_line): Use it.
52070
52071 2001-10-11  Jim Meyering  <meyering@lucent.com>
52072
52073         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
52074         and quote_n (1, ... to avoid clobbering a buffer.
52075
52076 2001-10-05  Jim Meyering  <meyering@lucent.com>
52077
52078         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
52079         hash-pjw.h.
52080         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
52081         * lib/hash-pjw.h: New file.
52082
52083 2001-09-30  Jim Meyering  <meyering@lucent.com>
52084
52085         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
52086         `struct fsstat' has the `f_fstypename' member.
52087         Use that to define FS_TYPE, which is now used to make
52088         the getfsstat link test tighter.
52089
52090 2001-09-30  Jim Meyering  <meyering@lucent.com>
52091
52092         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
52093         Include <sys/ucred.h>, for Apple Darwin.
52094         Include sys/mount.h and sys/fs_types.h only if available.
52095         (FS_TYPE): Define.
52096         (read_filesystem_list): Use FS_TYPE.
52097
52098 2001-09-29  Paul Eggert  <eggert@twinsun.com>
52099
52100         * lib/exclude.c (excluded_filename): 0 -> false, since it's
52101         a boolean context.
52102
52103 2001-09-29  Jim Meyering  <meyering@lucent.com>
52104
52105         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
52106         [one-argument getmntent function]): Include stdio.h before mntent.h.
52107         SunOS 4.1.x needs it for the declaration of `FILE'.
52108         Patch by Volker Borchert.
52109
52110         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
52111         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
52112         sys/fs_types.h, and make the link-test for getfsstat guard #include
52113         directives with appropriate #if HAVE_*_H tests so that we can
52114         detect getfsstat on Apple Darwin1.3.7 systems.
52115         Reported by Nelson Beebe.
52116         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
52117
52118 2001-09-28  Paul Eggert  <eggert@twinsun.com>
52119
52120         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
52121         #defines strtoimax.  Also treat the other strto* functions
52122         like strtoimax.
52123
52124         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
52125         Check for strtoul and strtoumax,
52126         as those declarations are made even in the signed case.
52127         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
52128         Likewise, for strtol and strtoimax.
52129
52130 2001-09-28  Paul Eggert  <eggert@twinsun.com>
52131
52132         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
52133         #defines strtoimax.  Also treat the other strto* functions
52134         like strtoimax.
52135
52136         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
52137         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
52138         (strtoimax, strtoumax): Do not declare if already defined as a macro.
52139
52140 2001-09-26  Jim Meyering  <meyering@lucent.com>
52141
52142         Most macros in unlocked-io.h had the wrong number of arguments.
52143         * lib/gen-uio: New script.
52144         (USE_UNLOCKED_IO): Define to 1 if not already defined.
52145         * lib/unlocked-io.hin: Remove file.
52146         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
52147         rather than trying to embed it here.
52148         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
52149         Reported by Padraig Brady.
52150
52151 2001-09-25  Volker Borchert  <bt@teknon.de>
52152
52153         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
52154         `result'.
52155
52156 2001-09-24  Jim Meyering  <meyering@lucent.com>
52157
52158         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
52159
52160 2001-09-23  Jim Meyering  <meyering@lucent.com>
52161
52162         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
52163         instead of the mere test for existence of mntent.h.  The latter
52164         would get a false-positive on AIX 3.4 systems.
52165         In the outer getmntent if-block, don't die if neither of the getmntent
52166         tests succeeds.  Instead, just fall through and continue with the
52167         remaining tests.
52168
52169 2001-09-23  Jim Meyering  <meyering@lucent.com>
52170
52171         * lib/mountlist.c: Remove useless parentheses in #if directives.
52172         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
52173         the deprecated MOUNTED symbol is no longer defined in mntent.h.
52174
52175 2001-09-22  Jim Meyering  <meyering@lucent.com>
52176
52177         * m4/gettext.m4: New file.  From gettext.
52178         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
52179         * m4/progtest.m4: Likewise
52180         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
52181         * m4/glibc21.m4: Likewise.
52182
52183         * m4/libintl.m4: Remove.  No longer used.
52184
52185 2001-09-22  Jim Meyering  <meyering@lucent.com>
52186
52187         * lib/localcharset.c: Update from latest gettext.
52188         * lib/config.charset: Likewise.
52189
52190 2001-09-20  Jim Meyering  <meyering@lucent.com>
52191
52192         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
52193         strtoimax.
52194         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
52195         strtoumax.
52196
52197 2001-09-20  Jim Meyering  <meyering@lucent.com>
52198
52199         * lib/xstrtol.c (strtoimax): Guard declaration with
52200         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
52201         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
52202         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
52203         (strtoumax): Likewise, for completeness (it wasn't necessary).
52204
52205 2001-09-17  Paul Eggert  <eggert@twinsun.com>
52206
52207         * lib/strtoimax.c (HAVE_LONG_LONG):
52208         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
52209         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
52210         to work around bug in IBM C compiler.
52211
52212 2001-09-17  Jim Meyering  <meyering@lucent.com>
52213
52214         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
52215         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
52216         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
52217         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
52218         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
52219         whenever the right hand side need not be expanded by the shell.
52220
52221 2001-09-16  Paul Eggert  <eggert@twinsun.com>
52222
52223         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
52224         library.  It's not correct, as some older glibcs are buggy.
52225         fnmatch wasn't fixed until glibc 2.2.
52226
52227         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
52228         special shell magic here.
52229
52230 2001-09-16  Jim Meyering  <meyering@lucent.com>
52231
52232         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
52233         * m4/jm-macros.m4: Require it.
52234
52235 2001-09-16  Jim Meyering  <meyering@lucent.com>
52236
52237         * lib/mkdir.c: New file.
52238
52239 2001-09-15  Jim Meyering  <meyering@lucent.com>
52240
52241         * m4/jm-macros.m4: Check for help2man.
52242
52243 2001-09-11  Jim Meyering  <meyering@lucent.com>
52244
52245         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
52246         The body, by Paul Eggert, was moved here from configure.in.
52247         * m4/jm-macros.m4: Require UTILS_HOST_OS.
52248
52249 2001-09-04  Paul Eggert  <eggert@twinsun.com>
52250
52251         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
52252         (jm_PREREQ): Use it.
52253
52254 2001-09-04  Paul Eggert  <eggert@twinsun.com>
52255
52256         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
52257         Use ssize_t, not int, to store result of readlink.
52258         Check for ssize_t overflow as well as size_t overflow,
52259         as POSIX says the result of readlink is implementation-defined
52260         when ssize_t overflows.
52261         Remove unnecessary cast to char*.
52262         Use free+malloc instead of realloc, as the storage doesn't need
52263         to be preserved and it's clearer and can be more efficient that way.
52264         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
52265         * lib/xreadlink.h (xreadlink): Update prototype.
52266
52267 2001-09-04  Paul Eggert  <eggert@twinsun.com>
52268
52269         * lib/xgetcwd.c: Revert some of the previous change; intead,
52270         fix the HAVE_GETCWD_NULL code to behave more like the
52271         !HAVE_GETCWD_NULL code used to.
52272
52273         Include "xalloc.h".
52274         (xgetcwd): Do not return NULL when memory is exhausted; instead,
52275         invoke xalloc_die.
52276
52277 2001-09-03  Paul Eggert  <eggert@twinsun.com>
52278
52279         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
52280         sys/param.h, as pathmax.h includes them.
52281
52282 2001-09-03  Paul Eggert  <eggert@twinsun.com>
52283
52284         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
52285         (jm_PREREQ_XGETCWD): New macro.
52286
52287         * m4/getcwd.m4: New file.
52288
52289 2001-09-03  Paul Eggert  <eggert@twinsun.com>
52290
52291         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
52292         like the HAVE_GETCWD_NULL code.
52293         Include pathmax.h if not HAVE_GETCWD.
52294         Do not include xalloc.h.
52295         (INITIAL_BUFFER_SIZE): New symbol.
52296         Do not use xmalloc / xrealloc, since the caller is responsible for
52297         handling errors.  Preserve errno around `free' during failure.
52298         Do not overrun buffer when using getwd.
52299
52300 2001-09-03  Paul Eggert  <eggert@twinsun.com>
52301
52302         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
52303         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
52304         getcwd (NULL, 0).
52305
52306 2001-09-03  Paul Eggert  <eggert@twinsun.com>
52307
52308         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
52309         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
52310         spotted by Jim Meyering.
52311
52312 2001-09-03  Jim Meyering  <meyering@lucent.com>
52313
52314         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
52315         failure.
52316
52317 2001-09-02  Jim Meyering  <meyering@lucent.com>
52318
52319         * lib/error.c: Update from GNU libc.
52320
52321 2001-09-01  Jim Meyering  <meyering@lucent.com>
52322
52323         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
52324         Used by df.
52325
52326 2001-09-01  Jim Meyering  <meyering@lucent.com>
52327
52328         * lib/xreadlink.c: New file.
52329         * lib/xreadlink.h: New file.
52330         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
52331         xreadlink.h.
52332
52333         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
52334         doesn't conflict with sparc Solaris 7's definition in
52335         /usr/include/sys/int_types.h.
52336
52337         * lib/exclude.c: Use `""', not `<>' to #include non-system header
52338         files.
52339         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
52340         and strncasecmp as r-values.  Unixware didn't have declarations.
52341
52342 2001-08-31  Paul Eggert  <eggert@twinsun.com>
52343
52344         * lib/xstrtol.h: Add copyright notice.
52345         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
52346         LONGINT_INVALID_SUFFIX_CHAR.
52347
52348 2001-08-31  Paul Eggert  <eggert@twinsun.com>
52349
52350         * lib/xstrtol.c (strtoimax): New decl.
52351
52352 2001-08-31  Paul Eggert  <eggert@twinsun.com>
52353
52354         * lib/xgetcwd.c: Don't include pathmax.h.
52355         Include stdlib.h and unistd.h if available.
52356         Include xalloc.h.
52357         (xmalloc, xstrdup, free): Remove decls.
52358         (xgetcwd): Don't assume sizes fit in unsigned.
52359         Check for overflow when computing sizes.
52360         Simplify reallocation code.
52361
52362 2001-08-31  Paul Eggert  <eggert@twinsun.com>
52363
52364         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
52365         a directory's st_size can have an arbitrary value, so the old
52366         usage could waste an arbitrary amount of memory.  All uses
52367         changed.
52368         * lib/savedir.h: Update prototype.
52369
52370 2001-08-31  Paul Eggert  <eggert@twinsun.com>
52371
52372         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
52373
52374         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
52375         old strtoimax.c.
52376
52377         Also, make the following further changes to make this file's
52378         configuration more similar to that of strtol.c:
52379         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
52380         (strtoumax, uintmax_t, strtoull, strtol): Remove.
52381         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
52382         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
52383         changed to signed values.
52384
52385         And make the following changes as well:
52386         Fix copyright notice, as 1999 was missing.
52387         (verify): New macro.
52388         (strtoimax): Check sizes at compile-time, not run-time.
52389         Prefer strtol to strtoll if both work.
52390         (main): Remove; it was not that useful and was a pain to maintain.
52391
52392         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
52393
52394 2001-08-31  Jim Meyering  <meyering@lucent.com>
52395
52396         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
52397         Use an initial, malloc'd, buffer of length 128 rather than
52398         a statically allocated one of length 1024.
52399
52400 2001-08-30  Paul Eggert  <eggert@twinsun.com>
52401
52402         Simplify code, partly by assuming autoconf 2.52 semantics.
52403
52404         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
52405
52406         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
52407         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
52408         All uses removed.
52409         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
52410         Move AC_REQUIRE to next-to-top level, to avoid confusion.
52411         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
52412         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
52413         jm_AC_HEADER_INTTYPES_H.
52414         * m4/jm-macros.m4 (jm_MACROS): Likewise.
52415
52416         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
52417
52418         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
52419         Quote first arg of AC_DEFUN.
52420         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
52421         since they are needed to parse the include file even if we need
52422         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
52423         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
52424         but with opposite signedness.
52425
52426 2001-08-30  Paul Eggert  <eggert@twinsun.com>
52427
52428         Merge 'exclude' changes from tar 1.13.22.
52429         This fixes one or two unlikely storage allocation overflow bugs,
52430         but doesn't change user-visible behavior otherwise.
52431
52432 2001-08-30  Paul Eggert  <eggert@twinsun.com>
52433
52434         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
52435         (jm_PREREQ_EXCLUDE): New macro.
52436
52437 2001-08-30  Paul Eggert  <eggert@twinsun.com>
52438
52439         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
52440         tm to be declared.
52441
52442 2001-08-30  Paul Eggert  <eggert@twinsun.com>
52443
52444         * lib/hash.c: Remove '2001' from copyright notice.
52445
52446 2001-08-30  Paul Eggert  <eggert@twinsun.com>
52447
52448         * lib/full-write.h: New file.
52449         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
52450         * lib/full-write.c: Correct credits, as cccp.c no longer
52451         exists and anyway it was so heavily changed from the old cccp
52452         code as to be unrecognizable.  Include full-write.h.
52453         (full_write) Return size_t, with short writes meaning failure.
52454         All callers changed.  This fixes a bug with large buffers
52455         on 64-bit hosts.
52456         * lib/utime.c: Include full-write.h.
52457
52458 2001-08-30  Paul Eggert  <eggert@twinsun.com>
52459
52460         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
52461         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
52462         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
52463         Include if available.
52464         (<xalloc.h>): Include
52465         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
52466         (verify): New macro.  Use it to verify that EXCLUDE macros do not
52467         collide with FNM macros.
52468         (struct patopts): New struct.
52469         (struct exclude): Use it, as exclude patterns now come with options.
52470         (new_exclude): Support above changes.
52471         (new_exclude, add_exclude_file):
52472         Initial size must now be a power of two to simplify overflow checking.
52473         (free_exclude, fnmatch_no_wildcards): New function.
52474         (excluded_filename): No longer requires options arg, as the options
52475         are determined by add_exclude.  Now returns bool, not int.
52476         (excluded_filename, add_exclude):
52477         Add support for the fancy new exclusion options.
52478         (add_exclude, add_exclude_file): Now takes int options arg.
52479         Check for arithmetic overflow when computing sizes.
52480         (add_exclude_file): xrealloc might modify errno, so don't
52481         realloc until after errno might be used.
52482
52483         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
52484         New macros.
52485         (free_exclude): New decl.
52486         (add_exclude, add_exclude_file): Now takes int options arg.
52487         (excluded_filename): No longer requires options arg, as the options
52488         are determined by add_exclude.  Now returns bool, not int.
52489
52490 2001-08-30  Paul Eggert  <eggert@twinsun.com>
52491
52492         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
52493
52494 2001-08-27  Jim Meyering  <meyering@lucent.com>
52495
52496         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
52497
52498         * lib/version-etc.c (N_): Remove definition.
52499         Revert most of last change.
52500         Instead, simply don't mark the `Copyright...' string for translation.
52501         Based on advice from Paul Eggert.
52502
52503         * lib/strtoxmax.c: Tweak comment.
52504
52505 2001-08-26  Jim Meyering  <meyering@lucent.com>
52506
52507         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
52508
52509         * m4/xstrtoimax.m4: New file.
52510         * m4/xstrtoumax.m4: Add comments explaining why we
52511         AC_REPLACE_FUNCS(strtol).
52512
52513 2001-08-26  Jim Meyering  <meyering@lucent.com>
52514
52515         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
52516         of copyright with `%s' so translators don't get an untranslated
52517         message in 2002.
52518         (COPYRIGHT_YEAR): Define.
52519         (version_etc): Use fprintf rather than fputs.
52520         Suggestion from Ulrich Drepper.
52521
52522         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
52523
52524         * lib/strtoll.c: New file, from GNU libc.
52525         * lib/xstrtoimax.c: New file.
52526
52527         * lib/xstrtol.h: Add xstrtoimax.
52528         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
52529         * lib/strtoimax.c: New file.  Likewise, but first define
52530         STRTOUXMAX_SIGNED.
52531
52532         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
52533         ...
52534         * lib/strtoxmax.c: ... then renamed to this.
52535
52536 2001-08-18  Paul Eggert  <eggert@twinsun.com>
52537
52538         * m4/inttypes.m4: Add AC_PREREQ(2.13).
52539         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
52540         (jm_AC_TYPE_INTMAX_T): New macro.
52541         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
52542
52543         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
52544
52545         * m4/longlong.m4: Renamed from ulonglong.m4.
52546         * m4/inttypes.m4: Renamed from inttypes_h.m4.
52547         * m4/uintmax_t.m4: Removed.
52548
52549 2001-08-13  Paul Eggert  <eggert@twinsun.com>
52550
52551         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
52552         Port to Solaris 8, where 'sed' requires a space after the 'r'
52553         command, and where sh dislikes "$/".  Clean up the spacing a bit.
52554         Redirect output to $tmp just once.
52555
52556 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
52557
52558         * lib/addext.c (<errno.h>): Include.
52559         (errno): Declare if not defined.
52560         (addext): Work correctly when pathconf returns -1 and leaves
52561         errno alone because there is no limit.  Also, work even if
52562         pathconf returns a value greater than SIZE_MAX.
52563
52564 2001-08-12  Jim Meyering  <meyering@lucent.com>
52565
52566         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
52567         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
52568         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
52569         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
52570         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
52571         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
52572         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
52573         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
52574         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
52575         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
52576         utime.m4, utimes.m4, xstrtoumax.m4:
52577         Quote the first argument in each use of AC_DEFUN.
52578
52579 2001-08-12  Jim Meyering  <meyering@lucent.com>
52580
52581         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
52582         Simply `return getcwd (NULL, 0);'.
52583         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
52584         Use 1300 as initial value for length, not PATH_MAX.
52585
52586         * lib/pathmax.h: Clean up cpp syntax.
52587
52588 2001-08-12  Jim Meyering  <meyering@lucent.com>
52589
52590         * lib/gettimeofday.c: New file.
52591         * lib/gtod.h: New file.
52592         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
52593
52594 2001-08-05  Jim Meyering  <meyering@lucent.com>
52595
52596         * m4/jm-macros.m4: Require autoconf-2.52.
52597
52598 2001-08-04  Jim Meyering  <meyering@lucent.com>
52599
52600         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
52601         stmt, to get in sync with glibc.
52602
52603 2001-08-03  Paul Eggert  <eggert@twinsun.com>
52604
52605         The following changes are from gettext 0.10.39 as maintained by
52606         Bruno Haible.
52607
52608         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
52609         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
52610         with inverted sense.  All uses changed.
52611
52612         * lib/mbswidth.c: Don't include <limits.h>.
52613         Include <stdlib.h> and <string.h> unconditionally.
52614         (iswcntrl, mbsinit, ISCNTRL): New macros.
52615         (mbsnwidth): Use K&R style function declarations.
52616         Don't bother checking for MB_LEN_MAX == 1, since the compiler
52617         can optimize it when MB_CUR_MAX == 1.
52618         The width of control characters is zero, not 1.
52619
52620 2001-08-03  Paul Eggert  <eggert@twinsun.com>
52621
52622         The following changes are from gettext 0.10.39 as maintained by
52623         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
52624
52625         * m4/codeset.m4: Upgrade to serial AM1.
52626         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
52627         all uses changed.  Quote first arg of AC_DEFUN.
52628         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
52629
52630         * m4/iconv.m4: Upgrade to serial AM2.
52631         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
52632         Add --with-libconv-prefix.
52633         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
52634         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
52635         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
52636         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
52637         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
52638
52639         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
52640         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
52641         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
52642         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
52643         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
52644         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
52645         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
52646         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
52647         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
52648
52649         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
52650         string.h any more.
52651
52652         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
52653         not the default value.
52654
52655         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
52656         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
52657         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
52658         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
52659         Also check for iswcntrl, used for wcwidth fallback.
52660         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
52661         to Autoconf 2.13.
52662
52663 2001-08-03  Jim Meyering  <meyering@lucent.com>
52664
52665         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
52666         as it was in the original.  Reported by Paul Eggert.
52667
52668 2001-07-16  Jim Meyering  <meyering@lucent.com>
52669
52670         * m4/gettimeofday.m4: New file.
52671         Prompted by a report from Bernhard Baehr.
52672
52673 2001-07-15  Jim Meyering  <meyering@lucent.com>
52674
52675         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
52676         stuff. Now it's in ../Makefile.cfg.
52677
52678 2001-07-15  Jim Meyering  <meyering@lucent.com>
52679
52680         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
52681         (BUILT_SOURCES): Add unlocked-io.h.
52682         (io_functions): Define.
52683         (unlocked-io.h): New rule.
52684         (DISTCLEANFILES): Add unlocked-io.h.
52685         (all-local): Depend on unlocked-io.h, to ensure it is created.
52686
52687         * lib/unlocked-io.hin: New file
52688
52689         * lib/regex.c: Update from glibc.
52690
52691 2001-07-05  Jim Meyering  <meyering@lucent.com>
52692
52693         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
52694         recommendation.
52695         (libfetish_a_SOURCES): Put all .h files here instead.
52696         Remove a thus-exposed (better checks in automake) duplicate and
52697         two unnecessary .h files.
52698
52699 2001-07-04  Jim Meyering  <meyering@lucent.com>
52700
52701         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
52702         that generates jm-glibc-io.m4 so that it doesn't trigger any make
52703         distcheck failure.
52704
52705 2001-07-02  Jim Meyering  <meyering@lucent.com>
52706
52707         The following changes were prompted by suggestions from Bruno Haible.
52708
52709         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
52710         is now generated.
52711         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
52712         definition of EXTRA_DIST.
52713         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
52714         ensure that the generated file is created/updated whenever the list
52715         of $(unlocked_functions) is changed.
52716         (jm-glibc-io.m4): New rule.
52717         (unlocked-io.h): New rule -- currently unused.
52718
52719 2001-06-24  Jim Meyering  <meyering@lucent.com>
52720
52721         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
52722         unmatched right bracket, rather than kludging it with an extra,
52723         falsely-matching quote in a comment.  Patch by Akim Demaille.
52724
52725 2001-06-11  Jim Meyering  <meyering@lucent.com>
52726
52727         * lib/regex.c: Update from GNU libc.
52728
52729 2001-05-27  Jim Meyering  <meyering@lucent.com>
52730
52731         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
52732         Check for ut_type in struct utmp.
52733
52734 2001-05-27  Jim Meyering  <meyering@lucent.com>
52735
52736         * lib/readutmp.h (UT_TYPE): Define.
52737
52738 2001-05-24  Jim Meyering  <meyering@lucent.com>
52739
52740         * lib/argmatch.c: Include "quote.h".
52741         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
52742         quote function.  Reported by Göran Uddeborg.
52743
52744 2001-05-22  Jim Meyering  <meyering@lucent.com>
52745
52746         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
52747         now that we use the package-supplied version unconditionally.
52748         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
52749
52750 2001-05-21  Jim Meyering  <meyering@lucent.com>
52751
52752         * m4/regex.m4: Change a couple backticks to single quotes to avoid
52753         shell syntax errors.
52754
52755 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
52756
52757         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
52758
52759 2001-05-20  Paul Eggert  <eggert@twinsun.com>
52760
52761         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
52762         Don't bother to check library strftime, since
52763         we'll be using our own my_strftime function anyway.
52764         Define my_strftime instead of strftime.
52765
52766 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
52767
52768         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
52769         which is not yet declared.
52770
52771 2001-05-15  Jim Meyering  <meyering@lucent.com>
52772
52773         * m4/regex.m4: Use proper quoting so brackets appear in the test
52774         program.
52775         Reported by, and with help from, Bruno Haible.
52776
52777 2001-05-13  Jim Meyering  <meyering@lucent.com>
52778
52779         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
52780         undefined.
52781
52782 2001-05-11  Paul Eggert  <eggert@twinsun.com>
52783
52784         dirname code cleanup.  base_name now behaves more compatibly
52785         with POSIX basename when given file names that have trailing
52786         slashes, and similarly for dir_name.  Add new primitives
52787         base_len and dir_len.  Put the directory-name-related decls
52788         into dirname.h.
52789
52790         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
52791         * lib/backupfile.c (base_name): Likewise.
52792         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
52793         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
52794         * lib/makepath.c (strip_trailing_slashes): Likewise.
52795         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
52796         ISSLASH): Likewise.
52797         * lib/rename.c (strip_trailing_slashes): Likewise.
52798         * lib/same.c (base_name): Likewise.
52799         * lib/stripslash.c (ISSLASH): Likewise.
52800
52801         * lib/addext.c: Include <dirname.h> after size_t is defined.
52802         * lib/backupfile.c: Likewise.
52803
52804         * lib/addext.c (addext): Use base_len to trim redundant
52805         trailing slashes instead of doing it ourselves.
52806         But do not trim the last slash if it is not redundant.
52807
52808         * lib/backupfile.c (find_backup_file_name,
52809         max_backup_version): Use base_len instead of rolling it ourselves.
52810         Handle the case of "" and (on DOS) "C:" correctly.
52811
52812         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
52813         needed. Include <string.h>, <dirname.h>.
52814         (base_name): Allow file names ending in slashes, other than names
52815         that are all slashes.  In this case, return the basename followed
52816         by the slashes.  This is more general, and can be used in places
52817         where the original base_name purposely had an assertion failure.
52818         (base_len): New function.
52819
52820         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
52821         Do not include <assert.h>; no longer needed.
52822         Include xalloc.h.
52823         (memrchr): Remove decl.
52824         (dir_name_r): Remove.
52825         (dir_len): Renamed from dirlen.  All callers changed.
52826         Rewrite in terms of base_name, for simplicity and consistency.
52827         (dir_name): Never return NULL.  All callers changed.
52828         Do not include <stdlib.h> in test program; no longer needed.
52829         return 0; is fine for test program.
52830
52831         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
52832         New macros.
52833         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
52834
52835         * lib/path-concat.c (path_concat): Use base_len to compute
52836         base length, not strlen; this means we cannot rely on memcpy
52837         to null-terminate.
52838
52839         * lib/same.c (STREQ): Remove.
52840         (same_name): Handle the case where the basename ends in trailing '/'.
52841
52842         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
52843         a slash was stripped.  Do not strip the last slash after a
52844         file system prefix.
52845
52846 2001-05-11  Paul Eggert  <eggert@twinsun.com>
52847
52848         * lib/Makefile.am (libfetish_a_SOURCES):
52849         Add strftime.c, since we now compile it on all hosts.
52850
52851         * lib/strftime.c (my_strftime):
52852         Define to nstrftime if emacs, but only if my_strftime is not defined.
52853         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
52854         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
52855         Add one more extra argument: a nanoseconds value.
52856         All uses changed.
52857         (ns): New macro.
52858         (my_strftime function): Add %N format.
52859         (emacs_strftimeu): Renamed from emacs_strftime,
52860         with extra ut argument.
52861
52862 2001-05-09  Paul Eggert  <eggert@twinsun.com>
52863
52864         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
52865
52866 2001-04-21  Jim Meyering  <meyering@lucent.com>
52867
52868         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
52869         doesn't interfere.
52870
52871 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
52872
52873         * m4/ftruncate.m4: Check for chsize.
52874         Link with ftruncate.o unconditionally if ftruncate is missing.
52875         This was required when cross-compiling to i586-mingw32msvc.
52876
52877 2001-04-08  Jim Meyering  <meyering@lucent.com>
52878
52879         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
52880         recomputed; that's necessary when the offset spans a DST transition.
52881         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
52882
52883 2001-04-02  Jim Meyering  <meyering@lucent.com>
52884
52885         * lib/regex.h, regex.c: Update from GNU libc.
52886
52887 2001-03-24  Jim Meyering  <meyering@lucent.com>
52888
52889         * m4/jm-macros.m4: Require autoconf-2.49d.
52890
52891 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
52892
52893         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
52894
52895 2001-03-19  Paul Eggert  <eggert@twinsun.com>
52896
52897         * lib/version-etc.c (version_etc_copyright): Update to 2001.
52898
52899 2001-03-17  Jim Meyering  <meyering@lucent.com>
52900
52901         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
52902         now that the version in autoconf is equivalent.
52903         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
52904
52905         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
52906         Suggestion from Akim Demaille.
52907
52908         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
52909         (jm_PREREQ_TEMPNAME): New function.
52910
52911 2001-03-16  Paul Eggert  <eggert@twinsun.com>
52912
52913         * lib/tempname.c (uint64_t): Define to uintmax_t if
52914         not defined, and if UINT64_MAX is not defined.
52915         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
52916         Reported by John David Anglin.
52917
52918 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
52919
52920         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
52921         resolve alias if codeset is empty.
52922         * lib/config.charset (BeOS): Use wildcard syntax.
52923
52924 2001-03-13  Jim Meyering  <meyering@lucent.com>
52925
52926         * lib/path-concat.c (path_concat)
52927         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
52928         concatenating e.g., `C:' and `foo'.
52929         From Bruno Haible.
52930
52931 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
52932
52933         * lib/localcharset.c (locale_charset): Don't use
52934         setlocale(LC_CTYPE,NULL). Don't return NULL.
52935         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
52936
52937 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
52938
52939         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
52940         support for DOS/DJGPP.
52941
52942 2001-03-01  Paul Eggert  <eggert@twinsun.com>
52943
52944         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
52945         lacks mkstemp.  Compile our own tempname.c if we compile our own
52946         mkstemp.c, as mkstemp relies on tempname.
52947
52948 2001-03-01  Jim Meyering  <meyering@lucent.com>
52949
52950         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
52951         AH_VERBATIM really does output its argument verbatim.
52952
52953 2001-02-28  Paul Eggert  <eggert@twinsun.com>
52954
52955         * lib/Makefile.am (libfetish_a_SOURCES):
52956         Add dup-safer.c, fopen-safer.c.
52957         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
52958
52959         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
52960         * lib/unistd-safer.h: New files.
52961
52962 2001-02-25  Paul Eggert  <eggert@twinsun.com>
52963
52964         The mkstemp replacement is taken from glibc 2.2.2, with some
52965         portability fixes for use outside glibc, as follows:
52966
52967         * lib/tempname.c (struct_stat64): New macro.
52968         (direxists, __gen_tempname): Use it.
52969         This avoids a portability problem with Solaris 8.
52970
52971         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
52972         (<stddef.h>, <stdint.h>, <string.h>):
52973         Include only if STDC_HEADERS || _LIBC.
52974         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
52975         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
52976         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
52977         (__set_errno): Define this macro if <errno.h> doesn't.
52978         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
52979         Define these macros if <stdio.h> doesn't.
52980         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
52981         Define these macros if <sys/stat.h>
52982         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
52983         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
52984         __xstat64): Define if not _LIBC.
52985         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
52986         (__gen_tempname): Invoke gettimeofday only if
52987         HAVE_GETTIMEOFDAY || _LIBC;
52988         otherwise, fall back on plain "time".
52989         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
52990
52991         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
52992
52993         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
52994
52995 2001-02-18  Paul Eggert  <eggert@twinsun.com>
52996
52997         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
52998
52999 2001-02-17  Paul Eggert  <eggert@twinsun.com>
53000
53001         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
53002         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
53003         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
53004         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
53005
53006 2001-02-17  Paul Eggert  <eggert@twinsun.com>
53007
53008         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
53009         Remove workaround macros for hosts that have mbrtowc but not
53010         mbstate_t, as we now insist on proper declarations for both
53011         before using mbrtowc.
53012
53013 2001-02-17  Jim Meyering  <meyering@lucent.com>
53014
53015         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
53016         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
53017         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
53018         UnixWare 7.1.1.
53019
53020         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
53021         rather than AC_CACHE_VAL.
53022
53023 2001-02-17  Jim Meyering  <meyering@lucent.com>
53024
53025         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
53026         around included file name.
53027
53028         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
53029
53030         * lib/strftime.c: Update from GNU libc (the only changes were to
53031         comments).
53032
53033 2001-02-17  Jim Meyering  <meyering@lucent.com>
53034
53035         * lib/regex.c: Update from libc.
53036
53037 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
53038
53039         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
53040         clash.
53041
53042 2001-02-16  Paul Eggert  <eggert@twinsun.com>
53043
53044         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
53045         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
53046         Reported by Mark Hounschell via Paul Eggert.
53047
53048 2001-02-07  Jim Meyering  <meyering@lucent.com>
53049
53050         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
53051
53052 2001-02-05  Jim Meyering  <meyering@lucent.com>
53053
53054         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
53055         it includes the patch required for `large file' support with at least
53056         HP-UX's 10.20 /bin/cc.
53057
53058 2001-02-03  Jim Meyering  <meyering@lucent.com>
53059
53060         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
53061         AS_IF, now that it works once again (mysteriously).
53062         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
53063
53064 2001-01-30  Jim Meyering  <meyering@lucent.com>
53065
53066         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
53067         * m4/chown.m4: Rename conftestchown to conftest.chown.
53068         * m4/rename.m4: s/conftestdir/conftest.d1/ and
53069         s/conftestdir2/conftest.d2/.
53070         * m4/utimes.m4: s/conftestdata/conftest.data/
53071         Inspired by Pavel Roskin's change in autoconf.
53072
53073 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
53074
53075         * lib/config.charset: Update for FreeBSD 4.2.
53076
53077 2001-01-27  Jim Meyering  <meyering@lucent.com>
53078
53079         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
53080         a use of AS_IF.
53081         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
53082
53083 2001-01-26  Jim Meyering  <meyering@lucent.com>
53084
53085         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
53086         quotearg.c includes it.
53087
53088 2001-01-26  Jim Meyering  <meyering@lucent.com>
53089
53090         * lib/quotearg.c: Include stddef.h.
53091         * lib/quote.c: Include stddef.h.
53092         Reported by Axel Kittenberger.
53093
53094         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
53095         line in double quotes so that it evokes a better diagnostic.
53096         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
53097         Reported by Axel Kittenberger.
53098
53099 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
53100
53101         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
53102         as if it was a `charset'.
53103
53104 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
53105
53106         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
53107         has const.
53108
53109 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
53110
53111         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
53112         to avoid a warning.  Add back 'const' to inptr.
53113
53114 2001-01-20  Jim Meyering  <meyering@lucent.com>
53115
53116         Be sure that headers are checked before used in code compiled
53117         for the type checks.
53118         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
53119         In place of that, invoke jm_CHECK_ALL_TYPES.
53120         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
53121         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
53122         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
53123         The check for ssize_t was mistakenly run before the test for unistd.h.
53124
53125         The configure-time check for stdbool.h was missing.
53126         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
53127         (jm_PREREQ_HASH): New function.
53128
53129 2001-01-17  Jim Meyering  <meyering@lucent.com>
53130
53131         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
53132         for autoconf-2.49c.
53133         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
53134
53135 2001-01-16  Jim Meyering  <meyering@lucent.com>
53136
53137         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
53138         From Bruno Haible.
53139
53140 2001-01-14  Jim Meyering  <meyering@lucent.com>
53141
53142         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
53143         foo and bar.  Create conftestdir/ in the script, not in the C code.
53144         Remove directories in the script, not in the C code.
53145         Remove conftestdir{,2} before trying to create the directory.
53146         Make the entire configure script fail if the mkdir fails.
53147
53148 2001-01-14  Jim Meyering  <meyering@lucent.com>
53149
53150         * lib/rename.c: New file.  From Volker Borchert.
53151         Include stdlib.h, string.h or strings.h, and xalloc.h.
53152         Use strip_trailing_slashes rather than open-coding it.
53153
53154 2001-01-03  Paul Eggert  <eggert@twinsun.com>
53155
53156         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
53157
53158 2001-01-03  Jim Meyering  <meyering@lucent.com>
53159
53160         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
53161         of local `inptr' to avoid warning with some system declarations of
53162         iconv.
53163
53164 2001-01-02  Volker Borchert  <bt@teknon.de>
53165
53166         * m4/rename.m4: New file.
53167         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
53168
53169 2001-01-01  Jim Meyering  <meyering@lucent.com>
53170
53171         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
53172         even on systems with utmpx.h.  It's necessary for the declaration of
53173         utmp's ut_user member.  Reported by Andreas Jaeger.
53174
53175         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
53176         available. They are required for the declarations of getgrgid and
53177         getpwuid resp.
53178         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
53179         Reported by Andreas Jaeger.
53180
53181 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
53182
53183         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
53184         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
53185         so `make install' also works in VPATH builds.
53186
53187 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
53188
53189         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
53190         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
53191         can be used in subdirectories.
53192
53193 2000-12-29  Paul Eggert  <eggert@twinsun.com>
53194
53195         * lib/modechange.c: Do not assume that mode_t uses the
53196         traditional octal encoding.  E.g. "chmod 1 FOO" should set
53197         the other-execute bit of FOO even if S_IXOTH != 1.
53198
53199         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
53200         WOTH, XOTH, ALLM): New macros.
53201         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
53202          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
53203         Use them.
53204         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
53205         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
53206         (mode_compile):
53207         No need to use uintmax_t; unsigned long is long enough.
53208         Don't bother to get suffix since we don't use it.
53209
53210 2000-12-26  Jim Meyering  <meyering@lucent.com>
53211
53212         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
53213         better with autoheader.
53214
53215 2000-12-24  Jim Meyering  <meyering@lucent.com>
53216
53217         * lib/hash.c (is_prime): Return explicit boolean values.
53218         (hash_get_first): Return NULL to appease Irix5.6's 89.
53219         Reported by Nelson Beebe.
53220
53221 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
53222
53223         * lib/localcharset.c (locale_charset): Add support for Win32.
53224
53225 2000-12-18  Paul Eggert  <eggert@twinsun.com>
53226
53227         * lib/physmem.h, lib/physmem.c: New files.
53228
53229         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
53230         (noinst_HEADERS): Add physmem.h.
53231
53232         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
53233         't' for compatibility with Solaris 8 sort.
53234
53235 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
53236
53237         * lib/config.charset: Add support for BeOS.
53238
53239 2000-12-17  Jim Meyering  <meyering@lucent.com>
53240
53241         * m4/dos.m4 (jm_AC_DOS): New file and macro.
53242         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
53243
53244 2000-12-16  Jim Meyering  <meyering@lucent.com>
53245
53246         This bug had a serious impact on chown: `chown N:M FILE' (for integer
53247         N and M) would have treated it like `chown N:N FILE'.
53248
53249         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
53250
53251 2000-12-16  Jim Meyering  <meyering@lucent.com>
53252
53253         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
53254         SHELLS_FILE to a file name that's useful on djgpp systems.
53255         Include stdlib.h.
53256         (ADDITIONAL_DEFAULT_SHELLS): Define.
53257         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
53258         Based mostly on a patch from Prashant TR.
53259
53260 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
53261
53262         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
53263         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
53264         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
53265
53266 2000-12-08  Andreas Schwab  <schwab@suse.de>
53267
53268         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
53269         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
53270
53271 2000-12-07  Jim Meyering  <meyering@lucent.com>
53272
53273         * lib/stripslash.c (ISSLASH): Define.
53274         (strip_trailing_slashes): Use ISSLASH rather than comparing against
53275         `/'.
53276         From Prashant TR.
53277
53278         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
53279         (dir_name_r): Declare this function as static.
53280         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
53281         manifest itself on a name containing a mix of slashes and
53282         backslashes.
53283         Make this function work with names starting with a DOS-style
53284         drive letter and colon prefix.
53285         (dir_name): Append `.' if necessary.
53286         Based mostly on patches from Prashant TR and Eli Zaretskii.
53287
53288         * lib/dirname.h (dir_name_r): Remove prototype.
53289
53290 2000-12-06  Paul Eggert  <eggert@twinsun.com>
53291
53292         * m4/off_t-format.m4: Remove this file.
53293         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
53294
53295 2000-12-06  Jim Meyering  <meyering@lucent.com>
53296
53297         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
53298         replacement strtoull, we may well need the replacement strtoul, too.
53299         Check for declarations of strtoul and strtoull.
53300         Check for strtol.  Mainly as a cue to cause automake to include
53301         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
53302         Check for limits.h -- strtol.c needs it.
53303
53304 2000-12-05  Jim Meyering  <meyering@lucent.com>
53305
53306         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
53307
53308 2000-12-04  Jim Meyering  <meyering@lucent.com>
53309
53310         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
53311         Also include memory.h, stdlib.h, unistd.h if appropriate.
53312         Reported by Andreas Jaeger (conflicting declaration of malloc).
53313
53314 2000-12-02  Jim Meyering  <meyering@lucent.com>
53315
53316         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
53317         * m4/jm-macros.m4 (jm_MACROS): require it.
53318
53319 2000-12-02  Jim Meyering  <meyering@lucent.com>
53320
53321         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
53322
53323 2000-12-01  Paul Eggert  <eggert@twinsun.com>
53324
53325         * lib/memrchr.c: Include <config.h> before any system include file.
53326
53327 2000-11-30  Jim Meyering  <meyering@lucent.com>
53328
53329         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
53330
53331 2000-11-30  Jim Meyering  <meyering@lucent.com>
53332
53333         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
53334
53335 2000-11-29  Paul Eggert  <eggert@twinsun.com>
53336
53337         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
53338
53339 2000-11-26  Jim Meyering  <meyering@lucent.com>
53340
53341         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
53342
53343 2000-11-22  Paul Eggert  <eggert@twinsun.com>
53344
53345         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
53346         size of (size_t) -1; it's not portable.
53347
53348 2000-11-17  Jim Meyering  <meyering@lucent.com>
53349
53350         * lib/strstr.c: Update from GNU libc.
53351
53352 2000-11-17  Akim Demaille  <akim@epita.fr>
53353
53354         * lib/obstack.h: Formatting changes.
53355         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
53356         prevent type checking.
53357         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
53358         cast the value to (void *): assigning a `foo *' to a `void *'
53359         variable is valid.
53360         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
53361
53362 2000-11-16  Jim Meyering  <meyering@lucent.com>
53363
53364         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
53365
53366 2000-11-11  Jim Meyering  <meyering@lucent.com>
53367
53368         * lib/error.c: Add a couple #includes, merging from GNU libc version.
53369
53370 2000-11-10  Jim Meyering  <meyering@lucent.com>
53371
53372         * lib/obstack.h: Update from GNU libc.
53373         * lib/obstack.c: Likewise.
53374
53375 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
53376
53377         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
53378
53379 2000-11-06  Paul Eggert  <eggert@twinsun.com>
53380
53381         * lib/getusershell.c (setusershell): Use rewind rather than
53382         fseek/fseeko, to avoid configuration hassles with fseeko.
53383         Don't bother opening SHELLS_FILE if shellstream is NULL;
53384         it's not necessary.
53385
53386 2000-11-05  Jim Meyering  <meyering@lucent.com>
53387
53388         * lib/makepath.h (make_dir): Declare.
53389         * lib/makepath.c (make_dir): Remove `static' attribute.
53390         Tweak a comment.
53391
53392 2000-11-04  Jim Meyering  <meyering@lucent.com>
53393
53394         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
53395
53396 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
53397
53398         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
53399         last one in a bucket, advance to the next bucket.
53400
53401 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
53402
53403         * lib/fnmatch.c: Do not comment out all the code if we are using
53404         the GNU C library, because in some cases we are replacing buggy
53405         code in the GNU C library itself.
53406
53407 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
53408
53409         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
53410         (regex_compile): Catch bogus \(\1\).
53411
53412 2000-10-30  Paul Eggert  <eggert@twinsun.com>
53413
53414         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
53415         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
53416         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
53417
53418 2000-10-30  Paul Eggert  <eggert@twinsun.com>
53419
53420         * lib/error.h, getline.h, modechange.h:
53421         Remove "2000" from Copyright line, as the file hasn't been
53422         changed this year other than in the copyright notice.
53423
53424         * lib/xalloc.h: Add "2000" to Copyright line, as this file
53425         was changed this year.
53426
53427 2000-10-29  Jim Meyering  <meyering@lucent.com>
53428
53429         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
53430         renaming.
53431         * m4/ls-mntd-fs.m4: Likewise
53432
53433 2000-10-29  Jim Meyering  <meyering@lucent.com>
53434
53435         * lib/xstat.in: Fix grammar in comment.
53436
53437 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
53438
53439         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
53440         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
53441         doesn't define __restrict_arr.
53442
53443 2000-10-28  Jim Meyering  <meyering@lucent.com>
53444
53445         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
53446         (jm_PREREQ_MEMCHR): New function.
53447
53448 2000-10-28  Jim Meyering  <meyering@lucent.com>
53449
53450         * lib/memchr.c: Update from libc.
53451         Adjust for portability:
53452         [HAVE_STDLIB_H]: Include stdlib.h.
53453         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
53454         Undef __memchr, too.
53455         [!weak_alias]: Define __memchr to memchr.
53456
53457         * lib/regex.c: Update from libc.
53458         * lib/regex.h: Likewise.
53459         * lib/getopt1.c: Likewise.
53460         * lib/memcmp.c: Likewise.
53461
53462         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
53463         Avoid using fseek, when possible -- it's broken by design.
53464         Patch by Ulrich Drepper.
53465
53466 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
53467
53468         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
53469         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
53470         Giving in to popular pressure to shut up the compiler with casts.
53471
53472 2000-10-26  Jim Meyering  <meyering@lucent.com>
53473
53474         * lib/strftime.c: Update from libc.
53475
53476 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
53477
53478         * regex.c: More `unsigned char' -> `re_char' changes.
53479         Also change several `int' into `re_wchar_t'.
53480         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
53481         (PUSH_FAILURE_POINTER): Don't cast any more.
53482         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
53483         We want GCC to complain, since this piece of code makes
53484         re_match non-reentrant, which *should* be fixed.
53485         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
53486         (EXTEND_BUFFER): Use RETALLOC.
53487         (SET_LIST_BIT): Don't cast.
53488         (re_wchar_t): New type.
53489         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
53490         that those two functions will always properly return.
53491         (IMMEDIATE_QUIT_CHECK): Cast to void.
53492         (analyse_first): Use recursion rather than an explicit stack.
53493         (re_compile_fastmap): Can't fail anymore.
53494         (re_search_2): Don't check re_compile_fastmap for failure.
53495         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
53496         Now also sets the new value (passed in a new argument).
53497         (re_match_2_internal): Use it.
53498         Also, use a new var `reg' of type size_t when looping through regs
53499         rather than reuse the inappropriate `mcnt'.
53500
53501 2000-10-25  Jim Meyering  <meyering@lucent.com>
53502
53503         * lib/obstack.c: Update from libc.
53504
53505 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
53506
53507         * regex.c (regex_compile): Change the way of handling a range from
53508         a char less than 256 to a char not less than 256.
53509
53510 2000-10-24  Andrew Innes  <andrewi@gnu.org>
53511
53512         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
53513         NT-Emacs only.
53514         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
53515         so that re_search functions only quit when callers expect them to.
53516
53517 2000-10-23  Jim Meyering  <meyering@lucent.com>
53518
53519         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
53520         wrong.  That set_locale call must not have any side effects.
53521         From Paul Eggert.
53522
53523 2000-10-22  Jim Meyering  <meyering@lucent.com>
53524
53525         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
53526         [CYCLIC]: Remove now-unused definition.
53527
53528         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
53529         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
53530         Suggestion from Ulrich Drepper.
53531
53532 2000-10-21  Jim Meyering  <meyering@lucent.com>
53533
53534         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
53535         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
53536         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
53537
53538 2000-10-21  Jim Meyering  <meyering@lucent.com>
53539
53540         * lib/dirname.c (memrchr): Declare if necessary.
53541         (dir_name): Remove the restriction that there be no
53542         trailing slashes.  Now, this code skips past them, effectively
53543         ignoring them.
53544         [TEST_DIRNAME] (main): New unit tests.
53545
53546         * lib/memrchr.c: New file from GNU libc.
53547         Undef __memrchr, too.
53548         [!weak_alias]: Define __memrchr to memrchr.
53549         Guard weak_alias use with `#ifdef weak_alias'.
53550
53551 2000-10-21  Jim Meyering  <meyering@lucent.com>
53552
53553         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
53554         (dir_name): Use dir_name_r.
53555         * lib/dirname.h (dir_name_r): Declare it.
53556
53557 2000-10-17  Jim Meyering  <meyering@lucent.com>
53558
53559         * lib/quote.h (PARAMS): Define and use.
53560         Reported by Akim Demaille.
53561
53562         * lib/getopt.c: Update from libc.
53563
53564 2000-10-16  Jim Meyering  <meyering@lucent.com>
53565
53566         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
53567         setlocale.
53568         From Jan Fedak.
53569
53570 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
53571
53572         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
53573
53574 2000-09-25  Jim Meyering  <meyering@lucent.com>
53575
53576         * lib/md5.h (rol): Define (from GnuPG).
53577
53578         * lib/sha.c: Give credit (GnuPG) where due.
53579         (M): Use rol rather than open-coding it.
53580         Add a FIXME comment.
53581
53582 2000-09-21  Jim Meyering  <meyering@lucent.com>
53583
53584         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
53585         Reported by Michael Stone.
53586
53587 2000-09-20  Jim Meyering  <meyering@lucent.com>
53588
53589         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
53590         (noinst_HEADERS): Add sha.h.
53591         Based on code from Scott G. Miller and from GnuPG.
53592
53593 2000-09-18  Jim Meyering  <meyering@lucent.com>
53594
53595         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
53596         LIBS. Otherwise, everyone ends up linking with -lelf for some
53597         configurations.
53598         Reported by Mike Stone.
53599
53600 2000-09-15  Jim Meyering  <meyering@lucent.com>
53601
53602         * lib/regex.c: Update from libc.
53603
53604 2000-09-10  Jim Meyering  <meyering@lucent.com>
53605
53606         * lib/getopt.c (_getopt_internal): Update from glibc.
53607
53608 2000-09-09  Jim Meyering  <meyering@lucent.com>
53609
53610         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
53611         think it should be used as a general replacement for isascii.
53612         * lib/fnmatch.c: Likewise.
53613         * lib/mbswidth.c: Likewise
53614         * lib/regex.c: Likewise.
53615
53616         Don't use atoi.
53617         * lib/userspec.c: Include sys/param.h and limits.h.
53618         Include xstrtol.h.
53619         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
53620         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
53621         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
53622         UID, GID.  Check range.
53623
53624 2000-09-06  Jim Meyering  <meyering@lucent.com>
53625
53626         * lib/getopt.c (_getopt_internal): Update from glibc.
53627
53628 2000-08-30  Jim Meyering  <meyering@lucent.com>
53629
53630         * lib/strftime.c: Merge in changes from GNU libc.
53631
53632 2000-08-26  Jim Meyering  <meyering@lucent.com>
53633
53634         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
53635         * m4/fpending.m4: New file.
53636
53637 2000-08-26  Jim Meyering  <meyering@lucent.com>
53638
53639         * lib/closeout.c: Include "__fpending.h".
53640         (close_stdout_status): Return right away if there's nothing to flush.
53641
53642         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
53643         * lib/__fpending.c: New file.
53644         * lib/__fpending.h: New file.
53645
53646 2000-08-20  Jim Meyering  <meyering@lucent.com>
53647
53648         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
53649         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
53650         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
53651
53652 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
53653
53654         Improve fileutils installation on systems where running
53655         programs (like install) can't be unlinked.
53656         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
53657         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
53658
53659 2000-08-07  Paul Eggert  <eggert@twinsun.com>
53660
53661         Standardize on "memory exhausted" instead of "Memory exhausted"
53662         or "virtual memory exhausted".
53663         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
53664         "virtual memory exhausted".
53665         * lib/same.c (same_name): Invoke xalloc_die instead of printing
53666         our own message.
53667         * lib/userspec.c (parse_user_spec): Likewise.
53668         * lib/bumpalloc.h: comment fix
53669         * lib/same.c, userspec.c: Include xalloc.h.
53670
53671         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
53672         not char *const and pointing to a constant array.
53673         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
53674         (xrealloc): Comment fix.
53675
53676         * lib/userspec.c (parse_user_spec):
53677         Don't translate a message until just before returning,
53678         to avoid unnecessary translation.
53679
53680 2000-08-07  Jim Meyering  <meyering@lucent.com>
53681
53682         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
53683         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
53684         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
53685         getgroups.c, gethostname.c, getopt.h, group-member.c,
53686         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
53687         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
53688         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
53689         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
53690         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
53691         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
53692         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
53693         yesno.c: Back out Copyright date changes for each file with no change
53694         this year.  This eases coordination with other programs using the same
53695         source code modules.  From Paul Eggert.
53696
53697 2000-08-06  Paul Eggert  <eggert@twinsun.com>
53698
53699         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
53700         not char, for compatibility with glibc 2.1.3 strftime.c.
53701
53702 2000-08-03  Greg McGary  <greg@mcgary.org>
53703
53704         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
53705         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
53706         (EXTEND_BUFFER): Use them.
53707
53708 2000-08-01  Jim Meyering  <meyering@lucent.com>
53709
53710         * lib/dirname.c (ISSLASH): Define.
53711         (BACKSLASH_IS_PATH_SEPARATOR): Define.
53712         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
53713         both `\' and `/' may be use as path separators.
53714         Based on a patch from Prashant TR.
53715
53716 2000-07-31  Paul Eggert  <eggert@twinsun.com>
53717
53718         * lib/quotearg.c (quotearg_n_options): Don't make the initial
53719         slot vector a constant, since it might get modified.
53720
53721 2000-07-31  Jim Meyering  <meyering@lucent.com>
53722
53723         * lib/xmalloc.c: Use `virtual memory exhausted', not
53724         `Memory exhausted'.
53725         * lib/obstack.c (print_and_abort): Likewise.
53726
53727 2000-07-30  Paul Eggert  <eggert@twinsun.com>
53728
53729         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
53730         buffer, so that the caller can always quote one small
53731         component of a "memory exhausted" message in slot 0.
53732         From a suggestion by Jim Meyering.
53733
53734 2000-07-30  Jim Meyering  <meyering@lucent.com>
53735
53736         * lib/makepath.c (make_path): Quote the other instance, too.
53737
53738         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
53739         (STATIC_BUF_SIZE): Define.
53740         (quotearg_n_options): Use only statically allocated storage when
53741         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
53742         than STATIC_BUF_SIZE.
53743
53744 2000-07-29  Jim Meyering  <meyering@lucent.com>
53745
53746         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
53747         * lib/dirname.c (dir_name): Likewise.
53748
53749         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
53750         `/'.
53751
53752         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
53753         (dir_name): Assert that there are no trailing slashes.
53754
53755 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
53756
53757         * lib/mbswidth.h (mbswidth): Add a flags argument.
53758         (mbswidth): New declaration.
53759         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
53760         * lib/mbswidth.c (mbswidth): Add a flags argument.
53761         (mbsnwidth): New function.
53762
53763 2000-07-24  Jim Meyering  <meyering@lucent.com>
53764
53765         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
53766
53767 2000-07-23  Paul Eggert  <eggert@twinsun.com>
53768
53769         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
53770
53771 2000-07-23  Paul Eggert  <eggert@twinsun.com>
53772
53773         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
53774         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
53775         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
53776         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
53777         invoke multibyte primitives.
53778
53779 2000-07-23  Paul Eggert  <eggert@twinsun.com>
53780
53781         * lib/quotearg.c:
53782         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
53783         so that mbstate_t is always defined.
53784
53785         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
53786         be 1 in at least one GCC installation, and this configuration
53787         error is likely to be common.  Ignoring MB_LEN_MAX hurts
53788         performance on hosts that have mbrtowc but have only unibyte
53789         locales, but I assume these hosts are rare.
53790
53791 2000-07-23  Paul Eggert  <eggert@twinsun.com>
53792
53793         * lib/mbswidth.c (_XOPEN_SOURCE):
53794         Don't define; this causes problems on Solaris 7.
53795         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
53796
53797 2000-07-23  Jim Meyering  <meyering@lucent.com>
53798
53799         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
53800         too: getgrgid, getpwuid, getuid.
53801
53802 2000-07-23  Jim Meyering  <meyering@lucent.com>
53803
53804         * lib/basename.c (base_name): Add an assertion.
53805
53806 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
53807
53808         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
53809         shadow its mbsinit function.
53810
53811 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
53812
53813         * lib/mbswidth.h: New file.
53814         * lib/mbswidth.c: New file.
53815         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
53816         (noinst_HEADERS): Add mbswidth.h.
53817
53818 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
53819
53820         * lib/config.charset: Add support for FreeBSD. Improve support for
53821         HP-UX and IRIX 6.
53822
53823 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
53824
53825         * m4/mbswidth.m4: New file.
53826         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
53827
53828 2000-07-15  Jim Meyering  <meyering@lucent.com>
53829
53830         * lib/makepath.c: Include quote.h.
53831         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
53832         corresponding argument in a `quote (...)' call.
53833         Give better diagnostics.
53834
53835         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
53836         (noinst_HEADERS): Add quote.h.
53837
53838         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
53839         from tar's src/misc.c.
53840         * lib/quote.h: New file.  Prototypes for same.
53841
53842 2000-07-14  Paul Eggert  <eggert@twinsun.com>
53843
53844         From a suggestion by Bruno Haible.
53845         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
53846         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
53847         to decide whether to define the BeOS workaround macro;
53848         this adjusts to the change to AC_MBSTATE_T.
53849
53850 2000-07-14  Jim Meyering  <meyering@lucent.com>
53851
53852         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
53853         jm_AC_TYPE_UINTMAX_T.
53854
53855 2000-07-13  Paul Eggert  <eggert@twinsun.com>
53856
53857         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
53858
53859         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
53860         quotearg_buffer_restyled): Add support for
53861         clocale_quoting_style.  Undo previous change to
53862         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
53863         and "{RIGHT QUOTATION MARK}" msgids.
53864
53865 2000-07-10  Paul Eggert  <eggert@twinsun.com>
53866
53867         From a suggestion by Bruno Haible.
53868         * m4/mbstate_t.m4 (AC_MBSTATE_T):
53869         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
53870         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
53871         and mbstate_t, to a single-part test that simply defines mbstate_t.
53872         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
53873         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
53874
53875 2000-07-10  Jim Meyering  <meyering@lucent.com>
53876
53877         * m4/strerror_r.m4: Mirror the correction made in autoconf.
53878
53879         * m4/gnu-source.m4: Output to confdefs.h directly.
53880         Suggestion from Akim Demaille.
53881
53882 2000-07-09  Paul Eggert  <eggert@twinsun.com>
53883
53884         The old behavior of quoting `like this' doesn't look good with
53885         newer, ISO-style fonts.  See:
53886         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
53887
53888         Instead, quote "like this" by default.  Let the translator
53889         tailor the locale-specific quoting behavior by providing
53890         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
53891
53892         * lib/quotearg.c (N_): New macro.
53893         (gettext_default): New function.
53894         (quotearg_buffer_restyled): Use
53895         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
53896         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
53897
53898 2000-07-09  Jim Meyering  <meyering@lucent.com>
53899
53900         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
53901         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
53902
53903         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
53904         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
53905
53906 2000-07-09  Jim Meyering  <meyering@lucent.com>
53907
53908         * lib/Most files: Update copyright dates to include 2000.
53909
53910 2000-07-08  Jim Meyering  <meyering@lucent.com>
53911
53912         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
53913         if not defined.
53914         (xgethostname): Remove now-unnecessary #ifdef.
53915         Move declaration of `err' into loop where it's used.
53916
53917 2000-07-05  Paul Eggert  <eggert@twinsun.com>
53918         and Bruno Haible  <haible@clisp.cons.org>
53919
53920         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
53921         only if the test for an object-type mbstate_t fails.  This
53922         prevents us from mistakenly reporting that mbstate_t is a
53923         system object type after we "#define mbstate_t int" to work
53924         around its lack.
53925
53926 2000-07-05  Paul Eggert  <eggert@twinsun.com>
53927         and Bruno Haible  <haible@clisp.cons.org>
53928
53929         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
53930
53931 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
53932
53933         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
53934         to strerror_r.
53935         Include <ctype.h> for use of isalpha.
53936
53937 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
53938
53939         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
53940         by allocating a larger buffer. Test the gethostname return value for
53941         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
53942         returns an error and ENAMETOOLONG isn't defined.
53943
53944 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
53945
53946         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
53947         dimension.
53948
53949 2000-07-04  Jim Meyering  <meyering@lucent.com>
53950
53951         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
53952         of the deprecated AC_CHECKING.
53953
53954 2000-07-04  Jim Meyering  <meyering@lucent.com>
53955
53956         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
53957         Reported by Bruno Haible.
53958
53959 2000-07-04  Jim Meyering  <meyering@lucent.com>
53960
53961         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
53962         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
53963         lacks mbrtowc.
53964
53965 2000-07-03  Paul Eggert  <eggert@twinsun.com>
53966
53967         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
53968         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
53969
53970 2000-07-03  Paul Eggert  <eggert@twinsun.com>
53971         and Bruno Haible  <haible@clisp.cons.org>
53972
53973         * lib/quotearg.c (mbrtowc):
53974         Assign to *pwc, and return 1 only if result is nonzero.
53975         (iswprint): Use ISPRINT when substituting our own mbrtowc.
53976
53977 2000-07-03  Jim Meyering  <meyering@lucent.com>
53978
53979         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
53980
53981 2000-07-03  Jim Meyering  <meyering@lucent.com>
53982
53983         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
53984         This is necessary to get a definition of e.g., UTMP_FILE on
53985         HP-UX 10.20.
53986         From Bob Proulx.
53987
53988 2000-07-02  Jim Meyering  <meyering@lucent.com>
53989
53990         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
53991
53992         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
53993         AC_LIBOBJ(function_name).
53994         * m4/chown.m4: Likewise.
53995         * m4/fnmatch.m4: Likewise.
53996         * m4/ftruncate.m4: Likewise.
53997         * m4/getgroups.m4: Likewise.
53998         * m4/getline.m4: Likewise.
53999         * m4/group-member.m4: Likewise.
54000         * m4/jm-macros.m4: Likewise.
54001         * m4/lstat.m4: Likewise.
54002         * m4/malloc.m4: Likewise.
54003         * m4/memcmp.m4: Likewise.
54004         * m4/nanosleep.m4: Likewise.
54005         * m4/putenv.m4: Likewise.
54006         * m4/realloc.m4: Likewise.
54007         * m4/regex.m4: Likewise.
54008         * m4/stat.m4: Likewise.
54009         * m4/strftime.m4: Likewise.
54010
54011 2000-07-02  Jim Meyering  <meyering@lucent.com>
54012
54013         * lib/quotearg.c (mbstate_t): Don't define here.
54014
54015 2000-07-02  Jim Meyering  <meyering@lucent.com>
54016
54017         * lib/nanosleep.c (SIGCONT): Define if not already defined.
54018
54019 2000-07-01  Jim Meyering  <meyering@lucent.com>
54020
54021         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
54022
54023 2000-07-01  Jim Meyering  <meyering@lucent.com>
54024
54025         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
54026         problem.
54027
54028 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
54029
54030         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
54031         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
54032
54033 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
54034
54035         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
54036         per change in ../m4/ls-mntd-fs.m4.
54037         (read_filesystem_list): Ignore symbolic links.
54038
54039 2000-06-29  Jim Meyering  <meyering@lucent.com>
54040
54041         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
54042         for declaration of strcmp.
54043
54044         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
54045
54046         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
54047         Avoid warning by casting result to `char *' to remove `const'.
54048
54049 2000-06-28  Jim Meyering  <meyering@lucent.com>
54050
54051         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
54052         included by quotearg.c, for which we perform this test.  From
54053         Bruno Haible.
54054
54055 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
54056
54057         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
54058         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
54059         <utmpx.h> exists, put readutmp.o into LIBOBJS.
54060
54061 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
54062
54063         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
54064
54065 2000-06-26  Paul Eggert  <eggert@twinsun.com>
54066
54067         savedir now sets errno on failure and invokes xmalloc to get memory.
54068         Fix a couple of other minor bugs while we're at it.
54069
54070         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
54071         (NAMLEN): Remove macro.
54072         (malloc, realloc): Remove decls.
54073         (stpcpy): Likewise.
54074         ("xalloc.h"): Include.
54075         (NAME_SIZE_DEFAULT): New macro.
54076         (savedir): Use xmalloc / xrealloc to allocate memory.
54077         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
54078         Skip "" directory entries.
54079         Use strlen to calculate directory entry length, since the old method
54080         is rarely used these days and isn't worth supporting.
54081         Don't use a pointer after freeing it.
54082         Check for integer overflow when calculating allocation size.
54083         Use memcpy to copy entries, instead of stpcpy.
54084         Set errno properly when returning NULL.
54085         Check for readdir error.
54086
54087 2000-06-26  Jim Meyering  <meyering@lucent.com>
54088
54089         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
54090
54091 2000-06-25  Jim Meyering  <meyering@lucent.com>
54092
54093         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
54094         Linux header bug when _XOPEN_SOURCE is defined to 500.
54095
54096 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
54097
54098         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
54099         deficiency.
54100
54101 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
54102
54103         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
54104         Include xalloc.h.
54105         Don't include <stdlib.h>.  Don't declare malloc, realloc.
54106
54107 2000-06-24  Jim Meyering  <meyering@lucent.com>
54108
54109         * m4/strerror_r.m4: Revive this file -- to try out an experimental
54110         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
54111         for which strerror does return char*, but which lacks a conveniently
54112         accessible declaration of the function.  If the compile-test says
54113         strerror_r doesn't work, then resort to a `run'-test that works on
54114         BeOS and segfaults on DEC Unix.
54115
54116 2000-06-24  Jim Meyering  <meyering@lucent.com>
54117
54118         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
54119
54120 2000-06-23  Paul Eggert  <eggert@twinsun.com>
54121
54122         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
54123         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
54124
54125 2000-06-23  Paul Eggert  <eggert@twinsun.com>
54126
54127         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
54128         (mbrtowc, mbstate_t): Define substitutes if
54129         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
54130         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
54131         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
54132
54133 2000-06-23  Jim Meyering  <meyering@lucent.com>
54134
54135         * m4/afs.m4: Add missing AC_MSG_RESULT.
54136         Reported by Bruno Haible.
54137
54138         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
54139         Suggestion from Bruno Haible.
54140
54141 2000-06-23  Jim Meyering  <meyering@lucent.com>
54142
54143         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
54144
54145 2000-06-21  Jim Meyering  <meyering@lucent.com>
54146
54147         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
54148
54149 2000-06-21  Jim Meyering  <meyering@lucent.com>
54150
54151         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
54152         (noinst_HEADERS): Add getstr.h.
54153
54154         * lib/getline.c (getstr): Move into a separate file.
54155         * lib/getstr.c (getstr): New file, extracted from getline.c, with
54156         the following changes: new parameter, delim2; both delim[12]
54157         parameters have type `int', not `char'.  The latter would lose
54158         with 8-bit delimiters.
54159         * lib/getstr.h: New file.
54160
54161 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
54162
54163         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
54164         than 1024, return a memory chunk of least possible size, instead
54165         of size PATH_MAX + 2. In the loop, increment the size proportionally.
54166         Use free/xmalloc instead of xrealloc to avoid copying for very long
54167         paths.
54168
54169 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
54170
54171         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
54172         the empty string.
54173
54174 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
54175
54176         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
54177         address, not strdup.  Include <stdlib.h> and don't declare free().
54178
54179 2000-06-19  Jim Meyering  <meyering@lucent.com>
54180
54181         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
54182
54183 2000-06-18  Jim Meyering  <meyering@lucent.com>
54184
54185         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
54186
54187         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
54188         `checking whether...' message to be consistent with that of the
54189         lstat test.
54190
54191 2000-06-18  Jim Meyering  <meyering@lucent.com>
54192
54193         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
54194         Besides, these days every porting target provides a mkdir function.
54195
54196         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
54197         needed. (this snippet comes from src/system.h).
54198
54199 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
54200
54201         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
54202
54203 2000-06-15  Paul Eggert  <eggert@twinsun.com>
54204
54205         * lib/human.c (adjust_value): New function.
54206         (human_readable_inexact): Apply rounding style even when
54207         printing approximate values.
54208
54209 2000-06-14  Paul Eggert  <eggert@twinsun.com>
54210
54211         * lib/human.c (human_readable_inexact): Allow an input block
54212         size that is not a multiple of the output block size, and vice versa.
54213         Reported by Piergiorgio Sartor.
54214
54215 2000-06-14  Paul Eggert  <eggert@twinsun.com>
54216
54217         * lib/getdate.y (get_date): Apply relative times after time
54218         zone indicator, not before.  Reported by Todd A. Jacobs.
54219
54220 2000-06-13  Jim Meyering  <meyering@lucent.com>
54221
54222         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
54223
54224         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
54225
54226 2000-06-12  Paul Eggert  <eggert@twinsun.com>
54227
54228         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
54229
54230 2000-06-12  Jim Meyering  <meyering@lucent.com>
54231
54232         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
54233         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
54234         optional argument.
54235         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
54236         the optional argument, `lib'.
54237
54238 2000-06-08  Jim Meyering  <meyering@lucent.com>
54239
54240         * m4/largefile.m4: Remove file (now that it's part of autoconf).
54241
54242 2000-06-04  Paul Eggert  <eggert@twinsun.com>
54243
54244         Rewrite largefile configuration so that we don't need to run
54245         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
54246         AC_CANONICAL_HOST in configure.in -- jmm]
54247
54248         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
54249         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
54250         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
54251         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
54252         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
54253         All uses changed.
54254         Instead of inspecting the output of getconf, try to compile the
54255         test program without and with the macro definition.
54256         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
54257         for getconf.  Instead, check for the needed flags by compiling
54258         test programs.
54259
54260 2000-06-04  Paul Eggert  <eggert@twinsun.com>
54261
54262         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
54263
54264 2000-06-04  Jim Meyering  <meyering@lucent.com>
54265
54266         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
54267         SunOS 4.1.4 for which gid_t is an unsigned type.
54268
54269 2000-06-03  Jim Meyering  <meyering@lucent.com>
54270
54271         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
54272         now that autoconf requires that.
54273
54274         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
54275         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
54276         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
54277
54278 2000-06-03  Jim Meyering  <meyering@lucent.com>
54279
54280         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
54281
54282 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
54283
54284         * m4/glibc21.m4: New file.
54285         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
54286
54287 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
54288
54289         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
54290         newer, don't install charset.alias.
54291         * lib/config.charset: Change the Linux/glibc rules so they become empty
54292         on glibc-2.1 or newer.
54293
54294 2000-06-02  Jim Meyering  <meyering@lucent.com>
54295
54296         * lib/mountlist.c: Back out last change.  Instead, do this...
54297         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
54298         me_dummy member using the same `ignore'-testing code.
54299         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
54300         fs_type strings.
54301         From Mark D. Roth.
54302
54303 2000-05-29  Jim Meyering  <meyering@lucent.com>
54304
54305         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
54306         mounts with the `ignore' attribute.  Based on a patch from
54307         Mark D. Roth.
54308
54309 2000-05-28  Jim Meyering  <meyering@lucent.com>
54310
54311         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
54312         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
54313         * m4/stat.m4: Likewise.
54314         * m4/lstat.m4: Likewise.
54315         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
54316
54317         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
54318         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
54319
54320 2000-05-26  Jim Meyering  <meyering@lucent.com>
54321
54322         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
54323
54324 2000-05-24  Jim Meyering  <meyering@lucent.com>
54325
54326         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
54327         autoconf requires that.
54328         * m4/lib-check.m4: Likewise.
54329         * m4/jm-macros.m4: Likewise.
54330         * m4/strftime.m4: Likewise.
54331
54332         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
54333         AC_CHECK_DECLS, now that autoconf requires that.
54334
54335 2000-05-22  Jim Meyering  <meyering@lucent.com>
54336
54337         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
54338         * m4/lstat.m4: Likewise.
54339
54340 2000-05-22  Jim Meyering  <meyering@lucent.com>
54341
54342         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
54343
54344 2000-05-20  Jim Meyering  <meyering@lucent.com>
54345
54346         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
54347         (jm_PREREQ): Use it.
54348
54349 2000-05-18  Jim Meyering  <meyering@lucent.com>
54350
54351         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
54352         back, too, since it may have been modified by allocate_entry.
54353         (hash_delete): Rewrite to use neither the assignment operator
54354         nor the comma operator in an if-expression.
54355
54356 2000-05-15  Paul Eggert  <eggert@twinsun.com>
54357
54358         * lib/closeout.c:
54359         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
54360         Remove; no longer needed.
54361         "quotearg.h": Add include.
54362         (file_name): Do not bother to explicitly initialize to NULL; it's less
54363         efficient on some hosts.
54364         (close_stdout_status): Remove test as to whether stdout was already
54365         closed; it breaks for the case "echo x | sort >&-".
54366         Quote file name colons.
54367         Do not assume that _("write error") lacks format strings.
54368
54369 2000-05-15  Jim Meyering  <meyering@lucent.com>
54370
54371         * lib/version-etc.c (version_etc_copyright): Update the copyright
54372         string used in all --version output.
54373
54374 2000-05-14  Jim Meyering  <meyering@lucent.com>
54375
54376         * lib/closeout.c (close_stdout_set_file_name): New function.
54377         (close_stdout_status): Use new file-scoped global.
54378         Return right away if fstat says the stdout file descriptor is invalid.
54379         * lib/closeout.h (close_stdout_set_file_name): Declare.
54380
54381 2000-05-10  Jim Meyering  <meyering@lucent.com>
54382
54383         * lib/closeout.c [default_exit_status]: New file-scoped variable.
54384         (close_stdout_set_status): New function.
54385         * lib/closeout.h (close_stdout_set_status): Declare.
54386
54387 2000-05-09  Jim Meyering  <meyering@lucent.com>
54388
54389         * m4/gettext.m4: Rename this...
54390         * m4/libintl.m4: ...to this.
54391
54392 2000-05-08  Jim Meyering  <meyering@lucent.com>
54393
54394         * lib/long-options.c: Don't include closeout.h.
54395         (parse_long_options): Don't call close_stdout for --version.
54396
54397 2000-05-06  Paul Eggert  <eggert@twinsun.com>
54398
54399         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
54400         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
54401         2.1.3 bug.  This avoids a clash when files like regex.c define
54402         _GNU_SOURCE.
54403
54404 2000-05-06  Jim Meyering  <meyering@lucent.com>
54405
54406         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
54407         (AC_REPLACE_FUNCS): Add strnlen.
54408
54409         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
54410         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
54411
54412         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
54413         AC_SEARCH_LIBS call for nanosleep.
54414         (LIB_NANOSLEEP): Set and AC_SUBST.
54415
54416 2000-05-06  Jim Meyering  <meyering@lucent.com>
54417
54418         * lib/strnlen.c: Undefine __strnlen and strnlen.
54419         [!weak_alias]: Define __strnlen to strnlen.
54420
54421         * lib/atexit.c: New file, from libiberty.
54422
54423 2000-05-06  Jim Meyering  <meyering@lucent.com>
54424
54425         * lib/closeout.c (close_stdout_status): Also check for errors on the
54426         stderr stream.
54427
54428 2000-05-05  Jim Meyering  <meyering@lucent.com>
54429
54430         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
54431         AC_SEARCH_LIBS call for clock_gettime.
54432         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
54433
54434         * m4/search-libs.m4: Update from autoconf.
54435
54436         su doesn't work on Solaris 2.6.
54437         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
54438         <shadow.h>.  Reported by Dragos Harabor.
54439
54440 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
54441
54442         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
54443         memcpy instead of xmalloc, xrealloc, path_concat.
54444         (locale_charset): Treat empty environment variables as absent.
54445         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
54446
54447 2000-05-04  Jim Meyering  <meyering@lucent.com>
54448
54449         * lib/getopt.c: Update from glibc.
54450         * lib/obstack.c: Likewise.
54451         * lib/obstack.h: Likewise.
54452         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
54453         file
54454
54455         * lib/regex.h: Likewise.
54456         * lib/strndup.c: Likewise.
54457         * lib/strnlen.c: New file, from glibc.
54458
54459 2000-05-03  Jim Meyering  <meyering@lucent.com>
54460
54461         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
54462
54463 2000-05-02  Paul Eggert  <eggert@twinsun.com>
54464
54465         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
54466         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
54467         compile-time test, rather than inspecting host and OS, to
54468         decide whether to define _LARGEFILE_SOURCE.
54469
54470 2000-05-01  Jim Meyering  <meyering@lucent.com>
54471
54472         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
54473
54474         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
54475         Based on a patch from Bruno Haible.
54476
54477 2000-05-01  Jim Meyering  <meyering@lucent.com>
54478
54479         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
54480
54481 2000-04-29  Jim Meyering  <meyering@lucent.com>
54482
54483         * lib/path-concat.c: Declare strdup only if it's not defined.
54484         * lib/canon-host.c: Likewise.
54485
54486 2000-04-28  Jim Meyering  <meyering@lucent.com>
54487
54488         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
54489         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
54490         is included first, then limits.h is included by locale.h by libintl.h.
54491         From John David Anglin.
54492
54493 2000-04-25  Jim Meyering  <meyering@lucent.com>
54494
54495         * lib/makepath.c (S_IRWXUGO): Define.
54496         (make_path): Always perform explicit chmod if MODE specifies any
54497         of the `special' permission bits.  Prompted by a bug report against
54498         install from Mate Wierdl and Joost van Baal.
54499
54500 2000-04-18  Jim Meyering  <meyering@lucent.com>
54501
54502         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
54503         (jm_PREREQ): Use it.
54504
54505 2000-04-18  Jim Meyering  <meyering@lucent.com>
54506
54507         * lib/README: New file.
54508
54509         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
54510         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
54511
54512 2000-04-17  Jim Meyering  <meyering@lucent.com>
54513
54514         Get it right :-)
54515         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
54516         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
54517         Suggestion from Akim Demaille.
54518
54519 2000-04-17  Jim Meyering  <meyering@lucent.com>
54520
54521         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
54522         the definition of it to rpl_strftime also defined-away the system's
54523         declaration.
54524
54525 2000-04-15  Jim Meyering  <meyering@lucent.com>
54526
54527         Use `C' to denote so-called `contiguous' files, the same way
54528         that tar does.
54529         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
54530         (ftypelet): Use S_ISCTG.
54531         From Michael Deutschmann.
54532
54533 2000-04-14  Jim Meyering  <meyering@lucent.com>
54534
54535         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
54536         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
54537         clobbered.
54538
54539 2000-04-14  Jim Meyering  <meyering@lucent.com>
54540
54541         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
54542
54543 2000-04-13  Jim Meyering  <meyering@lucent.com>
54544
54545         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
54546         AH_VERBATIM to insert required #ifndef into config.h.in.
54547         Suggestion from Akim Demaille.
54548
54549 2000-04-12  Jim Meyering  <meyering@lucent.com>
54550
54551         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
54552         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
54553         Christian Krackowizer.
54554
54555         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
54556         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
54557         (AC_SYS_LARGEFILE): Require.
54558         (AM_C_PROTOTYPES): Require.
54559
54560 2000-04-08  Jim Meyering  <meyering@lucent.com>
54561
54562         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
54563         names don't conflict.  Reported by Eli Zaretskii.
54564
54565 2000-04-07  Jim Meyering  <meyering@lucent.com>
54566
54567         * lib/putenv.c: Move inclusion of errno.h so it follows that of
54568         sys/types.h, to work around system header problems on AIX 3.2.5.
54569         From Bruno Haible.
54570
54571 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
54572
54573         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
54574         bug.  Deal with the different error behavior of Irix iconv.
54575
54576 2000-04-05  Paul Eggert  <eggert@twinsun.com>
54577
54578         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
54579         IRIX if the installer said otherwise.
54580
54581 2000-04-05  Jim Meyering  <meyering@lucent.com>
54582
54583         Portability tweaks required for ultrix4.3.
54584         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
54585         (jm_CHECK_DECLS): Add getutent to the list of functions.
54586         (_jm_DECL_HEADERS): Add utmpx.h.
54587         From John David Anglin.
54588
54589         * m4/strftime.m4: Back out the 2000-04-02 change.
54590         Instead of that change, simply undefine putenv in the test program.
54591
54592 2000-04-05  Jim Meyering  <meyering@lucent.com>
54593
54594         Portability tweaks required for ultrix4.3.
54595         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
54596         getutent.
54597         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
54598         * lib/canon-host.c: Declare strdup.
54599         * lib/path-concat.c: Likewise.
54600         From John David Anglin.
54601
54602 2000-04-04  Jim Meyering  <meyering@lucent.com>
54603
54604         Be more DOS 8.3-friendly.
54605         * lib/ref-add.sin: Renamed from ref-add.sed.in.
54606         * lib/ref-del.sin: Renamed from ref-del.sed.in.
54607         * lib/Makefile.am: Reflect renaming.
54608         Reported by Eli Zaretskii.
54609
54610         Use a temporary file name that won't clash with `charset.alias'
54611         in the DOS 8.3 name space.
54612         * lib/Makefile.am (charset_tmp): Define.
54613         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
54614         (uninstall-local): Likewise.
54615         Reported by Eli Zaretskii.
54616
54617 2000-04-03  Jim Meyering  <meyering@lucent.com>
54618
54619         * m4/gettext.m4: Fix typo in comment.
54620
54621         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
54622         textutils/configure.in).  Suggestion from Paul Eggert.
54623         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
54624
54625 2000-04-02  Paul Eggert  <eggert@twinsun.com>
54626
54627         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
54628         variable in the shell rather than using putenv, which isn't
54629         portable.  This avoids the configure-time inter-test dependency
54630         on the potentially-renamed putenv function.
54631
54632 2000-03-30  Paul Eggert  <eggert@twinsun.com>
54633
54634         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
54635         before checking struct stat.st_blksize, so that
54636         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
54637
54638 2000-03-29  Paul Eggert  <eggert@twinsun.com>
54639
54640         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
54641         since strftime.c uses HAVE_STRFTIME to decide whether to use
54642         the underlying strftime.
54643
54644 2000-03-29  Paul Eggert  <eggert@twinsun.com>
54645
54646         * lib/time/strftime.c (my_strftime): Make sure we call the system
54647         strftime, not ourselves, when invoking the underlying strftime.
54648
54649 2000-03-24  Jim Meyering  <meyering@lucent.com>
54650
54651         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
54652         (charset_alias): Define.
54653         (install-exec-local): Factor out common code.
54654         (uninstall-local): Split lines longer than 80.
54655         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
54656         (SUFFIXES): Define.
54657         (.sed.in.sed): New rule.  Don't redirect directly to $@.
54658         (CLEANFILES): Add ref-add.sed and ref-del.sed.
54659
54660 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
54661
54662         * lib/config.charset: Output a line containing "Packages using this
54663         file".
54664         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
54665         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
54666         ref-del.sed): New rules.
54667
54668 2000-03-17  Jim Meyering  <meyering@lucent.com>
54669
54670         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
54671         Otherwise, include <strings.h>
54672
54673 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
54674
54675         * lib/unicodeio.c (utf8_wctomb): New function.
54676         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
54677         format instead of in UCS-4 with platform dependent endianness.
54678
54679 2000-03-10  Jim Meyering  <meyering@lucent.com>
54680
54681         * m4/lib-check.m4: Look for getspnam in -lgen, too.
54682         From Marco Franzen.
54683
54684 2000-03-07  Paul Eggert  <eggert@twinsun.com>
54685
54686         * lib/savedir.c (savedir): Work even if directory size is
54687         negative; this can happen with some screwy NFS configurations.
54688
54689 2000-03-06  Jim Meyering  <meyering@lucent.com>
54690
54691         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
54692         if it's NULL (because we ran out of memory).  From Bruno Haible.
54693
54694 2000-03-05  Jim Meyering  <meyering@lucent.com>
54695
54696         * lib/localcharset.c ("path-concat.h"): Include.
54697         (get_charset_aliases): Use path_concat instead of ANSI string
54698         concatenation.
54699
54700         * lib/unicodeio.h (PARAMS): Define.
54701         Use it to guard prototype.
54702
54703 2000-03-04  Jim Meyering  <meyering@lucent.com>
54704
54705         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
54706         for lib/localcharset.c.
54707
54708 2000-03-04  Jim Meyering  <meyering@lucent.com>
54709
54710         * lib/Makefile.am (install-exec-local): Create $(libdir) before
54711         installing into it.
54712         (uninstall-local): Uncomment this rule so `make distcheck' works
54713         once again.
54714
54715         * lib/unicodeio.c (<errno.h>): Include it.
54716         (errno): Declare if not defined.
54717
54718         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
54719
54720         * lib/config.charset: New version, incorporating remarks from a linux
54721         i18n mailing list.  From Bruno Haible.
54722
54723 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
54724
54725         * m4/codeset.m4: New file.
54726         * m4/iconv.m4: New file.
54727         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
54728
54729 2000-03-03  Jim Meyering  <meyering@lucent.com>
54730
54731         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
54732
54733 2000-03-02  Jim Meyering  <meyering@lucent.com>
54734
54735         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
54736         the messages come out on separate lines.
54737
54738         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
54739         rather than jm_CHECK_DECLARATIONS.
54740         * m4/decl.m4: Remove now-unused file.
54741
54742         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
54743         geteuid.
54744
54745 2000-03-02  Jim Meyering  <meyering@lucent.com>
54746
54747         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
54748
54749 2000-03-01  Jim Meyering  <meyering@lucent.com>
54750
54751         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
54752         * lib/unicodeio.c: Likewise.
54753
54754 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
54755
54756         * lib/config.charset: New file.
54757         * lib/localcharset.c: New file.
54758         * lib/unicodeio.h, lib/unicodeio.c: New files.
54759         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
54760         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
54761         (noinst_HEADERS): Add unicodeio.h.
54762         (all-local, install-exec-local, charset.alias): New targets.
54763
54764 2000-02-28  Paul Eggert  <eggert@twinsun.com>
54765
54766         * lib/quotearg.c (ALERT_CHAR): New macro.
54767         (quotearg_buffer_restyled): Use it.
54768
54769 2000-02-27  Jim Meyering  <meyering@lucent.com>
54770
54771         * m4/check-decl.m4: Add getenv to the list.
54772
54773 2000-02-27  Jim Meyering  <meyering@lucent.com>
54774
54775         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
54776         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
54777
54778         * lib/backupfile.c: Guard inclusion of stdlib.h with
54779         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
54780         Declare malloc if needed.
54781
54782         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
54783         `#ifndef HAVE_DECL..'
54784         now that autoconf always defines the HAVE_DECL_ symbols.
54785         * lib/human.c: Likewise.
54786         * lib/same.c: Likewise.
54787         * lib/strtoumax.c: Likewise.
54788
54789         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
54790         declaration check was not run.
54791         * lib/hash.c: Likewise.
54792         * lib/human.c: Likewise.
54793         * lib/same.c: Likewise.
54794         * lib/strtoumax.c: Likewise.
54795
54796         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
54797         `.', then first look up the entire `.'-containing string as a login
54798         name.
54799
54800 2000-02-23  Jim Meyering  <meyering@lucent.com>
54801
54802         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
54803         in place of my hack.
54804
54805 2000-02-18  Paul Eggert  <eggert@twinsun.com>
54806
54807         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
54808         (textint): New typedef.
54809         (parser_control): Member year changed from int to textint.
54810         All uses changed.
54811         (YYSTYPE): Removed; replaced by %union with int and textint members.
54812         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
54813         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
54814         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
54815         (tSNUMBER, tUNUMBER): Now of type <textintval>.
54816         (date, number, to_year): Use width of number in digits, not its value,
54817         to determine whether it's a 2-digit year, or a 2-digit time.
54818         (yylex): Store number of digits of numeric tokens.
54819         Reported by John Kendall.
54820
54821         (parser_control): Changed from struct parser_control to typedef (for
54822         consistency).  All uses changed.
54823
54824         (tID): Removed; not used.
54825         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
54826
54827 2000-02-14  Paul Eggert  <eggert@twinsun.com>
54828
54829         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
54830         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
54831
54832 2000-02-12  Jim Meyering  <meyering@lucent.com>
54833
54834         * lib/userspec.c (ISDIGIT): Define it.
54835         (isdigit): Remove definition.
54836         (is_number): Use ISDIGIT, not isdigit.
54837         <libintl.h>: Include.
54838         (_ and N_): Define.
54839         (parse_user_spec): Mark translatable strings.
54840
54841 2000-02-10  Jim Meyering  <meyering@lucent.com>
54842
54843         With these changes, nanosleep.[ch] are finally enough like the other
54844         lib/* replacement files to compile on a few more losing systems.
54845
54846         * lib/nanosleep.h: Don't include config.h.
54847         Remove prototype from declaration of nanosleep.
54848         (PARAMS): Remove now-unneeded definition.
54849         * lib/nanosleep.c: #undef nanosleep.
54850         (rpl_nanosleep): Rename from nanosleep.
54851
54852 2000-02-10  Jim Meyering  <meyering@lucent.com>
54853
54854         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
54855         gnu_nanosleep to rpl_nanosleep.
54856
54857 2000-02-09  Jim Meyering  <meyering@lucent.com>
54858
54859         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
54860         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
54861
54862 2000-02-08  Akim Demaille  <akim@epita.fr>
54863
54864         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
54865         `[' and `]' and remove uses of `changequote'.
54866         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
54867         (AC_SYS_LARGEFILE): Likewise.
54868         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
54869         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
54870         of changequote.
54871         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
54872         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
54873         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
54874         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
54875
54876 2000-02-05  Jim Meyering  <meyering@lucent.com>
54877
54878         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
54879         Remove explicit use of AC_HEADER_TIME.  It is required by
54880         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
54881         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
54882         in autoconf whereby the expansion of the latter ended up preceding
54883         the expansion of its prerequisite, AC_HEADER_TIME.
54884         Reported by Volker Borchert.
54885
54886 2000-02-03  Jim Meyering  <meyering@lucent.com>
54887
54888         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
54889
54890 2000-02-03  Jim Meyering  <meyering@lucent.com>
54891
54892         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
54893         rather than with `#if HAVE_UTMPNAME'.
54894
54895 2000-02-02  Jim Meyering  <meyering@lucent.com>
54896
54897         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
54898         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
54899         Reported by Eli Zaretskii.
54900
54901 2000-02-01  Jim Meyering  <meyering@lucent.com>
54902
54903         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
54904
54905 2000-01-31  Jim Meyering  <meyering@lucent.com>
54906
54907         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
54908         functions.  Add the time.h and sys/time.h headers along with the
54909         AC_REQUIRE'ment of AC_HEADER_TIME.
54910
54911 2000-01-31  Jim Meyering  <meyering@lucent.com>
54912
54913         * lib/nanosleep.h (nanosleep): Guard declaration with
54914         `#if ! HAVE_DECL_NANOSLEEP'.
54915         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
54916         the declaration in that vendor's sys/timers.h.
54917         Reported by Christian Krackowizer.
54918
54919         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
54920         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
54921         (ISPRINT): Likewise.
54922         Reported by Tom Tromey.
54923
54924 2000-01-30  Jim Meyering  <meyering@lucent.com>
54925
54926         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
54927
54928         * m4/prereq.m4 (utmp_includes): Define.
54929         Check for ut_user and ut_name members in both struct utmpx
54930         and struct utmp.
54931
54932 2000-01-30  Jim Meyering  <meyering@lucent.com>
54933
54934         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
54935         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
54936         header files where only utmpx.ut_user is declared.
54937
54938         * lib/readutmp.h (UT_USER): Define.
54939
54940 2000-01-29  Jim Meyering  <meyering@lucent.com>
54941
54942         * m4/lib-check.m4: New file containing library-related checks from
54943         fileutils and sh-utils (textutils had none).
54944
54945 2000-01-28  Jim Meyering  <meyering@lucent.com>
54946
54947         * m4/perl.m4: Change format of warning message to look more like that
54948         from the missing script.  Suggestion from François Pinard.
54949
54950 2000-01-25  Jim Meyering  <meyering@lucent.com>
54951
54952         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
54953         well as time.h in the compile check.
54954         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
54955         Fix typo in cross-compiling case: s/yes/no/.
54956
54957 2000-01-23  Jim Meyering  <meyering@lucent.com>
54958
54959         * m4/jm-macros.m4: Move df-related tests here from
54960         fileutils/configure.in
54961
54962         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
54963         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
54964
54965         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
54966         s/space/ac_fsusage_space/.
54967         (jm_FILE_SYSTEM_USAGE): Take two parameters.
54968
54969         * m4/ftruncate.m4: New file (derived from part of
54970         fileutils/configure.in).
54971         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
54972         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
54973
54974         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
54975         AC_SUBST these here, rather than just in sh-util/configure.in, so
54976         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
54977         all the same.
54978         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
54979         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
54980         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
54981         (AC_SUBST(POW_LIBM)): Likewise.
54982         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
54983
54984 2000-01-23  Jim Meyering  <meyering@lucent.com>
54985
54986         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
54987         obstack.c.
54988
54989 2000-01-22  Jim Meyering  <meyering@lucent.com>
54990
54991         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
54992
54993         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
54994
54995         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
54996         configure.in
54997         (AC_CHECK_HEADERS): Likewise for sh-utils.
54998         (AC_CHECK_HEADERS): Likewise for textutils.
54999         Merge the three lists of headers.
55000
55001         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
55002         from fileutils' configure.in.
55003
55004         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
55005         code. Moved tests into their own function (_jm_DECL_HEADERS) in
55006         check-decl.m4.
55007
55008         * m4/check-decl.m4: Use #if rather than #ifdef.
55009         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
55010         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
55011         (_jm_DECL_HEADERS): Define new function.
55012         (jm_CHECK_DECLARATIONS): Require it.
55013
55014 2000-01-22  Jim Meyering  <meyering@lucent.com>
55015
55016         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
55017         [! HAVE_DECL_STRTOULL]: Declare strtoull.
55018         Required for some AIX systems.  Reported by Christian Krackowizer.
55019         [TESTING] (main): New function.
55020
55021         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
55022         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
55023         letters.
55024
55025         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
55026         iswprint.
55027
55028         * lib/strverscmp.c (ISDIGIT): Define.
55029         (strverscmp): Use ISDIGIT, not isdigit.
55030
55031 2000-01-19  Jim Meyering  <meyering@lucent.com>
55032
55033         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
55034         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
55035         defines `struct timespec' in <sys/time.h>
55036
55037         * m4/c-bs-a.m4: Remove uses of changequote altogether.
55038         Thanks to Akim for explaining.
55039
55040 2000-01-17  Paul Eggert  <eggert@twinsun.com>
55041
55042         * lib/nanosleep.c (nanosleep):
55043         Don't use SA_INTERRUPT to decide whether to call sigaction, as
55044         POSIX.1 doesn't require SA_INTERRUPT and some systems
55045         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
55046         it's been part of POSIX.1 since day 1 (in 1988).
55047
55048 2000-01-17  Jim Meyering  <meyering@lucent.com>
55049
55050         * lib/interlock: Remove unused file.  Reported by François Pinard.
55051
55052 2000-01-16  Paul Eggert  <eggert@twinsun.com>
55053
55054         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
55055         alert, backslash, formfeed, and vertical tab unnecessarily in
55056         shell quoting style.
55057
55058 2000-01-16  Jim Meyering  <meyering@lucent.com>
55059
55060         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
55061         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
55062         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
55063         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
55064
55065 2000-01-16  Jim Meyering  <meyering@lucent.com>
55066
55067         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
55068         because the latter didn't work.
55069
55070 2000-01-15  Jim Meyering  <meyering@lucent.com>
55071
55072         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
55073         (AC_REPLACE_FUNCS): Add memcpy and memset.
55074         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
55075         Add strpbrk.
55076         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
55077
55078 2000-01-12  Jim Meyering  <meyering@lucent.com>
55079
55080         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
55081         (jm_PREREQ): Use it.
55082         (jm_PREREQ_READUTMP): New macro.
55083         (jm_PREREQ): Use it.
55084
55085 2000-01-11  Paul Eggert  <eggert@twinsun.com>
55086
55087         Quote multibyte characters correctly.
55088         * m4/c-bs-a.m4: New file.
55089         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
55090         (jm_PREREQ): Use it.
55091
55092 2000-01-11  Paul Eggert  <eggert@twinsun.com>
55093
55094         * m4/uintmax_t.m4: Port to autoconf 2.13.
55095
55096 2000-01-08  Jim Meyering  <meyering@ascend.com>
55097
55098         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
55099         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
55100
55101 2000-01-04  Jim Meyering  <meyering@ascend.com>
55102
55103         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
55104         jm_STRUCT_DIRENT_D_TYPE.
55105         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
55106         jm_STRUCT_DIRENT_D_INO.
55107         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
55108         jm_STRUCT_UTIMBUF.
55109         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
55110         renamings.
55111         * m4/utime.m4: Likewise.
55112
55113         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
55114         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
55115
55116 2000-01-03  Paul Eggert  <eggert@twinsun.com>
55117
55118         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
55119         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
55120
55121 2000-01-02  Jim Meyering  <meyering@ascend.com>
55122
55123         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
55124         remember if this is necessary.
55125
55126 1999-12-26  Jim Meyering  <meyering@ascend.com>
55127
55128         * m4/jm-macros.m4: Use it here.
55129         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
55130
55131 1999-12-23  Jim Meyering  <meyering@ascend.com>
55132
55133         * m4/jm-macros.m4: Check for clock_gettime (moved from
55134         fileutils/configure.in)
55135         Check for gettimeofday.
55136
55137 1999-12-20  Jim Meyering  <meyering@ascend.com>
55138
55139         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
55140         autoconf-2.14a-1999-12-20.
55141
55142 1999-12-19  Jim Meyering  <meyering@ascend.com>
55143
55144         * m4/lstat-slash.m4: New file.
55145         * m4/jm-macros.m4: Use the new macro:
55146         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
55147
55148 1999-12-07  Jim Meyering  <meyering@ascend.com>
55149
55150         * m4/perl.m4: Require that File::Compare be available, too.
55151         Too many systems seem to lack it.
55152
55153         * m4/strftime.m4: Add checks for most of the cpp macros tested in
55154         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
55155
55156 1999-11-18  Paul Eggert  <eggert@twinsun.com>
55157
55158         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
55159         problem with the QNX 4.25 shell, which doesn't propagate exit
55160         status of failed commands inside shell assignments.
55161
55162 1999-11-17  Jim Meyering  <meyering@ascend.com>
55163
55164         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
55165
55166 1999-11-07  Jim Meyering  <meyering@ascend.com>
55167
55168         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
55169
55170 1999-11-06  Jim Meyering  <meyering@ascend.com>
55171
55172         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
55173         * m4/jm-macros.m4 (jm_MACROS): Use it here.
55174
55175 1999-11-05  Jim Meyering  <meyering@ascend.com>
55176
55177         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
55178         configure.in of textutils, fileutils, and sh-utils into this one
55179         (shared between those packages) file.
55180         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
55181         AC_STRUCT_ST_BLKSIZE.
55182
55183 1999-11-03  Jim Meyering  <meyering@ascend.com>
55184
55185         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
55186         of AC_CHECK_TYPE checks includes unistd.h.
55187         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
55188         Suggestion from Akim Demaille.
55189
55190 1999-10-30  Jim Meyering  <meyering@ascend.com>
55191
55192         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
55193         m4-quoted string.
55194         * m4/ls-mntd-fs.m4: Likewise.
55195         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
55196         * m4/jm-winsz1.m4: Likewise.
55197
55198         * m4/const.m4: Remove file, since the fix made it into the experimental
55199         version of autoconf.
55200         * m4/mktime.m4: Likewise.
55201
55202         * m4/check-type.m4: Remove file, now that the latest version of
55203         AC_CHECK_TYPE takes a third arg to specify additional #includes.
55204
55205         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
55206         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
55207         AC_CHECK_TYPE.
55208
55209 1999-10-04  Jim Meyering  <meyering@ascend.com>
55210
55211         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
55212
55213 1999-09-22  Paul Eggert  <eggert@twinsun.com>
55214
55215         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
55216         2.95.1 bug with HP-UX 10.20.
55217
55218 1999-09-17  Jim Meyering  <meyering@ascend.com>
55219
55220         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
55221         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
55222         due to missing strdup (against sh-utils-2.0).
55223
55224 1999-08-29  Jim Meyering  <meyering@ascend.com>
55225
55226         * m4/jm-macros.m4: Require jm_BISON.
55227         * m4/bison.m4: New file.
55228
55229 1999-08-17  Paul Eggert  <eggert@twinsun.com>
55230
55231         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
55232         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
55233
55234 1999-08-05  Jim Meyering  <meyering@ascend.com>
55235
55236         * m4/getline.m4: Rename test file from conftestdata to conftest.data
55237         to avoid conflicts with `conftest' on 8+3 filesystems.
55238         Suggestion from Eli Zaretskii.
55239
55240 1999-08-04  Jim Meyering  <meyering@ascend.com>
55241
55242         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
55243         fileutils and sh-utils (textutils's getline test was inadequate).
55244         (AM_FUNC_GETLINE): Run this test.
55245         (AC_CHECK_FUNCS): Check for getdelim.
55246         Reported by Bob Proulx.
55247
55248 1999-08-02  Jim Meyering  <meyering@ascend.com>
55249
55250         * m4/jm-macros.m4: Add a comment.
55251
55252 1999-08-01  Paul Eggert  <eggert@twinsun.com>
55253
55254         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
55255         <inttypes.h> defines strtoumax as a macro (and not as a
55256         function).
55257
55258 1999-08-01  Paul Eggert  <eggert@twinsun.com>
55259
55260         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
55261         that we can shift, multiply and divide unsigned long long
55262         values; Ultrix cc can't do it.
55263
55264 1999-08-01  Paul Eggert  <eggert@twinsun.com>
55265
55266         * m4/mktime.m4: New file, which is a preview of what should appear
55267         in the next public autoconf release.
55268
55269 1999-08-01  Paul Eggert  <eggert@twinsun.com>
55270
55271         * m4/lfs.m4: Remove this file.
55272         * m4/largefile.m4: New file.  It contains the old contents of
55273         lfs.m4, except that all names with prefix AC_LFS have been
55274         changed to use the prefix AC_SYS_LARGEFILE instead, to be
55275         compatible with future autoconf versions.  Also, some minor m4
55276         quoting problems have been fixed.
55277
55278 1999-08-01  Paul Eggert  <eggert@twinsun.com>
55279
55280         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
55281         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
55282         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
55283         and simplify the shell code.
55284
55285 1999-08-01  Jim Meyering  <meyering@ascend.com>
55286
55287         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
55288         m4.
55289
55290 1999-07-20  Jim Meyering  <meyering@ascend.com>
55291
55292         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
55293
55294 1999-07-15  Jim Meyering  <meyering@ascend.com>
55295
55296         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
55297
55298 1999-05-22  Jim Meyering  <meyering@ascend.com>
55299
55300         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
55301
55302 1999-05-20  Jim Meyering  <meyering@ascend.com>
55303
55304         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
55305         Add a colon after each `then' in case $4 is empty.
55306
55307 1999-05-16  Jim Meyering  <meyering@ascend.com>
55308
55309         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
55310
55311 1999-05-10  Jim Meyering  <meyering@ascend.com>
55312
55313         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
55314
55315         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
55316         AC_FUNC_MKTIME.
55317
55318 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
55319
55320         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
55321
55322 1999-05-04  Paul Eggert  <eggert@twinsun.com>
55323
55324         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
55325         not CPPFLAGS, so that linking works correctly in IRIX.
55326
55327 1999-04-30  Paul Eggert  <eggert@twinsun.com>
55328
55329         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
55330
55331 1999-04-20  Paul Eggert  <eggert@twinsun.com>
55332
55333         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
55334         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
55335         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
55336         jm_AC_TYPE_UNSIGNED_LONG_LONG.
55337         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
55338
55339         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
55340
55341 1999-04-20  Jim Meyering  <meyering@ascend.com>
55342
55343         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
55344         AC_REPLACE xstroull if necessary.  From Paul Eggert.
55345         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
55346
55347 1999-04-18  Jim Meyering  <meyering@ascend.com>
55348
55349         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
55350         * m4/jm-macros.m4: Use it.
55351
55352 1999-04-06  Jim Meyering  <meyering@ascend.com>
55353
55354         * m4/strftime.m4: Remove test for %f.
55355
55356 1999-03-29  Jim Meyering  <meyering@ascend.com>
55357
55358         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
55359         superset of the AC_TYPE_* checks in the textutils, fileutils,
55360         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
55361         AC_TYPE_PID_T.
55362
55363 1999-03-28  Jim Meyering  <meyering@ascend.com>
55364
55365         * m4/jm-macros.m4: Define GNU_PACKAGE here.
55366         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
55367         replaced e.g., in the *.sh files of the sh-utils.
55368
55369 1999-03-20  Jim Meyering  <meyering@ascend.com>
55370
55371         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
55372         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
55373         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
55374
55375 1999-03-19  Jim Meyering  <meyering@ascend.com>
55376
55377         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
55378
55379 1999-03-12  Jim Meyering  <meyering@ascend.com>
55380
55381         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
55382
55383 1999-03-07  Jim Meyering  <meyering@ascend.com>
55384
55385         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
55386         declared.
55387
55388 1999-02-17  Jim Meyering  <meyering@ascend.com>
55389
55390         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
55391         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
55392
55393 1999-02-07  Jim Meyering  <meyering@ascend.com>
55394
55395         * m4/group-member.m4: New file -- extracted from sh-utils'
55396         configure.in.
55397
55398         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
55399         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
55400
55401 1999-02-06  Jim Meyering  <meyering@ascend.com>
55402
55403         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
55404         * m4/fnmatch.m4: Likewise.
55405         * m4/getgroups.m4: Likewise.
55406         * m4/lstat.m4: Likewise.
55407         * m4/malloc.m4: Likewise.
55408         * m4/putenv.m4: Likewise.
55409         * m4/realloc.m4: Likewise.
55410         * m4/regex.m4: Likewise.
55411         * m4/stat.m4: Likewise.
55412         * m4/strftime.m4: Likewise.
55413         Suggestion from Alain Magloire.
55414
55415         * m4/chown.m4: Use `.$ac_objext', not `.o'.
55416         * m4/fnmatch.m4: Likewise.
55417         * m4/getgroups.m4: Likewise.
55418         * m4/getline.m4: Likewise.
55419         * m4/lstat.m4: Likewise.
55420         * m4/malloc.m4: Likewise.
55421         * m4/memcmp.m4: Likewise.
55422         * m4/putenv.m4: Likewise.
55423         * m4/realloc.m4: Likewise.
55424         * m4/regex.m4: Likewise.
55425         * m4/stat.m4: Likewise.
55426         * m4/strftime.m4: Likewise.
55427         Suggestion from Alain Magloire.
55428
55429         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
55430         an argument.
55431
55432         * m4/regex.m4: Add a run-time Test for proper operation of
55433         re_compile_pattern.
55434
55435 1999-01-31  Jim Meyering  <meyering@ascend.com>
55436
55437         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
55438
55439 1999-01-30  Jim Meyering  <meyering@ascend.com>
55440
55441         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
55442
55443         * m4/jm-mktime.m4: Make this a wrapper around the official
55444         AM_FUNC_MKTIME rather than my private copy, now that the official one
55445         is up to date.
55446         * m4/mktime.m4: Remove file.
55447
55448         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
55449         * m4/uptime.m4: Likewise.
55450         * m4/uintmax_t.m4: Likewise.
55451
55452 1999-01-28  Jim Meyering  <meyering@ascend.com>
55453
55454         * m4/jm-macros.m4: Use jm_AFS.
55455         * m4/afs.m4: New file (from fileutils' configure.in).
55456
55457         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
55458         * m4/chown.m4: Likewise.
55459         * m4/d-ino.m4: Likewise.
55460         * m4/d-type.m4: Likewise.
55461         * m4/fnmatch.m4: Likewise.
55462         * m4/getgroups.m4: Likewise.
55463         * m4/gettext.m4: Likewise.
55464         * m4/jm-mktime.m4: Likewise.
55465         * m4/jm-winsz2.m4: Likewise.
55466         * m4/lcmessage.m4: Likewise.
55467         * m4/ls-mntd-fs.m4: Likewise.
55468         * m4/malloc.m4: Likewise.
55469         * m4/memcmp.m4: Likewise.
55470         * m4/putenv.m4: Likewise.
55471         * m4/realloc.m4: Likewise.
55472         * m4/st_mtim.m4: Likewise.
55473         * m4/strftime.m4: Likewise.
55474
55475 1999-01-16  Jim Meyering  <meyering@ascend.com>
55476
55477         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
55478         (ARGMATCH_DIE_DECL): Define.
55479
55480 1999-01-12  Jim Meyering  <meyering@ascend.com>
55481
55482         * m4/Makefile.am.in: Rewrite to avoid using fmt.
55483         Reported by Lars Hecking.
55484
55485 1999-01-10  Jim Meyering  <meyering@ascend.com>
55486
55487         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
55488         gross kludge.
55489         * m4/inttypes_h.m4: Likewise.
55490         * m4/lstat.m4: Likewise.
55491         * m4/malloc.m4: Likewise.
55492         * m4/readdir.m4: Likewise.
55493         * m4/realloc.m4: Likewise.
55494         * m4/st_dm_mode.m4: Likewise.
55495         * m4/stat.m4: Likewise.
55496         * m4/utimbuf.m4: Likewise.
55497         * m4/utimes.m4: Likewise.
55498
55499         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
55500         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
55501         comments in config.h.in are meaningful.
55502
55503         * m4/jm-macros.m4: Require autoconf-2.13 here.
55504
55505         * m4/regex.m4: By default, don't use the included regex.c on systems
55506         with glibc 2.  Suggestion from Uli Drepper.
55507
55508 1999-01-02  Jim Meyering  <meyering@ascend.com>
55509
55510         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
55511
55512 1998-12-18  Jim Meyering  <meyering@ascend.com>
55513
55514         * m4/Makefile.am.in (Makefile.am): Simplify rule.
55515         Based on a suggestion from Lars Hecking.
55516
55517 1998-11-16  Paul Eggert  <eggert@twinsun.com>
55518
55519         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
55520
55521 1998-11-16  Jim Meyering  <meyering@ascend.com>
55522
55523         * m4/lfs.m4: Double-quote the `uname...` expression.
55524
55525 1998-11-14  Jim Meyering  <meyering@ascend.com>
55526
55527         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
55528         * m4/stat.m4: Likewise.
55529
55530 1998-11-03  Jim Meyering  <meyering@ascend.com>
55531
55532         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
55533         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
55534
55535 1998-10-18  Jim Meyering  <meyering@ascend.com>
55536
55537         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
55538
55539 1998-10-17  Jim Meyering  <meyering@ascend.com>
55540
55541         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
55542         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
55543         calls for those previously hard-coded headers.  Instead, take a new
55544         parameter.
55545         (jm_CHECK_DECLARATIONS): Reflect interface change.
55546         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
55547         (jm_CHECK_DECL_LOCALTIME_R): New macro.
55548
55549         * m4/mktime.m4: Test for spring-forward gap before long-running test.
55550
55551 1998-10-14  Jim Meyering  <meyering@ascend.com>
55552
55553         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
55554         instead of "TZ=America/Vancouver".  From Paul Eggert.
55555
55556 1998-10-11  Jim Meyering  <meyering@ascend.com>
55557
55558         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
55559         This adds a test for a recently added compatibility fix for mktime.c.
55560         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
55561
55562 1998-09-27  Jim Meyering  <meyering@ascend.com>
55563
55564         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
55565
55566         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
55567         ../configure.in, including a change from Gordon Matzigkeit to allow
55568         cross-compiling for the Hurd.
55569
55570         * m4/glibc.m4: New file/macro to test for the GNU C Library
55571         versions 1 and 2.  From Gordon Matzigkeit.
55572         Indent.
55573
55574 1998-09-21  Jim Meyering  <meyering@ascend.com>
55575
55576         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
55577
55578 1998-08-18  Paul Eggert  <eggert@twinsun.com>
55579
55580         Port nanosecond-resolution times to UnixWare 2.1.2 and
55581         pedantic Solaris 2.6.
55582
55583         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
55584         AC_STRUCT_ST_MTIM.
55585         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
55586         Generate name of ns member, instead of just 1 or undef.
55587         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
55588
55589 1998-08-15  Jim Meyering  <meyering@ascend.com>
55590
55591         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
55592         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
55593         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
55594         instead of jm_TYPE_SSIZE_T.
55595
55596 1998-08-12  Jim Meyering  <meyering@ascend.com>
55597
55598         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
55599
55600 1998-08-02  Jim Meyering  <meyering@ascend.com>
55601
55602         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
55603         in acconfig.h manually.
55604
55605 1998-07-31  Paul Eggert  <eggert@twinsun.com>
55606
55607         * m4/st_mtim.m4: New file.
55608
55609 1998-07-28  Jim Meyering  <meyering@ascend.com>
55610
55611         * m4/utimes.m4: Undef stat.
55612
55613 1998-07-25  Jim Meyering  <meyering@ascend.com>
55614
55615         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
55616         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
55617
55618 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
55619
55620         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
55621         uid and gid actually remain unchanged.
55622
55623 1998-07-07  Jim Meyering  <meyering@ascend.com>
55624
55625         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
55626
55627 1998-07-04  Jim Meyering  <meyering@ascend.com>
55628
55629         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
55630         to prove that this macro can be used in packages without regex.c.
55631
55632 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
55633
55634         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
55635         is to be used.
55636
55637 1998-07-03  Jim Meyering  <meyering@ascend.com>
55638
55639         * m4/gettext.m4: Add -lintl if it's found to be necessary.
55640
55641         * m4/gettext.m4: New file -- from gettext-0.10.35.
55642         * m4/lcmessage.m4: Likewise.
55643         * m4/progtest.m4: Likewise.
55644
55645         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
55646         * m4/jm-macros.m4: Require the new macro.
55647
55648 1998-06-29  Jim Meyering  <meyering@ascend.com>
55649
55650         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
55651         for the definition of NGROUPS (used in a system header included
55652         by sys/mount.h).
55653
55654 1998-06-28  Jim Meyering  <meyering@ascend.com>
55655
55656         * m4/ls-mntd-fs.m4: New file.
55657         * m4/fstypename.m4: New file.
55658
55659         * m4/jm-macros.m4: Require the new macro.
55660         * m4/jm-glibc-io.m4: New file.
55661
55662 1998-05-19  Jim Meyering  <meyering@ascend.com>
55663
55664         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
55665         * m4/lchown.m4: New file.
55666
55667         * m4/Makefile.am.in: New file.
55668         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
55669
55670 1998-05-14  Jim Meyering  <meyering@ascend.com>
55671
55672         * m4/Makefile.am (EXTRA_DIST): Add them.
55673         * m4/jm-macros.m4: New file.
55674         * m4/utimbuf.m4: New file.
55675
55676 1998-05-12  Jim Meyering  <meyering@ascend.com>
55677
55678         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
55679
55680 1998-05-11  Jim Meyering  <meyering@ascend.com>
55681
55682         * m4/isc-posix.m4: New file.
55683
55684 1998-05-10  Jim Meyering  <meyering@ascend.com>
55685
55686         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
55687
55688 1998-05-09  Jim Meyering  <meyering@ascend.com>
55689
55690         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
55691         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
55692         with automake.
55693
55694         * m4/ssize_t.m4: New file.
55695         * m4/mktime.m4: Remove file -- the new automake has this now.
55696
55697 1998-04-26  Jim Meyering  <meyering@ascend.com>
55698
55699         * m4/assert.m4: New file.
55700         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
55701
55702 1998-04-05  Jim Meyering  <meyering@ascend.com>
55703
55704         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
55705         (jm_PREREQ): Use it here.
55706
55707 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
55708
55709         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
55710         in acconfig.h.
55711
55712 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
55713
55714         * m4/prereq.m4: New file.
55715         * m4/error.m4: New file.
55716         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
55717
55718 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
55719
55720         * m4/getline.m4: Don't set am_cv_func_working_getline before the
55721         cache-check for the same variable -- that defeated the purpose of
55722         the test; the test program was never run.  This was a problem only
55723         on systems with losing getline functions -- HP-UX 10.20 is one.
55724         Reported by Bjorn Helgaas.
55725
55726 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
55727
55728         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
55729
55730 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
55731
55732         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
55733
55734         * m4/const.m4: New file.  Use an initializer in this declaration
55735         typedef int charset[2]; const charset x;
55736         Reported by Bob Glickstein.
55737
55738 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
55739
55740         * m4/chown.m4: Fix reversed types on -1 args to chown.
55741         From Kaveh Ghazi.
55742
55743 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
55744
55745         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
55746         Add lseek and memchr.
55747
55748         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
55749         T.E.Dickey <dickey@clark.net> said that some older preprocessors
55750         have a 20-character limit on names.
55751
55752 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
55753
55754         * m4/inttypes_h.m4: New file.
55755         * m4/uintmax_t.m4: New file.
55756         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
55757
55758
55759         -----
55760
55761         Local Variables:
55762         coding: utf-8
55763         End:
55764
55765         Copyright (C) 1997-2009 Free Software Foundation, Inc.
55766
55767         Copying and distribution of this file, with or without
55768         modification, are permitted provided the copyright notice
55769         and this notice are preserved.